Skip to content

CreateNode lifecycle stalls at the validators stage with no verdict — a validator never answers within its window during the platform-startup boot-activity create #6391

Closed

Description

@systemorph-com

What is failing. The CreateNode lifecycle verdict pipeline (MeshWeaver.Mesh.MeshExtensions, category MeshWeaver.Mesh.CreateNode) waits on a staged verdict before committing. For the boot-activity create issued by platform startup (Admin/PlatformVersion/_Activity/startup-380439f5 — the [PlatformStartup] boot recording), no verdict arrived within the 30 s window while the request sat at the validators stage. Nothing refused the request, so a validator either never answered or its answer was lost — the create's fate is unknown, which is why the message tells the reader to re-read the target before retrying.

Probable cause — moderate confidence, not pinned. The evidence (a single log line, no stack into the validator stage) supports a lost-or-never-minted validator verdict rather than a validation failure, but cannot distinguish between the two families that fit:

  • Boot ordering. The node is created during platform startup; a validator whose partition, NodeType activation or cross-hub stream is not yet ready at that instant may simply never post a verdict within the window.
  • Verdict-loss seams of the kind documented for the write path in Reading a Write Verdict — a stage watcher without a completion arm, or the responder being a single-threaded grain activation whose own turn cannot route the verdict round-trip it is waiting on (the silent-deadlock shape also described in Activity Control Plane).

Impact. Single occurrence on one pod in the memex deployment, during a platform boot. What is at stake is the boot-activity audit record: one boot's startup activity may be missing or incomplete, and the node may or may not have landed after the window. No user-facing path is known to be affected. Judged sev:M; a human may re-rule if this recurs across boots or the node is confirmed lost.

Where to look.

  • MeshWeaver.Mesh.MeshExtensions — the CreateNode staged-verdict machinery and LifecycleVerdictStalledException: the stage registry that names validators, what arms (and re-arms) the wait per validator, and whether every validator path posts exactly one terminal even when it completes without emitting.
  • The [PlatformStartup] boot-recording path that creates the Admin/PlatformVersion/_Activity/startup-… node — why a boot-time create runs while validators may not be fully armed, and whether the boot recording survives the stall.
  • Reading a Write Verdict and Activity Control Plane — the documented verdict-loss patterns the validator stage should be checked against.
  • Before retrying or closing: read Admin/PlatformVersion/_Activity/startup-380439f5 to learn whether the node actually landed.

Evidence

Fingerprint 832b105be8c96fa4
Category MeshWeaver.Mesh.CreateNode
Severity Error
Namespace memex
Pods memex-portal-deployment-5f6b9fc9b-hrdhq
Occurrences 1
First seen 2026-10-09 20:36:30Z
Last seen 2026-10-09 20:36:30Z
Routing not determined — no configured route matches the category MeshWeaver.Mesh.CreateNode. This repository is the configured fallback, not a finding about who owns the fault; the category names the LOGGER, which may not be the subject.
Recent log lines
2026-10-09 20:36:30Z memex-portal-deployment-5f6b9fc9b-hrdhq fail: MeshWeaver.Mesh.CreateNode[0]
      [CreateNode] Admin/PlatformVersion/_Activity/startup-380439f5 reached no verdict within 30s — stalled at stage validators
      MeshWeaver.Mesh.MeshExtensions+LifecycleVerdictStalledException: CreateNode of 'Admin/PlatformVersion/_Activity/startup-380439f5' reached no verdict within 30s: it was still waiting at stage 'validators'. Nothing refused the request; whether the stage's own work lands later is unknown, so read the target before retrying.

Opened automatically from Admin/_LogIncident/832b105be8c96fa4. Recurrences are folded into this issue rather than opening new ones.
It also stands for the whole log site f205e0da8dbd21ba: other fingerprints of this site fold in here as comments rather than opening tickets of their own.

Activity

  1. added
    bugSomething isn't working
    sev:MMedium - secondary path broken, or easy workaround
    on Oct 9, 2026
  2. systemorph-com commented on Oct 9, 2026

    @systemorph-com
    ContributorAuthor

    Still occurring: 2 more since the last update (3 total).

    • Last seen: 2026-10-09 20:37:51Z
    • Pods: memex-portal-deployment-5f6b9fc9b-hrdhq
    Recent log lines
    2026-10-09 20:36:30Z memex-portal-deployment-5f6b9fc9b-hrdhq fail: MeshWeaver.Mesh.CreateNode[0]
          [CreateNode] Admin/PlatformVersion/_Activity/startup-380439f5 reached no verdict within 30s — stalled at stage validators
          MeshWeaver.Mesh.MeshExtensions+LifecycleVerdictStalledException: CreateNode of 'Admin/PlatformVersion/_Activity/startup-380439f5' reached no verdict within 30s: it was still waiting at stage 'validators'. Nothing refused the request; whether the stage's own work lands later is unknown, so read the target before retrying.
    2026-10-09 20:37:10Z memex-portal-deployment-5f6b9fc9b-hrdhq fail: MeshWeaver.Mesh.CreateNode[0]
          [CreateNode] Admin/_Notification/XOJoR-Qj8kmNVfBXTp6Brg reached no verdict within 30s — stalled at stage validators
          MeshWeaver.Mesh.MeshExtensions+LifecycleVerdictStalledException: CreateNode of 'Admin/_Notification/XOJoR-Qj8kmNVfBXTp6Brg' reached no verdict within 30s: it was still waiting at stage 'validators'. Nothing refused the request; whether the stage's own work lands later is unknown, so read the target before retrying.
    2026-10-09 20:37:51Z memex-portal-deployment-5f6b9fc9b-hrdhq fail: MeshWeaver.Mesh.CreateNode[0]
          [CreateNode] Admin/_Notification/jYbv1N1ZREK6issxW2RcAA reached no verdict within 30s — stalled at stage validators
          MeshWeaver.Mesh.MeshExtensions+LifecycleVerdictStalledException: CreateNode of 'Admin/_Notification/jYbv1N1ZREK6issxW2RcAA' reached no verdict within 30s: it was still waiting at stage 'validators'. Nothing refused the request; whether the stage's own work lands later is unknown, so read the target before retrying.
    
  3. systemorph-com commented on Oct 10, 2026

    @systemorph-com
    ContributorAuthor

    Still occurring: 7 more since the last update (10 total).

    • Last seen: 2026-10-09 20:39:48Z
    • Pods: memex-portal-deployment-5f6b9fc9b-hrdhq
    Recent log lines
    2026-10-09 20:39:18Z memex-portal-deployment-5f6b9fc9b-hrdhq fail: MeshWeaver.Mesh.CreateNode[0]
          [CreateNode] Doc/_Activity/import-0684c4f2ab825e65 reached no verdict within 30s — stalled at stage validators
          MeshWeaver.Mesh.MeshExtensions+LifecycleVerdictStalledException: CreateNode of 'Doc/_Activity/import-0684c4f2ab825e65' reached no verdict within 30s: it was still waiting at stage 'validators'. Nothing refused the request; whether the stage's own work lands later is unknown, so read the target before retrying.
    2026-10-09 20:39:48Z memex-portal-deployment-5f6b9fc9b-hrdhq fail: MeshWeaver.Mesh.CreateNode[0]
          [CreateNode] Admin/_Notification/g9MMAFYxoUyhzSj11yJ_-w reached no verdict within 30s — stalled at stage validators
          MeshWeaver.Mesh.MeshExtensions+LifecycleVerdictStalledException: CreateNode of 'Admin/_Notification/g9MMAFYxoUyhzSj11yJ_-w' reached no verdict within 30s: it was still waiting at stage 'validators'. Nothing refused the request; whether the stage's own work lands later is unknown, so read the target before retrying.
    2026-10-09 20:39:48Z memex-portal-deployment-5f6b9fc9b-hrdhq fail: MeshWeaver.Mesh.CreateNode[0]
          [CreateNode] Doc/_Activity/import-0684c4f2ab825e65 reached no verdict within 30s — stalled at stage validators
          MeshWeaver.Mesh.MeshExtensions+LifecycleVerdictStalledException: CreateNode of 'Doc/_Activity/import-0684c4f2ab825e65' reached no verdict within 30s: it was still waiting at stage 'validators'. Nothing refused the request; whether the stage's own work lands later is unknown, so read the target before retrying.
    
  4. rbuergi commented on Oct 10, 2026

    @rbuergi
    Contributor

    Status 2026-10-10: the cause is not pinned. #6421 makes the next occurrence name it.

    What the code says. For a System-written create, every core INodeValidator answers with a synchronous Observable.Return:

    • RLS and PartitionWriteGuard bypass System.
    • CreatableTypes exempts platform writers.
    • OwnsPartitionProvisioning and ContentDiscriminator answer from the static registry for static types.
    • ContentSchema and the remaining validators are pure.

    All ten stalled creates were System writes: Admin/_Notification/… ×6, Admin/PlatformVersion/_Activity/startup-380439f5, Doc/_Activity/import-0684c4f2ab825e65 ×2, Admin/_LogIncident/site-f205e0da8dbd21ba. So no validator's own read explains 30 s of silence. The candidates left are:

    • the chain stalling before any validator was asked (DI construction of the scoped validators, which happens inside this stage);
    • the pod's threads not running the chain at all during boot.

    What the logs say. Governed Logs read Ops/Actions/logs-memex-20261010-6391-validators-window on control (pod memex-portal-deployment-5f6b9fc9b-hrdhq, 12 h, 35 lines, not cut): the ten stall lines, the [StaticRepoImport] Doc … UpsertRefusedException follow-on, [FanOut] GRACE lines, and none of the inner terminals a slow validator prints. That means no RLS: … could NOT be established, no [CreatableTypes] … could not be read, and no QueryProviderStalledException.

    What changes. #6421 refines the stage on the verdict and on the fate trail:

    • validators: resolving while the validators are constructed;
    • validators: <TypeName> (i/n) from the moment the chain subscribes to each one.

    Test: LifecycleRequestsAlwaysReachAVerdictTest. Negative control: the test fails on the pre-change code, whose verdict says only validators.

    Close condition. After #6421 is live on memex, the next occurrence names its stage detail. Fix that site at the root. If a boot window passes with no recurrence, read it against pod starts.

    #6393 is closed as a duplicate of this issue: its bell create was the tenth victim of the same window.

  5. added a commit that references this issue on Oct 10, 2026
  6. systemorph-com commented on Oct 10, 2026

    @systemorph-com
    ContributorAuthor

    Folded in — a DIFFERENT fingerprint from the same log site.

    This issue tracks the log site f205e0da8dbd21ba (MeshWeaver.Mesh.CreateNode), and these occurrences belong to it. They carry their own fingerprint — the masking split one site across several — so before this they would have opened a SEPARATE ticket. One log site fanned out into 46 of those, which is why they fold here instead. Nothing is discarded: the distinguishing evidence is below, and splitting this back out is a person's call.

    Folded fingerprint d642f283bfe499d8
    Log site f205e0da8dbd21ba
    Category MeshWeaver.Mesh.CreateNode
    Severity Error
    Detail [CreateNode] {path} was written, but its post-creation handlers had not finished within {n}s — answering '{value}'
    Namespace memex-cloud
    Pods memex-portal-deployment-85587f8869-5j9gx
    Occurrences 2
    First seen 2026-10-10 08:10:37Z
    Last seen 2026-10-10 08:11:17Z
    Already folded here 1 fingerprint(s)
    Incident Admin/_LogIncident/d642f283bfe499d8
    Triage called it CreateNode answers 'outcome unknown' when post-creation handlers exceed the 30 s budget, even though the node was written
    What triage wrote about this fingerprint

    What is failing

    MeshWeaver.Mesh.CreateNode (the MeshExtensions CreateNode handler) couples its response to the post-creation handler chain: the node is written to the store first, but the answer to the caller is only produced after all post-creation handlers finish. When they exceed the fixed 30 s budget, the caller receives an outcome unknown answer for a create that actually succeeded.

    Probable cause

    High confidence in the mechanism, medium confidence in the trigger. The failing create is the platform's own startup activity node, created on a freshly started portal pod; sibling incidents in the same window show the NodeType bake health check Unhealthy and compilation failures on the same pod, so the post-creation handlers were almost certainly queued behind startup-time NodeType baking/compilation work and missed the fixed 30 s budget. The defect is the answer/handler coupling itself — not the slow handlers — and it is the same mechanism already analyzed in Systemorph/MeshWeaver#6039 (webhook deliveries answered 500 because the endpoint awaited this same CreateNode path past its deadline). That issue's candidate direction — answer once the store has committed rather than after the post-creation handlers — would eliminate this failure mode too.

    Impact

    Single occurrence on a single pod, at startup. The node was written; nothing was lost. The concrete harm is limited to the ambiguous answer, but any caller that retries on outcome unknown risks duplicating the create, or reporting a spurious failure for work that succeeded. Judged sev:L from the numbers (rare, single instance, easy to re-check by hand); a human may want to re-rule upward given the shared mechanism with #6039.

    Where to look

    MeshWeaver.Mesh.MeshExtensions — the CreateNode handler: the post-creation handler chain and the 30 s timeout that decides between a real answer and outcome unknown. Related and likely the umbrella fix: Systemorph/MeshWeaver#6039 (area:hosting, still open).

    Note for the closer: this incident is plausibly a duplicate of #6039's underlying defect seen from the inside. If the team prefers to track it there, close this ticket against that issue.

    Still occurring: 2 more since the last update (2 total).

    • Last seen: 2026-10-10 08:11:17Z
    • Pods: memex-portal-deployment-85587f8869-5j9gx
    Recent log lines
    2026-10-10 08:10:37Z memex-portal-deployment-85587f8869-5j9gx fail: MeshWeaver.Mesh.CreateNode[0]
          [CreateNode] Admin/PlatformVersion/_Activity/startup-367a2639 was written, but its post-creation handlers had not finished within 30s — answering 'outcome unknown'
    2026-10-10 08:11:17Z memex-portal-deployment-85587f8869-5j9gx fail: MeshWeaver.Mesh.CreateNode[0]
          [CreateNode] Admin/_Notification/9B2Gan3JV0eGKd6lF7sB8Q was written, but its post-creation handlers had not finished within 30s — answering 'outcome unknown'
    
  7. systemorph-com commented on Oct 10, 2026

    @systemorph-com
    ContributorAuthor

    Still occurring: 10 more since the last update (12 total).

    • Last seen: 2026-10-10 08:45:15Z
    • Pods: memex-portal-deployment-85587f8869-5j9gx, memex-portal-deployment-8c87bbfc-gvt4n
    Recent log lines
    2026-10-10 08:42:53Z memex-portal-deployment-8c87bbfc-gvt4n fail: MeshWeaver.Mesh.CreateNode[0]
          [CreateNode] Admin/_Notification/htsfTHpYEEea1w9EPskGZA was written, but its post-creation handlers had not finished within 30s — answering 'outcome unknown'
    2026-10-10 08:44:04Z memex-portal-deployment-8c87bbfc-gvt4n fail: MeshWeaver.Mesh.CreateNode[0]
          [CreateNode] Admin/_Notification/aWba22qEwUWAvEVgvHKOJg was written, but its post-creation handlers had not finished within 30s — answering 'outcome unknown'
    2026-10-10 08:45:15Z memex-portal-deployment-8c87bbfc-gvt4n fail: MeshWeaver.Mesh.CreateNode[0]
          [CreateNode] Admin/_Notification/0imgLaUWFUOcYRA5Z95bXw was written, but its post-creation handlers had not finished within 30s — answering 'outcome unknown'
    
  8. systemorph-com commented on Oct 10, 2026

    @systemorph-com
    ContributorAuthor

    Still occurring: 1 more since the last update (13 total).

    • Last seen: 2026-10-10 18:10:50Z
    • Pods: memex-portal-deployment-85587f8869-5j9gx, memex-portal-deployment-8c87bbfc-gvt4n, memex-portal-deployment-5499f76b76-ltlwc
    Recent log lines
    2026-10-10 08:44:04Z memex-portal-deployment-8c87bbfc-gvt4n fail: MeshWeaver.Mesh.CreateNode[0]
          [CreateNode] Admin/_Notification/aWba22qEwUWAvEVgvHKOJg was written, but its post-creation handlers had not finished within 30s — answering 'outcome unknown'
    2026-10-10 08:45:15Z memex-portal-deployment-8c87bbfc-gvt4n fail: MeshWeaver.Mesh.CreateNode[0]
          [CreateNode] Admin/_Notification/0imgLaUWFUOcYRA5Z95bXw was written, but its post-creation handlers had not finished within 30s — answering 'outcome unknown'
    2026-10-10 18:10:50Z memex-portal-deployment-5499f76b76-ltlwc fail: MeshWeaver.Mesh.CreateNode[0]
          [CreateNode] Admin/PlatformVersion/_Activity/startup-79c03bd1 was written, but its post-creation handlers had not finished within 30s — answering 'outcome unknown'
    
  9. systemorph-com commented on Oct 10, 2026

    @systemorph-com
    ContributorAuthor

    Still occurring: 1 more since the last update (13 total).

    • Last seen: 2026-10-10 18:10:50Z
    • Pods: memex-portal-deployment-85587f8869-5j9gx, memex-portal-deployment-8c87bbfc-gvt4n, memex-portal-deployment-5499f76b76-ltlwc
    Recent log lines
    2026-10-10 08:44:04Z memex-portal-deployment-8c87bbfc-gvt4n fail: MeshWeaver.Mesh.CreateNode[0]
          [CreateNode] Admin/_Notification/aWba22qEwUWAvEVgvHKOJg was written, but its post-creation handlers had not finished within 30s — answering 'outcome unknown'
    2026-10-10 08:45:15Z memex-portal-deployment-8c87bbfc-gvt4n fail: MeshWeaver.Mesh.CreateNode[0]
          [CreateNode] Admin/_Notification/0imgLaUWFUOcYRA5Z95bXw was written, but its post-creation handlers had not finished within 30s — answering 'outcome unknown'
    2026-10-10 18:10:50Z memex-portal-deployment-5499f76b76-ltlwc fail: MeshWeaver.Mesh.CreateNode[0]
          [CreateNode] Admin/PlatformVersion/_Activity/startup-79c03bd1 was written, but its post-creation handlers had not finished within 30s — answering 'outcome unknown'
    
  10. rbuergi commented on Oct 10, 2026

    @rbuergi
    Contributor

    2026-10-10 ~20:45Z post-roll reading: #6421 is live, and no stall names a validator. Every stall is in the post-creation handlers, on memex-cloud, at boot.

    Running. memex and memex-cloud both read core d2f068a1fb; #6421 (64bbff2e3c, merged 07:00Z) is an ancestor.

    Logs (governed Logs on control, query \[CreateNode\].*(validators|post-creation handlers|outcome unknown), 06:41Z to 20:41Z, neither cut):

    • memex-cloud (Ops/Actions/logs-memexcloud-20261010-2055-va-create): 18 lines, on three pods: 85587f8869-5j9gx (08:10Z to 08:16Z), 8c87bbfc-gvt4n (08:39Z to 08:45Z), 5499f76b76-ltlwc (18:10Z to 18:16Z). Every line I read has the form [CreateNode] <path> was written, but its post-creation handlers had not finished within 30s — answering 'outcome unknown'. The targets are Admin/PlatformVersion/_Activity/startup-… first, then Admin/_Notification/… at about 70 s intervals.
    • memex (Ops/Actions/logs-memex-20261010-2050-va-create): 0 lines in the same window, over at least three rolls. The memex-cloud result is the positive control for the query.
    • 0 lines contain validators: resolving or validators: <TypeName>.

    What that changes. The title's stage is no longer where the request waits. On today's images the node IS written, and what does not finish within 30 s is the post-creation handler chain, in a burst of about six minutes after each pod start, and only on memex-cloud. So the next step is to find which post-creation handler for Admin/PlatformVersion/_Activity and Admin/_Notification does not complete during boot on memex-cloud (and why memex, on the same core, shows none).

    Not established: whether these 18 are the same defect as the ten original validators stalls with the stage now reported more precisely, or a second defect that #6421's finer stage reporting uncovered. Nothing was changed. Still occurring, so this stays open.

  11. rbuergi commented on Oct 10, 2026

    @rbuergi
    Contributor

    2026-10-10 ~21:15Z: where the post-creation leg waits, a repro of the production line, and what is still open. PR #6455.

    Readings (governed read-only Logs on control, pod memex-portal-deployment-5499f76b76-ltlwc, actions Ops/Actions/logs-memexcloud-20261010-w14b-boot-ltlwc and …-ltlwc-2 to …-ltlwc-7):

    UTC First process on the pod
    18:10:19.663 [PlatformStartup] begins; 18:10:20.031 the last hosted service to log a start (DynamicTypePreWarmer)
    18:10:20.046 Node created at Admin/PlatformVersion/_Activity/startup-79c03bd1 (about 365 ms after the request)
    18:10:50.255 trail: … CREATE_STAGE write (+311ms) → CREATE_CHAIN_EMITTED (+365ms) → CREATE_POST_HANDLERS_START (+365ms), then nothing. Hub pump idle buffer=0.
    18:10:50.272 was written, but its post-creation handlers had not finished within 30s
    18:11:00 to 18:16:13 five Admin/_Notification/… creates, each written within about 100 ms and each stalling the same way
    18:16:19 createdump runs; the process is replaced
    18:17:21.508 replacing process: the same boot create, startup complete 11 ms later, Application started 40 ms after that

    The first process never logged Application started. No line reading reached no verdict … stalled at stage accompanies any of the six.

    Which handler. None applies to these node types. The four in core are for User, Space, the sync config and non-static partition roots; the three MeshWeaver.AI registers are all for User. For a node no handler applies to, the leg only resolves the registrations and asks each one's Matches. A handler a module registered is a forwarding proxy, and every call on it, Matches included, first resolves the module's instance from the module's own container. So the wait is in resolve-or-match, and it is a wait on a container, not on a handler's work. This is an inference by elimination, not a reading: no log line carries a stack.

    Repro. ACreateWaitsOnAModuleContainerUnderConstructionTest loads a real module into its own container, parks the construction of one of its singletons, and creates an unrelated node as System. On the unchanged code it writes the production line byte for byte (… was written, but its post-creation handlers had not finished within 6s — answering 'outcome unknown'). With the change it reads (waiting at post-creation-handlers: matching INodePostCreationHandler [module MeshWeaver.Test.HeldContainer, registration 0] (4/4)), and the module's handler was never built.

    What PR #6455 changes. The leg names its stage (resolving, matching <handler> (i/n), <handler> (i/n), … additional nodes), a module's proxy is named by module and registration without resolving it, and two defects the repro exposed are corrected: the 'outcome unknown' line could be written for a create answered Ok, and a leg that returned late was followed by a second, false stalled at stage write line. No timeout changes.

    Still open, and what would settle it.

    Details are in Doc/Architecture/WriteVerdictTotality ("The post-creation leg names what it is waiting on, too").

  12. systemorph-com commented on Oct 11, 2026

    @systemorph-com
    ContributorAuthor

    Still occurring: 5 more since the last update (18 total).

    • Last seen: 2026-10-10 18:16:13Z
    • Pods: memex-portal-deployment-85587f8869-5j9gx, memex-portal-deployment-8c87bbfc-gvt4n, memex-portal-deployment-5499f76b76-ltlwc
    Recent log lines
    2026-10-10 18:13:50Z memex-portal-deployment-5499f76b76-ltlwc fail: MeshWeaver.Mesh.CreateNode[0]
          [CreateNode] Admin/_Notification/rfmUG3TwU0yZDV5T-pT2Sg was written, but its post-creation handlers had not finished within 30s — answering 'outcome unknown'
    2026-10-10 18:15:01Z memex-portal-deployment-5499f76b76-ltlwc fail: MeshWeaver.Mesh.CreateNode[0]
          [CreateNode] Admin/_Notification/bS23d5HshUO6Vw4OhZgwCg was written, but its post-creation handlers had not finished within 30s — answering 'outcome unknown'
    2026-10-10 18:16:13Z memex-portal-deployment-5499f76b76-ltlwc fail: MeshWeaver.Mesh.CreateNode[0]
          [CreateNode] Admin/_Notification/p7pWXMHWm0SKeugH9KC7Wg was written, but its post-creation handlers had not finished within 30s — answering 'outcome unknown'
    
  13. systemorph-com commented on Oct 11, 2026

    @systemorph-com
    ContributorAuthor

    Folded in — a DIFFERENT fingerprint from the same log site.

    This issue tracks the log site f205e0da8dbd21ba (MeshWeaver.Mesh.CreateNode), and these occurrences belong to it. They carry their own fingerprint — the masking split one site across several — so before this they would have opened a SEPARATE ticket. One log site fanned out into 46 of those, which is why they fold here instead. Nothing is discarded: the distinguishing evidence is below, and splitting this back out is a person's call.

    Folded fingerprint 31f12aedfc4bbbc8
    Log site f205e0da8dbd21ba
    Category MeshWeaver.Mesh.CreateNode
    Severity Error
    Detail [CreateNode] {path} was written, but its post-creation handlers had not finished within {n}s (waiting at post-creation-handlers: resolving) — answering '{value}'
    Namespace memex
    Pods memex-portal-deployment-6749fbfc59-hdlgz
    Occurrences 1
    First seen 2026-10-11 03:53:51Z
    Last seen 2026-10-11 03:53:51Z
    Already folded here 2 fingerprint(s)
    Incident Admin/_LogIncident/31f12aedfc4bbbc8
    Triage called it Boot-activity node create exceeds the 30s post-creation handler budget — resolving phase still unfinished when the create is answered with 'outcome unknown'
    What triage wrote about this fingerprint

    What is failing

    When the portal records its boot-activity node (Admin/PlatformVersion/_Activity/startup-*) during startup, the create request is answered with an unknown outcome: the node itself is written, but the create pipeline's post-creation handlers — still in the resolving phase — have not completed within the 30s budget. This is the platform's own startup bookkeeping write, on a single pod.

    Probable cause — medium confidence

    Boot-time contention in the resolving phase of post-creation handling. The same hour the fleet logged heavy silo churn (multiple Orleans.Runtime.SiloUnavailableException roll-churn incidents on the memex namespaces around 03:05–03:54 UTC), so the resolving phase plausibly waited on a busy or restarting silo during portal boot. The write itself succeeded — this is a late completion signal, not a lost or rolled-back write. Cause is not established from one sample; if resolving regularly stalls >30s at boot there may be a real bottleneck worth naming.

    Impact

    Single occurrence on a single pod; no user-visible failure and no data loss. The risk this exposes is a caller treating the unknown outcome as failure and re-creating the activity node — exactly the retry-after-timeout hazard the unknown-outcome contract (shipped 2026-09-09, see Create timeouts report an unknown outcome) was designed to flag.

    Where to look

    • The create pipeline's post-creation handler wait — log category MeshWeaver.Mesh.CreateNode, stage post-creation-handlers: resolving — and what that phase resolves at boot.
    • The startup component recording boot activity ([PlatformStartup] writes to Admin/PlatformVersion/_Activity/startup-*), which issues this create during the boot sequence.
    • Correlate with the silo-churn incidents in the same window before digging deeper — a one-off under churn likely needs no code change, a repeating pattern does.

    Still occurring: 1 more since the last update (1 total).

    • Last seen: 2026-10-11 03:53:51Z
    • Pods: memex-portal-deployment-6749fbfc59-hdlgz
    Recent log lines
    2026-10-11 03:53:51Z memex-portal-deployment-6749fbfc59-hdlgz fail: MeshWeaver.Mesh.CreateNode[0]
          [CreateNode] Admin/PlatformVersion/_Activity/startup-5bbf10ed was written, but its post-creation handlers had not finished within 30s (waiting at post-creation-handlers: resolving) — answering 'outcome unknown'
    
  14. systemorph-com commented on Oct 11, 2026

    @systemorph-com
    ContributorAuthor

    Folded in — a DIFFERENT fingerprint from the same log site.

    This issue tracks the log site f205e0da8dbd21ba (MeshWeaver.Mesh.CreateNode), and these occurrences belong to it. They carry their own fingerprint — the masking split one site across several — so before this they would have opened a SEPARATE ticket. One log site fanned out into 46 of those, which is why they fold here instead. Nothing is discarded: the distinguishing evidence is below, and splitting this back out is a person's call.

    Folded fingerprint 31f12aedfc4bbbc8
    Log site f205e0da8dbd21ba
    Category MeshWeaver.Mesh.CreateNode
    Severity Error
    Detail [CreateNode] {path} was written, but its post-creation handlers had not finished within {n}s (waiting at post-creation-handlers: resolving) — answering '{value}'
    Namespace memex
    Pods memex-portal-deployment-6749fbfc59-hdlgz
    Occurrences 1
    First seen 2026-10-11 03:53:51Z
    Last seen 2026-10-11 03:53:51Z
    Already folded here 3 fingerprint(s)
    Incident Admin/_LogIncident/31f12aedfc4bbbc8
    Triage called it Boot-activity node create exceeds the 30s post-creation handler budget — resolving phase still unfinished when the create is answered with 'outcome unknown'
    What triage wrote about this fingerprint

    What is failing

    When the portal records its boot-activity node (Admin/PlatformVersion/_Activity/startup-*) during startup, the create request is answered with an unknown outcome: the node itself is written, but the create pipeline's post-creation handlers — still in the resolving phase — have not completed within the 30s budget. This is the platform's own startup bookkeeping write, on a single pod.

    Probable cause — medium confidence

    Boot-time contention in the resolving phase of post-creation handling. The same hour the fleet logged heavy silo churn (multiple Orleans.Runtime.SiloUnavailableException roll-churn incidents on the memex namespaces around 03:05–03:54 UTC), so the resolving phase plausibly waited on a busy or restarting silo during portal boot. The write itself succeeded — this is a late completion signal, not a lost or rolled-back write. Cause is not established from one sample; if resolving regularly stalls >30s at boot there may be a real bottleneck worth naming.

    Impact

    Single occurrence on a single pod; no user-visible failure and no data loss. The risk this exposes is a caller treating the unknown outcome as failure and re-creating the activity node — exactly the retry-after-timeout hazard the unknown-outcome contract (shipped 2026-09-09, see Create timeouts report an unknown outcome) was designed to flag.

    Where to look

    • The create pipeline's post-creation handler wait — log category MeshWeaver.Mesh.CreateNode, stage post-creation-handlers: resolving — and what that phase resolves at boot.
    • The startup component recording boot activity ([PlatformStartup] writes to Admin/PlatformVersion/_Activity/startup-*), which issues this create during the boot sequence.
    • Correlate with the silo-churn incidents in the same window before digging deeper — a one-off under churn likely needs no code change, a repeating pattern does.

    Still occurring: 1 more since the last update (1 total).

    • Last seen: 2026-10-11 03:53:51Z
    • Pods: memex-portal-deployment-6749fbfc59-hdlgz
    Recent log lines
    2026-10-11 03:53:51Z memex-portal-deployment-6749fbfc59-hdlgz fail: MeshWeaver.Mesh.CreateNode[0]
          [CreateNode] Admin/PlatformVersion/_Activity/startup-5bbf10ed was written, but its post-creation handlers had not finished within 30s (waiting at post-creation-handlers: resolving) — answering 'outcome unknown'
    
  15. systemorph-com commented on Oct 11, 2026

    @systemorph-com
    ContributorAuthor

    Still occurring: 4 more since the last update (5 total).

    • Last seen: 2026-10-11 03:58:02Z
    • Pods: memex-portal-deployment-6749fbfc59-hdlgz
    Recent log lines
    2026-10-11 03:55:41Z memex-portal-deployment-6749fbfc59-hdlgz fail: MeshWeaver.Mesh.CreateNode[0]
          [CreateNode] Admin/_Notification/7JZyZfybTkK-ucKoEKmMbw was written, but its post-creation handlers had not finished within 30s (waiting at post-creation-handlers: resolving) — answering 'outcome unknown'
    2026-10-11 03:56:52Z memex-portal-deployment-6749fbfc59-hdlgz fail: MeshWeaver.Mesh.CreateNode[0]
          [CreateNode] Admin/_Notification/nE6DcMN5L0GVVSFgksEsIA was written, but its post-creation handlers had not finished within 30s (waiting at post-creation-handlers: resolving) — answering 'outcome unknown'
    2026-10-11 03:58:02Z memex-portal-deployment-6749fbfc59-hdlgz fail: MeshWeaver.Mesh.CreateNode[0]
          [CreateNode] Admin/_Notification/roZe21OTy02MlwPFrBJCWg was written, but its post-creation handlers had not finished within 30s (waiting at post-creation-handlers: resolving) — answering 'outcome unknown'
    
  16. rbuergi commented on Oct 11, 2026

    @rbuergi
    Contributor

    2026-10-11: the dump is read. The wait is a lock on the mesh's root container, held by one thread whose stack the analysis cut. #6490 makes the next read show it.

    Ops/Actions/analyzedump-memex-cloud-20261011-ltlwc-2 on the control instance completed at 08:02Z (read-only, Ops/Dumps/analyzedump-memex-cloud-20261011-ltlwc-2). It read memex-portal-deployment-5499f76b76-ltlwc.1791656185/coredump.1.1791656179, written 2026-10-10 18:16:20Z: the first process of the pod in the 10-10 21:17Z timeline. 91 managed threads, 86 distinct stacks, 40 shown, at most 25 frames each.

    What it establishes.

    • syncblk lists two contended monitors. Sync block 2: MonitorHeld 43, which is one owner and 21 waiters, owner OS thread 0x1e. Sync block 169: MonitorHeld 9, one owner and 4 waiters, owner OS thread 0xf1.
    • 16 of the 40 stacks shown are blocked in Monitor.Enter inside Autofac.Core.Lifetime.LifetimeScope.CreateSharedInstance, the lock a container takes to build a shared instance. They are:
      • three creates in MeshExtensions.BuildPostCreationHandlers → GetRequiredService<IEnumerable<INodePostCreationHandler>> (threads 0x107, 0x105, 0xee). This is the post-creation-handlers: resolving stage the log names.
      • two grain activations in MessageHubGrain.ResolveHubConfigurationObservable, one MeshNodeStreamHandle.UpdateRemote, one MeshNodeStreamCache delivery-failure handler, ProviderCredentialSeed.RunOver under StaticRepoImportSettled.MarkSettled.
      • Orleans creating message codecs while it writes and reads messages (0x103, 0xff, 0xfd, 0xf8, 0xec, 0xeb): for IGrainCallCancellationManagerSystemTarget, for IDhtGrainDirectory, and PooledResponseCodec<IndirectProbeResponse>, the answer to a membership probe. ASP.NET building its endpoint matcher (0xf9).
    • Thread 0xf1 owns sync block 169 and is itself blocked in CreateSharedInstance, resolving a constructor parameter (AutowiringParameter → BoundConstructor.Instantiate). It holds one container's lock and waits for another's.
    • Thread 0x106 is MembershipTableManager.KillMyselfLocally → Environment.FailFast. The silo read the membership table, found itself declared dead, and ended the process. That is the 18:16:19Z createdump.
    • The thread pool reads 35 workers, 30 running, 0% CPU.

    So the six creates did not wait on a handler or on a module's proxy. They waited on the root container's shared-instance lock, with the rest of the silo. A silo that cannot create the codec for a probe response cannot answer its probes, which is how this pod came to be evicted. That ties this issue to the evictions on #6432 by a reading for this one pod; the other two pods' dumps (…8c87bbfc-gvt4n, …85587f8869-5j9gx) are on the volume and were not read.

    What it does not establish: what thread 0x1e is doing. It owns the lock all 21 wait for, and its stack is not among the 40 shown. The analysis kept the largest groups and this thread's stack is its own.

    An inference, not a reading. Sync block 169 has four waiters and its owner waits on the root lock. If 0x1e is one of those four, this is a lock-order inversion between two containers: one thread holds the root container's lock and resolves into a module's container, another holds that module container's lock and resolves into the root. Since #6127 each module has a container of its own; it reaches the root through ModuleFallbackSource while it may hold its own lock, and the root reaches it through ModuleContexts.ResolveModuleService (ModuleServiceForwarding, the Current route) from wherever the root resolves, which can be inside a shared instance's construction. The timing fits (first wedges 10-09, #6127 merged 10-05) and so does the repro in #6455, which parks a module singleton's construction and gets the production line. The dump as read neither confirms nor refutes it.

    What settles it. #6490 changes the analysis so that a thread syncblk names as a monitor's owner is a group of its own, sorted first, kept at four times the frame cap, and labelled with its waiters. Once the operator runs that script, filing the same action again ({ "requestedAction": "AnalyzeDump", "dumpPod": "memex-portal-deployment-5499f76b76-ltlwc" } on Deployments/memex-cloud) shows the stack of 0x1e. If it is inside a module container's CreateSharedInstance, the inversion is confirmed and the fix is to keep the root from resolving into a module container while it holds its own lock. If it is anything else, that stack names it.

    Recurrence. Last seen 2026-10-11 03:58:02Z on memex pod …6749fbfc59-hdlgz, with (waiting at post-creation-handlers: resolving), which is this same lock seen from the create. Nothing was changed on any deployment.

  17. rbuergi commented on Oct 11, 2026

    @rbuergi
    Contributor

    The owner of the root lock is now read. Details are on #6432, from Ops/Actions/analyzedump-memex-cloud-20261011-ltlwc-3 on control.

    The creates parked at post-creation-handlers: resolving wait on the root container's lock. That lock is held by thread 0x1e, which is building the scoped PortalApplication in the root on behalf of the WhatsApp module. PortalApplication's constructor waits for the mesh hub scope's lock, and a grain activation holds that lock while it waits for the root's.

    This is not a module container under construction. The #6455 repro reproduces a related mechanism, not this owner.

    Fix: #6536. Module scopes now resolve root registrations in a root child scope of their own, so a scoped service is never built under the root lock. This issue closes on a post-roll reading: no post-creation-handlers: resolving line after a boot on an image that contains #6536.

  18. systemorph-com commented on Oct 11, 2026

    @systemorph-com
    ContributorAuthor

    Still occurring: 1 more since the last update (6 total).

    • Last seen: 2026-10-11 21:56:08Z
    • Pods: memex-portal-deployment-6749fbfc59-hdlgz, memex-portal-deployment-5b769df8cb-89wxb
    Recent log lines
    2026-10-11 03:56:52Z memex-portal-deployment-6749fbfc59-hdlgz fail: MeshWeaver.Mesh.CreateNode[0]
          [CreateNode] Admin/_Notification/nE6DcMN5L0GVVSFgksEsIA was written, but its post-creation handlers had not finished within 30s (waiting at post-creation-handlers: resolving) — answering 'outcome unknown'
    2026-10-11 03:58:02Z memex-portal-deployment-6749fbfc59-hdlgz fail: MeshWeaver.Mesh.CreateNode[0]
          [CreateNode] Admin/_Notification/roZe21OTy02MlwPFrBJCWg was written, but its post-creation handlers had not finished within 30s (waiting at post-creation-handlers: resolving) — answering 'outcome unknown'
    2026-10-11 21:56:08Z memex-portal-deployment-5b769df8cb-89wxb fail: MeshWeaver.Mesh.CreateNode[0]
          [CreateNode] Admin/PlatformVersion/_Activity/startup-2b759fb4 was written, but its post-creation handlers had not finished within 30s (waiting at post-creation-handlers: resolving) — answering 'outcome unknown'
    
  19. systemorph-com commented on Oct 12, 2026

    @systemorph-com
    ContributorAuthor

    Still occurring: 2 more since the last update (8 total).

    • Last seen: 2026-10-11 21:57:58Z
    • Pods: memex-portal-deployment-6749fbfc59-hdlgz, memex-portal-deployment-5b769df8cb-89wxb
    Recent log lines
    2026-10-11 21:56:08Z memex-portal-deployment-5b769df8cb-89wxb fail: MeshWeaver.Mesh.CreateNode[0]
          [CreateNode] Admin/PlatformVersion/_Activity/startup-2b759fb4 was written, but its post-creation handlers had not finished within 30s (waiting at post-creation-handlers: resolving) — answering 'outcome unknown'
    2026-10-11 21:56:48Z memex-portal-deployment-5b769df8cb-89wxb fail: MeshWeaver.Mesh.CreateNode[0]
          [CreateNode] Admin/_Notification/Kdy2GJpX6UKrWhVbz2_VsQ was written, but its post-creation handlers had not finished within 30s (waiting at post-creation-handlers: resolving) — answering 'outcome unknown'
    2026-10-11 21:57:58Z memex-portal-deployment-5b769df8cb-89wxb fail: MeshWeaver.Mesh.CreateNode[0]
          [CreateNode] Admin/_Notification/J7_w3XVOIE-VpougcHYgJw was written, but its post-creation handlers had not finished within 30s (waiting at post-creation-handlers: resolving) — answering 'outcome unknown'
    
  20. rbuergi commented on Oct 13, 2026

    @rbuergi
    Contributor

    Closing: the closing reading from 2026-10-11 has now been taken. The condition was no post-creation-handlers: resolving stall after a boot on an image that contains #6536.

    • Deployed. fix(modules): a module scope resolves root services in a root child scope, never in the root (#6432) #6536 and fix(modules): build module singletons before they are published (#6542) #6545 are ancestors of the core commit memex.systemorph.com and memex.meshweaver.cloud serve (ec7763883b, read from /api/version 2026-10-13 ~14:55Z).
    • memex (Ops/Actions/wmlb-6391-memex-postcreate-24h on control). The query was {namespace="memex"} |~ "(?i)(post-creation handlers had not finished)|(\[PlatformStartup\])" over 24 h (2026-10-12 14:57Z to 10-13 14:57Z), and the read was not cut. It returned 97 lines. All 97 are [PlatformStartup] lines: 32 boots on images 3.1.10648 to 3.1.10681, each recording its boot activity under Admin/PlatformVersion/_Activity. None is a post-creation handlers had not finished line. The boots are the positive control, since each one issues the very create this issue was about.
    • memex-cloud (Ops/Actions/wmlb-6391-memexcloud-postcreate-24h). Over the same 24 h, post-creation handlers had not finished|no verdict arrived returned 0 lines, and the read was not cut.

    Before the fix, the same site logged 8 occurrences across 2 boots on 10-11.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingsev:MMedium - secondary path broken, or easy workaround

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions