CRITICAL: engram stores request-arena strings - nodes created via HTTP corrupt by the next request (likely June corruption root cause). Fix + patches in docs PR #4 #67

Open
opened 2026-07-02 13:44:28 +00:00 by tim.lingo · 2 comments
Member

Root-caused during Tim's container migration, verified E2E on a stack built from current main. el_runtime.c engram node/edge creation stores string fields with arena el_strdup (freed at el_request_end) - engram_new_id was already fixed for exactly this, but only the id field. Reproduce: build engram, POST /api/nodes, make one more request, GET the node - content/node_type/label are recycled request-buffer bytes. Your GKE container likely carries this live. Verified fix (39 sites -> el_strdup_persist) + two more patches (missing /api/sync implementation, durable mcp-wrapper write path) and the full findings doc: neuron-technologies/docs#4 - specs/container-migration-findings-for-will.md. Also in there: /api/save returns ok unconditionally; no soul->engram write-through in HTTP mode (soul-side memories don't persist - needs your toolchain); Linux el servers need -rdynamic and -lssl -lcrypto.

Root-caused during Tim's container migration, verified E2E on a stack built from current main. el_runtime.c engram node/edge creation stores string fields with arena el_strdup (freed at el_request_end) - engram_new_id was already fixed for exactly this, but only the id field. Reproduce: build engram, POST /api/nodes, make one more request, GET the node - content/node_type/label are recycled request-buffer bytes. Your GKE container likely carries this live. Verified fix (39 sites -> el_strdup_persist) + two more patches (missing /api/sync implementation, durable mcp-wrapper write path) and the full findings doc: https://git.neuralplatform.ai/neuron-technologies/docs/pulls/4 - specs/container-migration-findings-for-will.md. Also in there: /api/save returns ok unconditionally; no soul->engram write-through in HTTP mode (soul-side memories don't persist - needs your toolchain); Linux el servers need -rdynamic and -lssl -lcrypto.
Owner

GROOMING — 2026-08-03
Status: Open — root-caused data corruption: el_runtime.c stores engram node/edge string fields with arena el_strdup (freed at el_request_end), so HTTP-created nodes are recycled buffer bytes by the next request; likely the June corruption root cause and the source of #72/#87. A verified 39-site el_strdup_persist fix + patches sit in docs PR #4; #104/#105 vendored el-runtime but it is unconfirmed the persist fix landed.
Next action: Will to land the el_strdup_persist fix (or confirm #104/#105's vendored runtime already carries it) and verify no HTTP-created node corrupts on the following request.
Owner: Will
Priority: BETA-CRITICAL

**GROOMING — 2026-08-03** **Status:** Open — root-caused data corruption: el_runtime.c stores engram node/edge string fields with arena el_strdup (freed at el_request_end), so HTTP-created nodes are recycled buffer bytes by the next request; likely the June corruption root cause and the source of #72/#87. A verified 39-site el_strdup_persist fix + patches sit in docs PR #4; #104/#105 vendored el-runtime but it is unconfirmed the persist fix landed. **Next action:** Will to land the el_strdup_persist fix (or confirm #104/#105's vendored runtime already carries it) and verify no HTTP-created node corrupts on the following request. **Owner:** Will **Priority:** BETA-CRITICAL
will.anderson added the BETA-CRITICAL label 2026-08-03 19:08:25 +00:00
Owner

@tim.lingo Verification question for you: does the vendored el-runtime pinned by merged #104/#105 actually include the el_strdup_persist arena-persist fix from docs PR #4? A grep of the vendored runtime should settle it. If it's in, this corruption root cause may be closable (Will's final call).

@tim.lingo Verification question for you: does the vendored el-runtime pinned by merged #104/#105 actually include the el_strdup_persist arena-persist fix from docs PR #4? A grep of the vendored runtime should settle it. If it's in, this corruption root cause may be closable (Will's final call).
Sign in to join this conversation.
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: neuron-technologies/neuron#67