Skip to content

Sync stream of PartnerRe/Esl thread node ended after 4 owner activations refused it — the owner address recycled in a loop #6712

Closed as not planned

Description

@systemorph-com

Observed

The sync stream wIRRTO9kp0qaqsSl69NfnQ, owned by the thread node PartnerRe/Esl/_Thread/can-we-record-a-couple-of-contacts-in-th-b8c357654b3e5687b21a, ended itself with MeshWeaver.Data.Serialization.SyncStreamOwnerRefusedException after 4 DISTINCT owner activations of that address refused the stream against the recycle re-arm budget of 3 (MaxRecycleReArms, JsonSynchronizationStream's ride-out in MeshWeaver.Data). This is the give-up path (#6602) firing as designed: the owner address was recycling in a loop — each successor activation died before it could answer the stream's re-ask.

The MeshWeaver.Blazor.Components.DispatchView log site is only where the ended stream reached a reader; every sample line carries the same stream id and the same owner path, so the 49 lines are one stream's terminal re-delivered across its area bindings (rootStyle in areas Header and Header/Changes), not 49 separate failures.

Where and when

One pod of the memex portal, one sub-second burst, one owner address, one stream. No other node, tenant or pod appears in the fingerprint. The DispatchView readers are transient victims; the failure is entirely on the owner side of that one thread node.

Impact

A viewer of that one PartnerRe/Esl thread page lost the live feed of its header areas for the burst window. Readers are designed to recover (AreaErrorClassifier.IsTransientHubFailure classifies this type as transient and re-subscribes), so impact is bounded to the recycle window unless the loop persisted — whether the address settled is not known from this evidence.

Not established

  • What requested the recycles of that thread node — the exception names the shape (a recycle loop at the owner), not the requester.
  • Whether the address settled after the burst or is still cycling.
  • Whether other streams of the same node, or other nodes under the same NodeType/overlay, showed the same loop — the fingerprint covers only this log site.
  • Whether a deploy, a module live-update, or an agent round writing under that thread coincided with the burst.

Candidate causes and the reading that separates them

  1. Overlay / stale-assembly self-heal repeatedly recycling the thread's hub — each successor hits the same stale state and dies again. Predicts recycle-request lines naming the same owner path with a stale-build/overlay reason in the pod's log just before the burst. Reading: the pod log around the burst for the recycle-request lines for that path and their stated reason ("A recycle can now say why").
  2. A build or activation fault killing each successor during bring-up (compile error, init fault on the thread's NodeType). Predicts a repeated build/init failure for that type in the same window. Reading: build/compile log lines for the thread's NodeType in the window; GetDiagnostics on the type.
  3. A writer or agent round under that thread repeatedly triggering the recycles (e.g. a round writing under the thread while a module live-update lands — the shape measured 2026-10-11 19:16Z in Overlay self-heal staleness verdict recycles every Store/Plugin-bound hub at once, discarding 105 deferred requests mid-burst #4866). Predicts write/version activity on the thread node in the same window. Reading: GetVersions on PartnerRe/Esl/_Thread/can-we-record-a-couple-of-contacts-in-th-b8c357654b3e5687b21a for entries in the burst window, and the thread's message log for an executing round.
  4. Reader-side mis-accounting — one settling teardown charged as several activations (the Sync stream give-up leaves the reader on a frozen last value; one owner teardown is counted as several activations #6602 / Name WHICH recycling failure a ShuttingDown read hit (#2025) #2376 drift shapes: a carrier without an activation tag). Predicts only ONE distinct activation token for that owner in the pod's log for the window. Reading: count the distinct activation tokens in the pod's ShuttingDown NACK / StreamEndedEvent lines for that owner path — 4 real tokens rules this out; 1 rules it in.

Where to look

Already known?

This exception type is the designed terminal of the sync-stream ride-out, and bursts of it appear in the Ops logs for many owners (Hosting/Triage threads, UWDeepfield roots, Doc nodes) around roll and live-update windows. The machinery behind the message is documented and test-pinned; no existing GitHub issue covers this owner's recycle loop, and the requester of these recycles is unestablished — that is what this ticket is for.


Evidence

Fingerprint 938c0a4a228b7139
Category MeshWeaver.Blazor.Components.DispatchView
Severity Error
Exception MeshWeaver.Data.Serialization.SyncStreamOwnerRefusedException
Namespace memex
Pods memex-portal-deployment-679d7b6984-tzd87
Occurrences 49
First seen 2026-10-13 17:17:41Z
Last seen 2026-10-13 17:17:41Z
Routing not determined — no configured route matches the category MeshWeaver.Blazor.Components.DispatchView. 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-13 17:17:41Z memex-portal-deployment-679d7b6984-tzd87 fail: MeshWeaver.Blazor.Components.DispatchView[0]
      Loading 'rootStyle' in area 'Header/Changes' in Area Header/Changes
      MeshWeaver.Data.Serialization.SyncStreamOwnerRefusedException: Stream wIRRTO9kp0qaqsSl69NfnQ: giving up on owner PartnerRe/Esl/_Thread/can-we-record-a-couple-of-contacts-in-th-b8c357654b3e5687b21a — 4 DISTINCT owner activations have refused this stream (budget 3). The address is recycling in a LOOP, not settling: each successor dies before it can answer. The stream now ENDS with this error so its readers can re-read; the fix is at whatever is requesting the recycles, not here.
2026-10-13 17:17:41Z memex-portal-deployment-679d7b6984-tzd87 fail: MeshWeaver.Blazor.Components.DispatchView[0]
      Loading 'rootStyle' in area 'Header' in Area Header
      MeshWeaver.Data.Serialization.SyncStreamOwnerRefusedException: Stream wIRRTO9kp0qaqsSl69NfnQ: giving up on owner PartnerRe/Esl/_Thread/can-we-record-a-couple-of-contacts-in-th-b8c357654b3e5687b21a — 4 DISTINCT owner activations have refused this stream (budget 3). The address is recycling in a LOOP, not settling: each successor dies before it can answer. The stream now ENDS with this error so its readers can re-read; the fix is at whatever is requesting the recycles, not here.
2026-10-13 17:17:41Z memex-portal-deployment-679d7b6984-tzd87 fail: MeshWeaver.Blazor.Components.DispatchView[0]
      Loading 'rootStyle' in area 'Header/Changes' in Area Header/Changes
      MeshWeaver.Data.Serialization.SyncStreamOwnerRefusedException: Stream wIRRTO9kp0qaqsSl69NfnQ: giving up on owner PartnerRe/Esl/_Thread/can-we-record-a-couple-of-contacts-in-th-b8c357654b3e5687b21a — 4 DISTINCT owner activations have refused this stream (budget 3). The address is recycling in a LOOP, not settling: each successor dies before it can answer. The stream now ENDS with this error so its readers can re-read; the fix is at whatever is requesting the recycles, not here.
2026-10-13 17:17:41Z memex-portal-deployment-679d7b6984-tzd87 fail: MeshWeaver.Blazor.Components.DispatchView[0]
      Loading 'rootStyle' in area 'Header/Changes' in Area Header/Changes
      MeshWeaver.Data.Serialization.SyncStreamOwnerRefusedException: Stream wIRRTO9kp0qaqsSl69NfnQ: giving up on owner PartnerRe/Esl/_Thread/can-we-record-a-couple-of-contacts-in-th-b8c357654b3e5687b21a — 4 DISTINCT owner activations have refused this stream (budget 3). The address is recycling in a LOOP, not settling: each successor dies before it can answer. The stream now ENDS with this error so its readers can re-read; the fix is at whatever is requesting the recycles, not here.
2026-10-13 17:17:41Z memex-portal-deployment-679d7b6984-tzd87 fail: MeshWeaver.Blazor.Components.DispatchView[0]
      Loading 'rootStyle' in area 'Header/Changes' in Area Header/Changes
      MeshWeaver.Data.Serialization.SyncStreamOwnerRefusedException: Stream wIRRTO9kp0qaqsSl69NfnQ: giving up on owner PartnerRe/Esl/_Thread/can-we-record-a-couple-of-contacts-in-th-b8c357654b3e5687b21a — 4 DISTINCT owner activations have refused this stream (budget 3). The address is recycling in a LOOP, not settling: each successor dies before it can answer. The stream now ENDS with this error so its readers can re-read; the fix is at whatever is requesting the recycles, not here.

Opened automatically from Admin/_LogIncident/938c0a4a228b7139. Recurrences are folded into this issue rather than opening new ones.
It also stands for the whole log site 19a258eaffea0898: 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 13, 2026
  2. systemorph-com commented on Oct 13, 2026

    @systemorph-com
    ContributorAuthor

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

    This issue tracks the log site 19a258eaffea0898 (MeshWeaver.Blazor.Components.DispatchView), 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 a2ee356ccba64deb
    Log site 19a258eaffea0898
    Category MeshWeaver.Blazor.Components.DispatchView
    Severity Error
    Exception MeshWeaver.Data.Serialization.SyncStreamOwnerRefusedException
    Detail Stream _qeQIr5atUWnOqtIf2a7Rw: giving up on owner {path} — {n} DISTINCT owner activations have refused this stream (budget {n}). The address is recycling in a LOOP, not settling: each successor dies before it can answer. The stream now ENDS with this error so its readers can re-read; the fix is at whatever is requesting the recycles, not here.
    Namespace memex-cloud
    Pods memex-portal-deployment-54856649cb-m2jn9
    Occurrences 6
    First seen 2026-10-13 19:52:18Z
    Last seen 2026-10-13 19:52:18Z
    Already folded here 1 fingerprint(s)
    Incident Admin/_LogIncident/a2ee356ccba64deb
    Triage called it Sync stream of a retained Stripe rejected-delivery node ended after 4 owner activations refused it — the Store/Payments/_Rejected address recycled in a loop
    What triage wrote about this fingerprint

    Observed

    The sync stream _qeQIr5atUWnOqtIf2a7Rw, owned by the retained rejected-delivery node Store/Payments/_Rejected/973c8980476a49cba8b8059e8e91bf4b, ended itself with MeshWeaver.Data.Serialization.SyncStreamOwnerRefusedException after 4 DISTINCT owner activations of that address refused the stream against the recycle re-arm budget of 3 (MaxRecycleReArms, JsonSynchronizationStream's ride-out in MeshWeaver.Data). This is the give-up path (#6602) firing as designed: the owner address was recycling in a loop — each successor activation died before it could answer the stream's re-ask. The exception names the shape, not the requester.

    The MeshWeaver.Blazor.Components.DispatchView log site is only where the ended stream reached a reader: every sample line carries the same stream id and the same owner path, so the 6 lines are one stream's terminal error re-delivered across its area bindings (style in area Overview/1/1, tileStyle in area Overview/1/1/1/1/1) — one read failing, not six. That area shape is an overview/tile layout over a single _Rejected/{id} node: a viewer with Store-admin access browsing a retained Stripe delivery that failed signature verification (_Rejected is readable by a Store admin only, per CatalogGate.SensitiveSegments).

    Where and when

    One pod of the memex-cloud portal, one sub-20ms burst, one owner address, one stream. No other node, tenant or pod appears in the fingerprint. The reader is a transient victim; the failure is entirely on the owner side of that one rejected-delivery node.

    Impact

    A viewer of that one _Rejected delivery's overview page lost the live feed of its areas for the burst window. Readers are designed to recover (AreaErrorClassifier.IsTransientHubFailure classifies this type as transient and re-subscribes, bounded by RetryAreaWithBackoff; MeshNodeStreamCache evicts the faulted entry), so impact is bounded to the recycle window unless the loop persisted — whether the address settled is not known from this evidence. The _Rejected container itself is operator evidence ("someone may have paid and not been served"), so an unavailable view of it is an operator-facing degradation, not a checkout-path failure.

    Not established

    • What requested the recycles of that rejected-delivery node — the exception names the shape (a recycle loop at the owner), not the requester.
    • Whether the address settled after the burst or is still cycling.
    • The node's own state: Store/Payments/_Rejected/973c8980476a49cba8b8059e8e91bf4b is not readable under the identity this triage ran with (consistent with the documented Store-admin-only deny), so its version history and the delivery's rejectedAt/rejectionReason could not be read.
    • Whether other streams of the same node, or other _Rejected deliveries, showed the same loop — the fingerprint covers only this log site.
    • Whether a deploy, module live-update or webhook redelivery coincided with the burst.

    Candidate causes and the reading that separates them

    1. Overlay / stale-assembly self-heal repeatedly recycling the node's hub — each successor hits the same stale state and dies again. Predicts recycle-request lines naming the same owner path with a stale-build/overlay reason in the pod's log just before the burst. Reading: the pod log around 2026-10-13T19:52:18Z for the recycle-request lines for that path and their stated reason.
    2. A build or activation fault killing each successor during bring-up of the rejected-delivery NodeType (its types live in the Stripe payments module). Predicts a repeated build/init failure for that type in the same window. Reading: build/compile log lines for the node's type in the window, and GetDiagnostics on the type on the portal instance.
    3. A writer repeatedly triggering the recycles — e.g. a Stripe redelivery of the same event being re-rejected and re-written under _Rejected while the page was open. Predicts write/version activity on that node in the same window. Reading: GetVersions on the node (under a Store-admin identity) for entries at the burst, and the _Inbox/_Rejected container activity in the window.
    4. Reader-side mis-accounting — one settling teardown charged as four activations (the Sync stream give-up leaves the reader on a frozen last value; one owner teardown is counted as several activations #6602/Name WHICH recycling failure a ShuttingDown read hit (#2025) #2376 drift shapes: a carrier without an activation tag). Predicts only ONE distinct activation token for that owner in the pod's log for the window. Reading: count the distinct activation tokens in the ShuttingDown NACK / StreamEndedEvent lines for that owner path — 4 real tokens rules this out; 1 rules it in.

    Where to look

    Already known?

    The exception type is the designed terminal of the sync-stream ride-out, and bursts of it appear across many owners in the Ops logs (Hosting/Triage threads, UWDeepfield roots, thread nodes) around roll and live-update windows; a sibling incident with the same fingerprint shape on a different owner (PartnerRe/Esl/_Thread/…) was filed today as #6712. This is not a duplicate of #6712 — different owner address, different portal pod, no evidence yet of a shared cause — but whoever picks this up should check both, and whether today's memex-cloud roll/live-update window touched the Store/Stripe module is exactly the reading candidate 1 and 2 above name.

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

    • Last seen: 2026-10-13 19:52:18Z
    • Pods: memex-portal-deployment-54856649cb-m2jn9
    Recent log lines
    2026-10-13 19:52:18Z memex-portal-deployment-54856649cb-m2jn9 fail: MeshWeaver.Blazor.Components.DispatchView[0]
          Loading 'tileStyle' in area 'Overview/1/1/1/1/1' in Area Overview/1/1/1/1/1
          MeshWeaver.Data.Serialization.SyncStreamOwnerRefusedException: Stream _qeQIr5atUWnOqtIf2a7Rw: giving up on owner Store/Payments/_Rejected/973c8980476a49cba8b8059e8e91bf4b — 4 DISTINCT owner activations have refused this stream (budget 3). The address is recycling in a LOOP, not settling: each successor dies before it can answer. The stream now ENDS with this error so its readers can re-read; the fix is at whatever is requesting the recycles, not here.
    2026-10-13 19:52:18Z memex-portal-deployment-54856649cb-m2jn9 fail: MeshWeaver.Blazor.Components.DispatchView[0]
          Loading 'tileStyle' in area 'Overview/1/1/1/1/1' in Area Overview/1/1/1/1/1
          MeshWeaver.Data.Serialization.SyncStreamOwnerRefusedException: Stream _qeQIr5atUWnOqtIf2a7Rw: giving up on owner Store/Payments/_Rejected/973c8980476a49cba8b8059e8e91bf4b — 4 DISTINCT owner activations have refused this stream (budget 3). The address is recycling in a LOOP, not settling: each successor dies before it can answer. The stream now ENDS with this error so its readers can re-read; the fix is at whatever is requesting the recycles, not here.
    2026-10-13 19:52:18Z memex-portal-deployment-54856649cb-m2jn9 fail: MeshWeaver.Blazor.Components.DispatchView[0]
          Loading 'style' in area 'Overview/1/1' in Area Overview/1/1
          MeshWeaver.Data.Serialization.SyncStreamOwnerRefusedException: Stream _qeQIr5atUWnOqtIf2a7Rw: giving up on owner Store/Payments/_Rejected/973c8980476a49cba8b8059e8e91bf4b — 4 DISTINCT owner activations have refused this stream (budget 3). The address is recycling in a LOOP, not settling: each successor dies before it can answer. The stream now ENDS with this error so its readers can re-read; the fix is at whatever is requesting the recycles, not here.
    
  3. systemorph-com commented on Oct 13, 2026

    @systemorph-com
    ContributorAuthor

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

    This issue tracks the log site 19a258eaffea0898 (MeshWeaver.Blazor.Components.DispatchView), 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 addd2e888b821412
    Log site 19a258eaffea0898
    Category MeshWeaver.Blazor.Components.DispatchView
    Severity Error
    Exception MeshWeaver.Data.Serialization.SyncStreamOwnerRefusedException
    Detail Stream HO0YVkEcjEmUYQMy_iqSZg: giving up on owner {path} — {n} DISTINCT owner activations have refused this stream (budget {n}). The address is recycling in a LOOP, not settling: each successor dies before it can answer. The stream now ENDS with this error so its readers can re-read; the fix is at whatever is requesting the recycles, not here.
    Namespace memex-cloud
    Pods memex-portal-deployment-54856649cb-m2jn9
    Occurrences 6
    First seen 2026-10-13 19:52:18Z
    Last seen 2026-10-13 19:52:18Z
    Already folded here 2 fingerprint(s)
    Incident Admin/_LogIncident/addd2e888b821412
    Triage called it Stream owner at Store/Payments/_Rejected/ recycles through 4 activations without settling, ending its sync stream in a refusal-budget loop
    What triage wrote about this fingerprint

    Observed

    One synchronization stream, HO0YVkEcjEmUYQMy_iqSZg, whose owner address is the mesh node Store/Payments/_Rejected/973c8980476a49cba8b8059e8e91bf4b (namespace memex-cloud), exhausted its owner-claim refusal budget: 4 distinct owner activations at that address refused the stream against a budget of 3. The claim never settled — per the exception's own text, the address was recycling in a loop, each successor activation dying before it could answer — and the stream ended with SyncStreamOwnerRefusedException so its readers re-read.

    The failures surfaced in MeshWeaver.Blazor.Components.DispatchView as data-bound loads failing for 'style' in area Overview/1/1 and 'tileStyle' in area Overview/1/1/1/1/1 — i.e. the tile styling of an Overview view bound to that rejected-payment node could not load over this stream. All 6 log lines name the same stream id and the same owner address; this is one ended stream observed at 6 bind sites, not 6 failures.

    The refusing component is the stream-owner claim path in MeshWeaver.Data / MeshWeaver.Connection.Orleans (OrleansRoutingService.RegisterStream, IPodHubGrain.Deliver/Attach, refusal carried as PodHubNotHereException on the grain side), not the Blazor view that logged it.

    Where and when

    A single tight burst — first to last occurrence inside ~17 ms — on one pod (memex-portal-deployment-54856649cb-m2jn9), one stream, one owner address. Not seen on other pods in this incident's window.

    The same signature — "4 DISTINCT owner activations … (budget 3)" — appears in Ops/Logs for other owner addresses earlier in the fleet's history (2026-09-26: Approvals, BinaryClickerV2, UWDeepfield/Broker, UWDeepfield/Section, …; 2026-10-07: RFPProcessor, Essentials/OperationRequest, thread and PR-review paths), so the shape is recurring across addresses; this fingerprint (this category, this owner path) has no prior incident or filed issue.

    Impact

    Bounded and self-terminating for the reader: the stream ends by design so readers re-read, so the user-visible effect is a transient failure to load the bound tile styling for one rejected-payment node on one pod. No data loss indicated. The recurring fleet-wide signature of the same refusal shape at other addresses suggests a shared underlying cause worth one investigation rather than six.

    Not established

    • Why the activations at Store/Payments/_Rejected/973c8980476a49cba8b8059e8e91bf4b kept dying before they could answer the claim. Nothing in this incident's samples says what each successor died of.
    • Whether the node at that path still exists now, or was being deleted/uninstalled at the time.
    • Whether the 4 counted "distinct owner activations" were successive activations of one hub (a genuine recycle loop) or refusals arriving from different silos during an owner migration.
    • Whether this still recurs; the burst is from a single 17 ms window.

    Candidate causes and the reading that separates them

    1. The owner node was going away mid-claim — the rejected-payment node was deleted or torn down while the stream tried to bind, so each successor activation is created and immediately disposed. Predicts a delete/tombstone/DisposeRequest for Store/Payments/_Rejected/973c8980476a49cba8b8059e8e91bf4b in the pod's log within the seconds before 19:52:18.7Z, and the node absent now. Reading: the pod's log lines for that address immediately preceding the burst, and the node's current existence.
    2. The activation at that address faulted on startup and was recycled into the same fault — e.g. its data source init throws each time it is activated (the shape of the Flake on main: FaultedInit_ReachesTerminalFailedState_AndAnswersFast — hub reaches FAILED in 4 ms, the probe request is never rejected (15 s timeout) #2625 wedge). Predicts a repeating init-time exception for the same address across the 4 activations. Reading: the pod's log for a repeated identical exception at that address before each recycle, distinct from case 1's clean disposals.
    3. The refusal count is picking up cross-silo migration refusals — non-owner silos refusing (PodHubNotHereException, per the fix(routing): preserve pod-hub refusals and migrate owner claims #5183 verification script) while the claim migrates, so "4 distinct owner activations" overstates one recycles loop. Predicts the counted activations resolving to different silo addresses. Reading: the per-activation silo identity in the routing/claim log for stream HO0YVkEcjEmUYQMy_iqSZg — one silo dying repeatedly separates 1/2 from 3.

    Where to look

    • The stream-owner claim path: OrleansRoutingService.RegisterStream / PodHubClaimSettled and IPodHubGrain.Deliver/Attach in MeshWeaver.Connection.Orleans; the budget counter that raises MeshWeaver.Data.Serialization.SyncStreamOwnerRefusedException.
    • The owner node Store/Payments/_Rejected/973c8980476a49cba8b8059e8e91bf4b in namespace memex-cloud.
    • Pod memex-portal-deployment-54856649cb-m2jn9 logs, 19:52:15–19:52:19Z on 2026-10-13, for whatever each of the 4 activations died with.
    • Prior same-signature entries under Ops/Logs (2026-09-26, 2026-10-07) for comparison of what their owners died of.

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

    • Last seen: 2026-10-13 19:52:18Z
    • Pods: memex-portal-deployment-54856649cb-m2jn9
    Recent log lines
    2026-10-13 19:52:18Z memex-portal-deployment-54856649cb-m2jn9 fail: MeshWeaver.Blazor.Components.DispatchView[0]
          Loading 'tileStyle' in area 'Overview/1/1/1/1/1' in Area Overview/1/1/1/1/1
          MeshWeaver.Data.Serialization.SyncStreamOwnerRefusedException: Stream HO0YVkEcjEmUYQMy_iqSZg: giving up on owner Store/Payments/_Rejected/973c8980476a49cba8b8059e8e91bf4b — 4 DISTINCT owner activations have refused this stream (budget 3). The address is recycling in a LOOP, not settling: each successor dies before it can answer. The stream now ENDS with this error so its readers can re-read; the fix is at whatever is requesting the recycles, not here.
    2026-10-13 19:52:18Z memex-portal-deployment-54856649cb-m2jn9 fail: MeshWeaver.Blazor.Components.DispatchView[0]
          Loading 'tileStyle' in area 'Overview/1/1/1/1/1' in Area Overview/1/1/1/1/1
          MeshWeaver.Data.Serialization.SyncStreamOwnerRefusedException: Stream HO0YVkEcjEmUYQMy_iqSZg: giving up on owner Store/Payments/_Rejected/973c8980476a49cba8b8059e8e91bf4b — 4 DISTINCT owner activations have refused this stream (budget 3). The address is recycling in a LOOP, not settling: each successor dies before it can answer. The stream now ENDS with this error so its readers can re-read; the fix is at whatever is requesting the recycles, not here.
    2026-10-13 19:52:18Z memex-portal-deployment-54856649cb-m2jn9 fail: MeshWeaver.Blazor.Components.DispatchView[0]
          Loading 'style' in area 'Overview/1/1' in Area Overview/1/1
          MeshWeaver.Data.Serialization.SyncStreamOwnerRefusedException: Stream HO0YVkEcjEmUYQMy_iqSZg: giving up on owner Store/Payments/_Rejected/973c8980476a49cba8b8059e8e91bf4b — 4 DISTINCT owner activations have refused this stream (budget 3). The address is recycling in a LOOP, not settling: each successor dies before it can answer. The stream now ENDS with this error so its readers can re-read; the fix is at whatever is requesting the recycles, not here.
    
  4. systemorph-com commented on Oct 13, 2026

    @systemorph-com
    ContributorAuthor

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

    This issue tracks the log site 19a258eaffea0898 (MeshWeaver.Blazor.Components.DispatchView), 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 5e2dbdd1a93f5884
    Log site 19a258eaffea0898
    Category MeshWeaver.Blazor.Components.DispatchView
    Severity Error
    Exception MeshWeaver.Data.Serialization.SyncStreamOwnerRefusedException
    Detail Stream uv0{n}yPRUkaGh6TCDiRLhA: giving up on owner {path} — {n} DISTINCT owner activations have refused this stream (budget {n}). The address is recycling in a LOOP, not settling: each successor dies before it can answer. The stream now ENDS with this error so its readers can re-read; the fix is at whatever is requesting the recycles, not here.
    Namespace memex-cloud
    Pods memex-portal-deployment-54856649cb-m2jn9
    Occurrences 5
    First seen 2026-10-13 19:52:18Z
    Last seen 2026-10-13 19:52:18Z
    Already folded here 3 fingerprint(s)
    Incident Admin/_LogIncident/5e2dbdd1a93f5884
    Triage called it DispatchView Overview style loads fail as sync-stream owner Admin/Subscriptions/sglauser recycles in a loop — same give-up event already filed as #6723 (duplicate site)
    What triage wrote about this fingerprint

    Observed

    The log site is MeshWeaver.Blazor.Components.DispatchView loading style/tileStyle in Overview areas (Overview/2, Overview/1/1, Overview/1/1/1/1/1). Every load failed with MeshWeaver.Data.Serialization.SyncStreamOwnerRefusedException: stream uv075yPRUkaGh6TCDiRLhA gave up on owner Admin/Subscriptions/sglauser — 4 DISTINCT owner activations refused the stream against a budget of 3. Per the exception's own text, the owner address "is recycling in a LOOP, not settling: each successor dies before it can answer", and the stream deliberately ends with this error so its readers can re-read. This is the sync-stream ride-out's designed give-up path; DispatchView only binds the stream and is not the defect site.

    This is the same event already filed as #6723. Sibling incident Admin/_LogIncident/826b27ba80d09c06 (HtmlView, metaHtml in Overview/1/1/NodeMeta/1) carries the identical stream id, owner path, pod and give-up instant, and was filed as #6723. The 5 lines here are that one stream's terminal re-delivered to its style bindings; this ticket is a duplicate site report of it — a human can close it against #6723 in seconds. The filer should still open it, per the duplicate rule.

    Where and when

    One pod of the memex-cloud portal deployment, one owner, one stream, a sub-10 ms burst. Notably, the same pod produced another give-up seconds-adjacent for a different owner — sibling incident Admin/_LogIncident/04d545c72ffa86f8 (IconView) records stream HO0YVkEcjEmUYQMy_iqSZg giving up on Store/Payments/_Rejected/973c8980476a49cba8b8059e8e91bf4b in the same window. So at least two distinct owner addresses refused their streams on this pod within the same second — the shape of a pod-wide recycle trigger rather than a defect in either owner node.

    Impact

    A viewer's Overview style/tile loads failed at that instant. The stream ends by design so readers can re-read, so the failure is plausibly transient; recovery was not verified. No data loss is indicated. The recurrence of this give-up shape across distinct owners and both portal deployments today (see also #6709, PartnerRe/Esl thread owner, 17:17 UTC on the other deployment) indicates the loop-recycling condition is still live in production after the fleet-wide #5011 investigation.

    Not established

    • What requested the recycles of Admin/Subscriptions/sglauser — the incident carries no stack frame, and I found no recycle/quiesce log line for that address in the window I could read.
    • Whether the address settled after the give-up or kept cycling.
    • Whether the two same-window owners (Admin/Subscriptions/sglauser, Store/Payments/_Rejected/…) share one requester — the coincidence is consistent with a shared trigger but unconfirmed.
    • Whether more owners on this pod gave up in the window beyond the two siblings I read.

    Candidate causes and the reading that separates them

    1. A pod-wide recycle trigger (roll, module live-update, RecycleCascade — the Fleet watch stops observing the fleet, freezing every Ops/Status reading as silently stale history #5011 family). Predicts: multiple owners refusing streams on the same pod in the same window — which the two sibling incidents partially match. Reading: pod logs around the burst for [QUIESCE-START]/recycle-request lines naming BOTH owner addresses; a common requester or common trigger confirms it.
    2. Per-owner activation faults — the Admin/Subscriptions/sglauser hub's successors each dying before they can answer (init/build fault on the Store/Subscription NodeType). Predicts: recycle lines for this address only, and none for Store/Payments/_Rejected/…. Reading: GetDiagnostics on the subscription NodeType plus the pod's quiesce lines; the sibling's different owner weakens this for the pair but cannot exclude it for this address.
    3. Reader-side mis-accounting — a settling teardown charged as 4 distinct activations (the Sync stream give-up leaves the reader on a frozen last value; one owner teardown is counted as several activations #6602-era drift shapes). Predicts: only ONE distinct activation token for the owner in the pod's refusal lines. Reading: count distinct activation tokens in the pod's ShuttingDown/StreamEndedEvent lines for this owner; 4 real tokens rules this out.

    Where to look

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

    • Last seen: 2026-10-13 19:52:18Z
    • Pods: memex-portal-deployment-54856649cb-m2jn9
    Recent log lines
    2026-10-13 19:52:18Z memex-portal-deployment-54856649cb-m2jn9 fail: MeshWeaver.Blazor.Components.DispatchView[0]
          Loading 'tileStyle' in area 'Overview/1/1/1/1/1' in Area Overview/1/1/1/1/1
          MeshWeaver.Data.Serialization.SyncStreamOwnerRefusedException: Stream uv075yPRUkaGh6TCDiRLhA: giving up on owner Admin/Subscriptions/sglauser — 4 DISTINCT owner activations have refused this stream (budget 3). The address is recycling in a LOOP, not settling: each successor dies before it can answer. The stream now ENDS with this error so its readers can re-read; the fix is at whatever is requesting the recycles, not here.
    2026-10-13 19:52:18Z memex-portal-deployment-54856649cb-m2jn9 fail: MeshWeaver.Blazor.Components.DispatchView[0]
          Loading 'tileStyle' in area 'Overview/1/1/1/1/1' in Area Overview/1/1/1/1/1
          MeshWeaver.Data.Serialization.SyncStreamOwnerRefusedException: Stream uv075yPRUkaGh6TCDiRLhA: giving up on owner Admin/Subscriptions/sglauser — 4 DISTINCT owner activations have refused this stream (budget 3). The address is recycling in a LOOP, not settling: each successor dies before it can answer. The stream now ENDS with this error so its readers can re-read; the fix is at whatever is requesting the recycles, not here.
    2026-10-13 19:52:18Z memex-portal-deployment-54856649cb-m2jn9 fail: MeshWeaver.Blazor.Components.DispatchView[0]
          Loading 'style' in area 'Overview/1/1' in Area Overview/1/1
          MeshWeaver.Data.Serialization.SyncStreamOwnerRefusedException: Stream uv075yPRUkaGh6TCDiRLhA: giving up on owner Admin/Subscriptions/sglauser — 4 DISTINCT owner activations have refused this stream (budget 3). The address is recycling in a LOOP, not settling: each successor dies before it can answer. The stream now ENDS with this error so its readers can re-read; the fix is at whatever is requesting the recycles, not here.
    
  5. systemorph-com commented on Oct 13, 2026

    @systemorph-com
    ContributorAuthor

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

    This issue tracks the log site 19a258eaffea0898 (MeshWeaver.Blazor.Components.DispatchView), 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 8085e81dbe84ff1a
    Log site 19a258eaffea0898
    Category MeshWeaver.Blazor.Components.DispatchView
    Severity Error
    Exception MeshWeaver.Data.Serialization.SyncStreamOwnerRefusedException
    Detail Stream {n}rO1{n}c2YSUemubxGFcFQUw: giving up on owner {path} — {n} DISTINCT owner activations have refused this stream (budget {n}). The address is recycling in a LOOP, not settling: each successor dies before it can answer. The stream now ENDS with this error so its readers can re-read; the fix is at whatever is requesting the recycles, not here.
    Namespace memex-cloud
    Pods memex-portal-deployment-54856649cb-54lxb
    Occurrences 4
    First seen 2026-10-13 20:01:57Z
    Last seen 2026-10-13 20:01:57Z
    Already folded here 4 fingerprint(s)
    Incident Admin/_LogIncident/8085e81dbe84ff1a
    Triage called it Sync stream gives up on OIB/AnonymizedTestInput — owner address recycles in a loop and never answers, failing the node's DispatchView area loads
    What triage wrote about this fingerprint

    Observed

    The portal's DispatchView component (MeshWeaver.Blazor.Components.DispatchView) failed all four layout-area loads for one node in a single client render: the Comments plugin's formStyle (twice), emptyStyle and addStyle for areas Comments/CreateForm, Comments/Empty, Comments/Header/Add. Each load terminated with MeshWeaver.Data.Serialization.SyncStreamOwnerRefusedException on sync stream 7rO11c2YSUemubxGFcFQUw: the stream gave up on its owner OIB/AnonymizedTestInput after 4 DISTINCT owner activations refused it against a budget of 3. The exception's own text states the shape: the owner address is recycling in a loop rather than settling — each successor activation dies before it can answer — and the stream is ended with this error so its readers re-read.

    What is observed is therefore two-layered: the visible symptom is four failed area loads in DispatchView; the reported condition is that the message hub for OIB/AnonymizedTestInput could not be brought up — four consecutive activations of that address refused the stream and never answered. DispatchView is the reporter, not the subject.

    Where and when

    One burst on a single pod (memex-portal-deployment-54856649cb-54lxb, namespace memex-cloud), all four occurrences within ~4 ms of each other — the signature of one page render requesting its areas, not a sustained rate. One stream, one owner address, one node. Nothing in the incident says what preceded it; the recycle loop had already completed four activations before the budget tripped.

    Impact

    Judged from the numbers: whoever had OIB/AnonymizedTestInput open gets a broken page (all areas of that hub fail). One node, one client render, one pod — no evidence of other nodes or tenants affected. The underlying condition — an address whose every activation dies before answering — would make that node consistently unviewable for any client while the loop persists, which is a secondary path broken with a clear defect behind it, not an outage.

    Not established

    • Why each owner activation refused the stream. The samples carry only the budget-exhausted summary; the per-activation refusal reason (the exception or condition that killed each successor) is not on this incident.
    • Whether the recycle loop persists or settled. The burst ends at the last sample; the incident carries no later evidence either way.
    • Whether OIB/AnonymizedTestInput still exists. The OIB namespace is not readable from this triage context, so the node could not be inspected; whether it was deleted, renamed or is live-and-looping is undetermined.
    • Whether the activations' own failures appear at other log sites. A hub dying at activation would normally log at its own category; no such incident was found, but absence of an incident is not absence of a log line.
    • The source of SyncStreamOwnerRefusedException was not located in the readable mesh; the file/type named below in Where to look is the log site and the documented dispatch path, not the throw site.

    Candidate causes and the reading that separates them

    1. The hub's activation itself throws — a configuration or NodeType defect for OIB/AnonymizedTestInput kills each activation before it can subscribe the stream; the kernel recycles, the successor dies identically, and the count climbs to the budget. Predicts: a repeating activation-failure stack on the same pod in the seconds before 20:01:57, at the hub's own log category. Discriminating reading: pod logs for the same window filtered to the hub activation/MessageHub categories — the inner exception there is the actual defect; this incident only records that the loop happened.
    2. NodeType recompile churn — if the node's NodeType is being recompiled (each recompile mints a new collectible assembly), activations raced against a moving type and refused. Predicts: compile events for that NodeType in the same window, and the loop settling once compilation finishes. Discriminating reading: build-server / NodeType compile log entries between the node's last change and 20:01:57.
    3. An ownership/serialization mismatch specific to this stream — the exception type lives in MeshWeaver.Data.Serialization; an owner that considers itself the wrong owner for stream 7rO11c2YSUemubxGFcFQUw would refuse without crashing. Predicts: the address does not actually recycle (recycle only appears as a consequence of the refusal), and the same stream id is refused again after a client re-read. Discriminating reading: the refusal-side log line at the owner address naming its reason for refusing, versus a hub-activation stack as in cause 1.

    Where to look

    • The Loading '{style}' in area '{area}' log site in the portal's DispatchView component — the reporter; the area-dispatch path is documented in Layout Areas (hub resolution for LayoutAreaControl / area references, and the host.Workspace.GetMeshNodeStream() / IMeshNodeStreamCache read path it sits on).
    • The throw site of SyncStreamOwnerRefusedException in MeshWeaver.Data.Serialization — not located in the readable mesh from here; start from the exception type name.
    • The hub activation path for address OIB/AnonymizedTestInput on pod memex-portal-deployment-54856649cb-54lxb around 2026-10-13T20:01:57Z — whatever killed each activation is the defect this burst only surfaces.

    Related

    Systemorph/MeshWeaver#6073 covers the same DispatchView area-loading log site on the same pod family with a different exception (DeliveryFailureException against a deleted node, Hardware/SamuelGlauserMacBookAir, 2026-10-04). That was a not-found path; this is a hub-recycle loop on a live- or unknown-state node — same reporter, different failure mode, so it is referenced rather than folded.

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

    • Last seen: 2026-10-13 20:01:57Z
    • Pods: memex-portal-deployment-54856649cb-54lxb
    Recent log lines
    2026-10-13 20:01:57Z memex-portal-deployment-54856649cb-54lxb fail: MeshWeaver.Blazor.Components.DispatchView[0]
          Loading 'emptyStyle' in area 'Comments/Empty' in Area Comments/Empty
          MeshWeaver.Data.Serialization.SyncStreamOwnerRefusedException: Stream 7rO11c2YSUemubxGFcFQUw: giving up on owner OIB/AnonymizedTestInput — 4 DISTINCT owner activations have refused this stream (budget 3). The address is recycling in a LOOP, not settling: each successor dies before it can answer. The stream now ENDS with this error so its readers can re-read; the fix is at whatever is requesting the recycles, not here.
    2026-10-13 20:01:57Z memex-portal-deployment-54856649cb-54lxb fail: MeshWeaver.Blazor.Components.DispatchView[0]
          Loading 'addStyle' in area 'Comments/Header/Add' in Area Comments/Header/Add
          MeshWeaver.Data.Serialization.SyncStreamOwnerRefusedException: Stream 7rO11c2YSUemubxGFcFQUw: giving up on owner OIB/AnonymizedTestInput — 4 DISTINCT owner activations have refused this stream (budget 3). The address is recycling in a LOOP, not settling: each successor dies before it can answer. The stream now ENDS with this error so its readers can re-read; the fix is at whatever is requesting the recycles, not here.
    2026-10-13 20:01:57Z memex-portal-deployment-54856649cb-54lxb fail: MeshWeaver.Blazor.Components.DispatchView[0]
          Loading 'formStyle' in area 'Comments/CreateForm' in Area Comments/CreateForm
          MeshWeaver.Data.Serialization.SyncStreamOwnerRefusedException: Stream 7rO11c2YSUemubxGFcFQUw: giving up on owner OIB/AnonymizedTestInput — 4 DISTINCT owner activations have refused this stream (budget 3). The address is recycling in a LOOP, not settling: each successor dies before it can answer. The stream now ENDS with this error so its readers can re-read; the fix is at whatever is requesting the recycles, not here.
    
  6. systemorph-com commented on Oct 13, 2026

    @systemorph-com
    ContributorAuthor

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

    This issue tracks the log site 19a258eaffea0898 (MeshWeaver.Blazor.Components.DispatchView), 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 46a6119ef849cc90
    Log site 19a258eaffea0898
    Category MeshWeaver.Blazor.Components.DispatchView
    Severity Error
    Exception MeshWeaver.Data.Serialization.SyncStreamOwnerRefusedException
    Detail Stream nejtBAZIXEm3mByv1pC7HA: giving up on owner {path} — {n} DISTINCT owner activations have refused this stream (budget {n}). The address is recycling in a LOOP, not settling: each successor dies before it can answer. The stream now ENDS with this error so its readers can re-read; the fix is at whatever is requesting the recycles, not here.
    Namespace memex-cloud
    Pods memex-portal-deployment-54856649cb-54lxb
    Occurrences 4
    First seen 2026-10-13 20:01:57Z
    Last seen 2026-10-13 20:01:57Z
    Already folded here 5 fingerprint(s)
    Incident Admin/_LogIncident/46a6119ef849cc90
    Triage called it Sync-stream owner refusal terminates DispatchView area loads: address OIB/WhatThisIsFor recycled through 4 distinct owner activations in a loop
    What triage wrote about this fingerprint

    Observed

    The portal's DispatchView component (MeshWeaver.Blazor.Components.DispatchView) failed every layout-area/style load against the hub OIB/WhatThisIsFor, on stream nejtBAZIXEm3mByv1pC7HA. The failures are the Comments plugin's style/area loads (formStyle @ Comments/CreateForm, emptyStyle @ Comments/Empty, addStyle @ Comments/Header/Add), each raised as MeshWeaver.Data.Serialization.SyncStreamOwnerRefusedException. The exception reports that 4 DISTINCT owner activations of address OIB/WhatThisIsFor refused the stream against a budget of 3 — i.e. the owner address recycled through at least four successive grain activations, each dying before it could answer, and the sync-stream machinery then terminated the stream (per the message, so its readers re-read) rather than keep retrying.

    Note: DispatchView is the logger, not necessarily the fault. The message itself states the defect lives at whatever is requesting the recycles.

    Where and when

    All 4 occurrences land within ~10 ms of each other (20:01:57.68–.69Z, 2026-10-13) on a single memex-portal pod (memex-portal-deployment-54856649cb-54lxb, namespace memex-cloud). One burst, one pod, one owner address — not a fleet-wide outage. But this is not a one-off fingerprint in the mesh: the same message shape — giving up on owner <X> — 4 DISTINCT owner activations… — appears in prior log bursts across unrelated owners and deployments: Approvals, BinaryClickerV2, UWDeepfield/Broker, UWDeepfield/Section, UWDeepfield/ConstructionClass, ThinkInStreams/_Policy, RFPProcessor, Essentials/OperationRequest, and several Hosting/Triage/_Thread/… thread paths (see Ops/Logs, Sept–Oct 2026). The per-owner identity changes; the recycling signature is identical. That breadth suggests a mechanism that can hit any owned address, with OIB/WhatThisIsFor being this window's instance of it.

    Impact

    For the user holding OIB/WhatThisIsFor open: the page's areas fail to render (one broken view, presumably recoverable by re-read/navigate). At fleet level the pattern recurs but each burst is small and local. Judged as a clear defect on a secondary path with an easy workaround — sev:M — though if the recycling loop proves systemic to a primary path, that judgement underestimates it.

    Not established

    • Why the address recycled. No log on the incident identifies what killed each of the four successive activations.
    • Whether it still occurs — one burst, ~10 ms window; the stream self-terminated, so the incident may have ended with the stream.
    • Whether OIB/WhatThisIsFor is one node or a whole hub prefix — the portal-side path wasn't resolvable from the incident node alone; it may be a legacy or renamed address.
    • Whether the sibling bursts across other owners share a single cause or merely a shared failure signature.

    Candidate causes and the reading that separates them

    1. A reactivating loop in the owner's own NodeType logic — each successor activation dies on the same error (e.g. a config/source failure), triggering an immediate recycle. Predicts: activation-failure logs on the OIB/WhatThisIsFor hub just before 20:01:57Z. Read: the pod's stdout for activation exceptions at that address in the seconds before the burst.
    2. A systemic recycling defect — given how many distinct owners show this exact signature (unrelated owners, different deployments, different dates), the recycle driver may be shared infrastructure (e.g. a reactivation/handoff path shared across all hubs), not anything specific to OIB/WhatThisIsFor. Predicts: the four deaths on other owners' bursts (e.g. Approvals, UWDeepfield/Broker) also lack an owner-specific cause and cluster around a common event (a roll, a LISTEN/channel loss, a membership churn). Read: correlate the timestamps of the sibling giving up on owner bursts in Ops/Logs with deployment/membership events; if they cluster, that's the shared driver.
    3. An environment/infra event on this pod (roll, OOM, eviction, network partition) killing the hub repeatedly in a short window. Predicts: a single burst localized in time, no recurrence, and pod-level events around 20:01Z. Read: pod restart/eviction history and any concurrent infra logs for memex-portal-deployment-54856649cb-54lxb.

    A related-but-distinct known issue is #6047 (a held read freezes when its owner is handed off and a change notification is lost — same owner-handoff machinery, different symptom: silent freeze vs. explicit refusal termination). That issue was filed on the meshing/delivery layer, not on DispatchView's area loading; worth checking whether it shares the same recycling loop, but this incident is not a duplicate of it.

    Where to look

    • The sync-stream owner-refusal logic in MeshWeaver.Data.Serialization (source of SyncStreamOwnerRefusedException and the "giving up on owner" budget check — budget 3, 4 distinct activations observed).
    • MeshWeaver.Blazor.Components.DispatchView — the "Loading '{style}' in area '{area}'" log site, for how area loads fail when their owning hub's stream terminates.
    • Hub activation/reactivation for address OIB/WhatThisIsFor on pod memex-portal-deployment-54856649cb-54lxb around 20:01:57Z 2026-10-13.
    • Prior bursts with the same signature in Ops/Logs (search giving up on owner) for the cross-owner pattern.

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

    • Last seen: 2026-10-13 20:01:57Z
    • Pods: memex-portal-deployment-54856649cb-54lxb
    Recent log lines
    2026-10-13 20:01:57Z memex-portal-deployment-54856649cb-54lxb fail: MeshWeaver.Blazor.Components.DispatchView[0]
          Loading 'emptyStyle' in area 'Comments/Empty' in Area Comments/Empty
          MeshWeaver.Data.Serialization.SyncStreamOwnerRefusedException: Stream nejtBAZIXEm3mByv1pC7HA: giving up on owner OIB/WhatThisIsFor — 4 DISTINCT owner activations have refused this stream (budget 3). The address is recycling in a LOOP, not settling: each successor dies before it can answer. The stream now ENDS with this error so its readers can re-read; the fix is at whatever is requesting the recycles, not here.
    2026-10-13 20:01:57Z memex-portal-deployment-54856649cb-54lxb fail: MeshWeaver.Blazor.Components.DispatchView[0]
          Loading 'addStyle' in area 'Comments/Header/Add' in Area Comments/Header/Add
          MeshWeaver.Data.Serialization.SyncStreamOwnerRefusedException: Stream nejtBAZIXEm3mByv1pC7HA: giving up on owner OIB/WhatThisIsFor — 4 DISTINCT owner activations have refused this stream (budget 3). The address is recycling in a LOOP, not settling: each successor dies before it can answer. The stream now ENDS with this error so its readers can re-read; the fix is at whatever is requesting the recycles, not here.
    2026-10-13 20:01:57Z memex-portal-deployment-54856649cb-54lxb fail: MeshWeaver.Blazor.Components.DispatchView[0]
          Loading 'formStyle' in area 'Comments/CreateForm' in Area Comments/CreateForm
          MeshWeaver.Data.Serialization.SyncStreamOwnerRefusedException: Stream nejtBAZIXEm3mByv1pC7HA: giving up on owner OIB/WhatThisIsFor — 4 DISTINCT owner activations have refused this stream (budget 3). The address is recycling in a LOOP, not settling: each successor dies before it can answer. The stream now ENDS with this error so its readers can re-read; the fix is at whatever is requesting the recycles, not here.
    
  7. systemorph-com commented on Oct 13, 2026

    @systemorph-com
    ContributorAuthor

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

    This issue tracks the log site 19a258eaffea0898 (MeshWeaver.Blazor.Components.DispatchView), 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 0aacfbdb4d50302b
    Log site 19a258eaffea0898
    Category MeshWeaver.Blazor.Components.DispatchView
    Severity Error
    Exception MeshWeaver.Data.Serialization.SyncStreamOwnerRefusedException
    Detail Stream UUGYFaNslEWJ4hHpidHm_A: giving up on owner {path} — {n} DISTINCT owner activations have refused this stream (budget {n}). The address is recycling in a LOOP, not settling: each successor dies before it can answer. The stream now ENDS with this error so its readers can re-read; the fix is at whatever is requesting the recycles, not here.
    Namespace memex-cloud
    Pods memex-portal-deployment-54856649cb-54lxb
    Occurrences 691
    First seen 2026-10-13 20:01:57Z
    Last seen 2026-10-13 20:01:59Z
    Already folded here 6 fingerprint(s)
    Incident Admin/_LogIncident/0aacfbdb4d50302b
    Triage called it DispatchView area loads end with SyncStreamOwnerRefusedException — thread hub phuong/…where-do-i-add-materials… refused its sync stream from 4 distinct activations in a recycle loop (same give-up as #6706)
    What triage wrote about this fingerprint

    Observed

    The log site is MeshWeaver.Blazor.Components.DispatchView, loading parts of a changes/diff view (beforeStyle, newStyle, afterStyle, deletedStyle, diffStyle into the Header/Changes/Rows/View/Before|New|After|Deleted|Diff areas, plus rootStyle into Header and Header/Changes) of the thread node phuong/_Thread/where-do-i-add-materials-to-build-our-di-e79aaebbd6b6366796a0. Each load faulted with MeshWeaver.Data.Serialization.SyncStreamOwnerRefusedException: sync stream UUGYFaNslEWJ4hHpidHm_A ended after 4 DISTINCT owner activations of that thread address refused it, against the recycle re-arm budget of 3 (JsonSynchronizationStream.MaxRecycleReArms, MeshWeaver.Data). Every line names the same stream, owner and count — this is one give-up event (the give-up warns once and ends the stream, per #6602) fanned out to the many areas subscribed to that one stream. DispatchView is the reporting site, not the defect site; the exception's own text points at whatever was requesting the recycles.

    Duplicate note. The same give-up event — same stream UUGYFaNslEWJ4hHpidHm_A, same owner, same pod, same window — is already filed from the ContainerView site as #6706 (Admin/_LogIncident/4393a99dbeeb2131). This ticket is the DispatchView fan-out of that event; a human can likely fold it into #6706 in seconds.

    Where and when

    One pod of the memex-cloud portal deployment, one owner, one stream, one sub-2-second burst. The volume is the fan-out, not the event count. The discriminating context is what this pod was doing in the surrounding minutes: sibling incidents on the same pod show the sync stream give-up firing on several unrelated owners in the same window — owner rbuergi (stream H85KUkydLka6GGAzmEr_hw, Admin/_LogIncident/58e905334c6c8a8d) within a quarter second of this event, and give-ups on streams nejtBAZIXEm3mByv1pC7HA, HO0YVkEcjEmUYQMy_iqSZg, uv0…yPRUkaGh6TCDiRLhA, _qeQIr5atUWnOqtIf2a7Rw and wEeICD0… between 19:54 and 20:05. That is the "many owners, many probes" shape the framework's own diagnostic names as a recycle storm — each successor dies before it can answer, and the doc says to look at whatever is asking for the recycles, not at any one owner.

    Impact

    One viewer's diff/changes view of that thread faulted at that instant. By the #6602 give-up contract the stream ends loudly and a layout area re-subscribes (AreaErrorClassifier.IsTransientHubFailure, bounded by RetryAreaWithBackoff), so the failure is designed to be transient — whether this page actually recovered was not verified. Judged sev:M: a single give-up on one pod, contained by the designed end-and-re-read. If the pod-wide recycle storm in the 19:54–20:05 window is confirmed as a systemic trigger (see candidates), it re-rules upward.

    Not established

    • What requested the four recycles of the thread address — this incident carries no [QUIESCE-START] line, no dispose attribution and no per-activation fault.
    • Whether the four counted activations were four real activations, or fewer counted double (the Name WHICH recycling failure a ShuttingDown read hit (#2025) #2376/Sync stream give-up leaves the reader on a frozen last value; one owner teardown is counted as several activations #6602 activation-identity drift class: a ShuttingDown NACK or StreamEndedEvent carrying no or mismatched identity makes one settling teardown count as several).
    • Whether the address settled after the give-up or kept cycling.
    • Whether a deployment roll, restart or module live-update coincided with the window — not readable from this incident.
    • The owner thread node is not readable from this identity (the phuong partition returns no results here), so its version history and current state could not be read.

    Candidate causes and the reading that separates them

    1. A pod-wide recycle storm (many owners, many probes). Something was requesting recycles across many addresses on this pod in the 19:54–20:05 window — a roll, a module live-update, a bulk self-heal. Predicts [QUIESCE-START]/recycle lines naming many different addresses in that window, each with a reason. Reading: the pod's [QUIESCE-START] and recycle lines for 19:54–20:05 — each names its requester and its reason.
    2. A real recycle loop at just this thread address. An agent round, retype or live-update touching only phuong/_Thread/where-do-i-add-materials…. Predicts recycle lines naming only this address around 20:01:57–59, plus writes to the thread in those seconds. Reading: the same [QUIESCE-START] filter on this one address, and the thread node's version history around the window.
    3. Activation-tag drift. Fewer real activations than the four counted — one settling teardown charged as four, of the kind Name WHICH recycling failure a ShuttingDown read hit (#2025) #2376/Sync stream give-up leaves the reader on a frozen last value; one owner teardown is counted as several activations #6602 fixed for two carriers. Predicts the four counted tokens resolve to two or three real activations, with the address settling normally. Reading: the per-activation tokens (minted by ShutdownNack, MeshWeaver.Messaging.Contract) on the refusals for stream UUGYFaNslEWJ4hHpidHm_A.

    The [QUIESCE-START] reading separates all three: it names who asked for each teardown and why.

    Where to look

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

    • Last seen: 2026-10-13 20:01:59Z
    • Pods: memex-portal-deployment-54856649cb-54lxb
    Recent log lines
    2026-10-13 20:01:58Z memex-portal-deployment-54856649cb-54lxb fail: MeshWeaver.Blazor.Components.DispatchView[0]
          Loading 'rootStyle' in area 'Header' in Area Header
          MeshWeaver.Data.Serialization.SyncStreamOwnerRefusedException: Stream UUGYFaNslEWJ4hHpidHm_A: giving up on owner phuong/_Thread/where-do-i-add-materials-to-build-our-di-e79aaebbd6b6366796a0 — 4 DISTINCT owner activations have refused this stream (budget 3). The address is recycling in a LOOP, not settling: each successor dies before it can answer. The stream now ENDS with this error so its readers can re-read; the fix is at whatever is requesting the recycles, not here.
    2026-10-13 20:01:58Z memex-portal-deployment-54856649cb-54lxb fail: MeshWeaver.Blazor.Components.DispatchView[0]
          Loading 'rootStyle' in area 'Header/Changes' in Area Header/Changes
          MeshWeaver.Data.Serialization.SyncStreamOwnerRefusedException: Stream UUGYFaNslEWJ4hHpidHm_A: giving up on owner phuong/_Thread/where-do-i-add-materials-to-build-our-di-e79aaebbd6b6366796a0 — 4 DISTINCT owner activations have refused this stream (budget 3). The address is recycling in a LOOP, not settling: each successor dies before it can answer. The stream now ENDS with this error so its readers can re-read; the fix is at whatever is requesting the recycles, not here.
    2026-10-13 20:01:59Z memex-portal-deployment-54856649cb-54lxb fail: MeshWeaver.Blazor.Components.DispatchView[0]
          Loading 'rootStyle' in area 'Header/Changes' in Area Header/Changes
          MeshWeaver.Data.Serialization.SyncStreamOwnerRefusedException: Stream UUGYFaNslEWJ4hHpidHm_A: giving up on owner phuong/_Thread/where-do-i-add-materials-to-build-our-di-e79aaebbd6b6366796a0 — 4 DISTINCT owner activations have refused this stream (budget 3). The address is recycling in a LOOP, not settling: each successor dies before it can answer. The stream now ENDS with this error so its readers can re-read; the fix is at whatever is requesting the recycles, not here.
    
  8. systemorph-com commented on Oct 13, 2026

    @systemorph-com
    ContributorAuthor

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

    This issue tracks the log site 19a258eaffea0898 (MeshWeaver.Blazor.Components.DispatchView), 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 2e03e72e176d5979
    Log site 19a258eaffea0898
    Category MeshWeaver.Blazor.Components.DispatchView
    Severity Error
    Exception MeshWeaver.Data.Serialization.SyncStreamOwnerRefusedException
    Detail Stream daxfo7{n}X4{n}yAQZdHkDPA0Q: giving up on owner {path} — {n} DISTINCT owner activations have refused this stream (budget {n}). The address is recycling in a LOOP, not settling: each successor dies before it can answer. The stream now ENDS with this error so its readers can re-read; the fix is at whatever is requesting the recycles, not here.
    Namespace memex-cloud
    Pods memex-portal-deployment-85f6665f88-mzv8m
    Occurrences 7
    First seen 2026-10-13 20:22:46Z
    Last seen 2026-10-13 20:22:46Z
    Already folded here 7 fingerprint(s)
    Incident Admin/_LogIncident/2e03e72e176d5979
    Triage called it Subscription node Admin/Subscriptions/sglauser recycled through 4 activations without settling — its sync stream ended and Overview tile areas failed to load
    What triage wrote about this fingerprint

    Observed

    The sync stream daxfo70X40yAQZdHkDPA0Q, owned by the subscription node Admin/Subscriptions/sglauser, ended itself with MeshWeaver.Data.Serialization.SyncStreamOwnerRefusedException after 4 DISTINCT owner activations of that address refused the stream against the activation budget (MaxRecycleReArms, 3) — the give-up path of the sync stream's recycle ride-out in JsonSynchronizationStream (MeshWeaver.Data), firing as designed when the owner address recycles in a loop: each successor activation dies before it can answer the stream's re-ask. Per the exception's own text, the stream deliberately ends so its readers can re-read; the defect it points at is whatever requested the recycles.

    The MeshWeaver.Blazor.Components.DispatchView log site is only where the ended stream reached readers: loading tileStyle in the deep-tile area Overview/2/1/1/1/1/1/1 and style in Overview/2/1/1/1. Every sample line carries the same stream id and owner path, so the 7 lines are one stream's terminal re-delivered across its area bindings, not 7 failures.

    Corroborating readings off the mesh: the owner node Admin/Subscriptions/sglauser (Store/Subscription, "sglauser — Enterprise (staff)") reads normally now and its version history shows no change at the burst (last write 2026-09-06), so the loop was in the hub activations of a live, settled node — not a deleted or churning target.

    Where and when

    A single sub-second burst (~21 ms) on one pod of the memex-cloud portal, one stream, one owner address, one namespace (Admin). No deployment roll, module live-update or GitSync writes were read for this window; the Admin partition was quiet for the node.

    Cluster-wide context, read from the sibling incidents: the same exception type fired today (2026-10-13) in at least three other separate bursts — 17:17Z on pod memex-portal-deployment-679d7b6984-tzd87 (owner PartnerRe/Esl/_Thread/…, streams wIRRTO…), 19:52Z on pod memex-portal-deployment-54856649cb-m2jn9 (owner Store/Payments/_Rejected/973c…, streams _qeQI… and HO0YV…), and this one at 20:22Z. Different pods, different owners, different streams — same exception, same "4 DISTINCT activations (budget 3)" wording. Each burst was folded by the watcher into per-log-site incidents; the siblings already filed as #6712, #6723 and #6724.

    Impact

    One user's Overview dashboard tiles (Overview/2/… areas) lost their live styling feeds for the burst window on one pod. Readers are designed to recover (AreaErrorClassifier.IsTransientHubFailure re-subscribes; the stream is meant to be re-read), so impact is bounded to the recycle window. While the loop persisted, the owner address was effectively unavailable to anything reading it.

    Not established

    Candidate causes and the reading that separates them

    1. The owner hub's activation faults during bring-up repeatedly (e.g. an activation/init fault on the Store/Subscription hub at that address). Predicts repeated identical activation/build failures in the pod's log immediately before 20:22:46Z. Reading: the pod's hub-init/activation log lines for Admin/Subscriptions/sglauser in the seconds before the burst.
    2. A systemic recycle trigger (roll, module live-update, or a recycler re-firing per successor). Predicts simultaneous give-ups on many owners/pods — consistent with the three sibling bursts today, but they are minutes apart, which fits poorly and does not exclude it. Reading: deployment/restart events for memex-portal-deployment-85f6665f88-mzv8m around the window, and whether the sibling bursts' pods show the same trigger.
    3. A component explicitly and repeatedly issuing recycles against that address. Predicts [QUIESCE-START]/DisposeRequest lines naming the address, each with a Reason naming the requester. Reading: the pod's log for recycle/quiesce requests naming Admin/Subscriptions/sglauser — the single most decisive line available.
    4. Reader-side mis-accounting — one settling teardown charged as four activations (the Sync stream give-up leaves the reader on a frozen last value; one owner teardown is counted as several activations #6602/Name WHICH recycling failure a ShuttingDown read hit (#2025) #2376 drift shapes: a carrier without or with a wrong activation tag). Predicts only ONE distinct activation token in the pod's ShuttingDown NACK lines for that owner. Reading: count the distinct activation tokens on the refusing NACKs — 4 real tokens rules this out; 1 rules it in. This reading also covers the cluster-wide pattern, which is why it matters most here.

    Already known? Related

    Where to look

    • The budget machinery: JsonSynchronizationStream's recycle re-arm latch and SyncStreamOwnerRefusedException in MeshWeaver.Data — the exception is by design here, not the defect.
    • The owner address Admin/Subscriptions/sglauser and its hub's activation/quiesce log on pod memex-portal-deployment-85f6665f88-mzv8m around 2026-10-13T20:22:46Z.

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

    • Last seen: 2026-10-13 20:22:46Z
    • Pods: memex-portal-deployment-85f6665f88-mzv8m
    Recent log lines
    2026-10-13 20:22:46Z memex-portal-deployment-85f6665f88-mzv8m fail: MeshWeaver.Blazor.Components.DispatchView[0]
          Loading 'tileStyle' in area 'Overview/2/1/1/1/1/1/1' in Area Overview/2/1/1/1/1/1/1
          MeshWeaver.Data.Serialization.SyncStreamOwnerRefusedException: Stream daxfo70X40yAQZdHkDPA0Q: giving up on owner Admin/Subscriptions/sglauser — 4 DISTINCT owner activations have refused this stream (budget 3). The address is recycling in a LOOP, not settling: each successor dies before it can answer. The stream now ENDS with this error so its readers can re-read; the fix is at whatever is requesting the recycles, not here.
    2026-10-13 20:22:46Z memex-portal-deployment-85f6665f88-mzv8m fail: MeshWeaver.Blazor.Components.DispatchView[0]
          Loading 'tileStyle' in area 'Overview/2/1/1/1/1/1/1' in Area Overview/2/1/1/1/1/1/1
          MeshWeaver.Data.Serialization.SyncStreamOwnerRefusedException: Stream daxfo70X40yAQZdHkDPA0Q: giving up on owner Admin/Subscriptions/sglauser — 4 DISTINCT owner activations have refused this stream (budget 3). The address is recycling in a LOOP, not settling: each successor dies before it can answer. The stream now ENDS with this error so its readers can re-read; the fix is at whatever is requesting the recycles, not here.
    2026-10-13 20:22:46Z memex-portal-deployment-85f6665f88-mzv8m fail: MeshWeaver.Blazor.Components.DispatchView[0]
          Loading 'tileStyle' in area 'Overview/2/1/1/1/1/1/1' in Area Overview/2/1/1/1/1/1/1
          MeshWeaver.Data.Serialization.SyncStreamOwnerRefusedException: Stream daxfo70X40yAQZdHkDPA0Q: giving up on owner Admin/Subscriptions/sglauser — 4 DISTINCT owner activations have refused this stream (budget 3). The address is recycling in a LOOP, not settling: each successor dies before it can answer. The stream now ENDS with this error so its readers can re-read; the fix is at whatever is requesting the recycles, not here.
    
  9. systemorph-com commented on Oct 13, 2026

    @systemorph-com
    ContributorAuthor

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

    This issue tracks the log site 19a258eaffea0898 (MeshWeaver.Blazor.Components.DispatchView), 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 76c1b0d9b680b5aa
    Log site 19a258eaffea0898
    Category MeshWeaver.Blazor.Components.DispatchView
    Severity Error
    Exception MeshWeaver.Data.Serialization.SyncStreamOwnerRefusedException
    Detail Stream {n}SFoN8p8{n}CmrYYhEJYi-g: giving up on owner {path} — {n} DISTINCT owner activations have refused this stream (budget {n}). The address is recycling in a LOOP, not settling: each successor dies before it can answer. The stream now ENDS with this error so its readers can re-read; the fix is at whatever is requesting the recycles, not here.
    Namespace memex-cloud
    Pods memex-portal-deployment-85f6665f88-mzv8m
    Occurrences 6
    First seen 2026-10-13 20:22:46Z
    Last seen 2026-10-13 20:22:46Z
    Already folded here 8 fingerprint(s)
    Incident Admin/_LogIncident/76c1b0d9b680b5aa
    Triage called it Sync stream to rejected-payment owner Store/Payments/_Rejected/973c8980… refuses to answer — DispatchView style loads fail while the owner address recycles in a loop
    What triage wrote about this fingerprint

    Observed

    On pod memex-portal-deployment-85f6665f88-mzv8m (namespace memex-cloud), MeshWeaver.Blazor.Components.DispatchView failed while loading the style and tileStyle properties of the view at area Overview/2/1/1/1 (and its nested Overview/2/1/1/1/1/1/1). The load failed with MeshWeaver.Data.Serialization.SyncStreamOwnerRefusedException for sync stream 0SFoN8p830CmrYYhEJYi-g, whose owner address is the rejected-payment record node Store/Payments/_Rejected/973c8980476a49cba8b8059e8e91bf4b.

    The exception states the mechanism: 4 DISTINCT owner activations of that address refused the stream against a budget of 3, and the address was "recycling in a LOOP, not settling: each successor dies before it can answer". The stream was terminated with this error so its readers re-read; the re-read is what surfaces here as repeated view-load failures.

    This incident is one log site of a wider burst at the same instant: sibling LogIncident nodes opened at Label, IconView, HtmlView, ContainerView, LayoutStackView and MarkdownView carry the same stream and owner at the same timestamps — the same refusal reached every component rendering that record. Other streams at the same second (…daxfo7…, …ctBtZg…) and earlier DispatchView incidents at ~20:03–20:10Z show the same exception for other owners, so the pattern is not unique to this node.

    Where and when

    A single tight burst within ~14 ms on one pod, at 2026-10-13T20:22:46Z. Six log lines from one page render of the same record — not a steady rate, not spread across pods. The scoped case is one tenant/namespace and one concrete node.

    Impact

    The portal view of that specific rejected-payment record (Store/Payments/_Rejected/973c8980476a49cba8b8059e8e91bf4b) failed to render its style/tile properties; a user viewing that record's Overview at that moment saw a broken or partial view. Because the stream ends with the error and readers re-read, whether the view recovered depends on whether the owner address settled after the burst — not established here.

    Not established

    • Why the owner activations refused. The incident carries only the client-side symptom; nothing on it shows what killed each activation of Store/Payments/_Rejected/973c8980476a49cba8b8059e8e91bf4b.
    • Whether the burst recurred after 20:22:46Z, and whether other pods saw the same address.
    • Whether the node still exists — the _Rejected store suggests a transient/rejected inbound record that may have been cleaned up while views were still subscribed to it.
    • The exact framework source location: searches for SyncStreamOwnerRefusedException and the DispatchView component in the mesh found no source node; the type/assembly names above are taken verbatim from the exception and log category.
    • No existing GitHub issue covers this symptom (checked Hosting/Triage and Feedback) — this appears to be the first filing, and the sibling incidents at other view components are separate log sites of the same burst.

    Candidate causes and the reading that separates them

    1. Each activation of the owner address dies during its own initialization (e.g. an error while activating the hub for Store/Payments/_Rejected/973c8980476a49cba8b8059e8e91bf4b). Predicts a repeating activation error at the same address in the owning pod's log within the seconds before 20:22:46Z. Reading: the activation/disposal log lines for that address around that timestamp.
    2. An external process kept recycling the address (a delete/re-create, sync, or cleanup racing the subscription — the _Rejected store is plausible churn). Predicts explicit recycle/DisposeRequest log lines naming the same address. Reading: who requested each of the 4 recycles.
    3. The record no longer exists (or is being deleted) while views remain subscribed, so every activation fails to find it. Predicts: the node is absent now, and an existence check on the path settles it in one read.

    The discriminating reading for all three is the owner-side log at the address Store/Payments/_Rejected/973c8980476a49cba8b8059e8e91bf4b around 2026-10-13T20:22:46Z — activation errors, dispose requests, or nothing — plus a present-day existence check of the node.

    Where to look

    • Exception type: MeshWeaver.Data.Serialization.SyncStreamOwnerRefusedException (assembly MeshWeaver.Data.Serialization) — its throw site implements the "distinct owner activations / budget" refusal.
    • Log site: category MeshWeaver.Blazor.Components.DispatchView, the Loading '{property}' in area '{area}' failure path.
    • Concrete case: node Store/Payments/_Rejected/973c8980476a49cba8b8059e8e91bf4b, stream 0SFoN8p830CmrYYhEJYi-g, pod memex-portal-deployment-85f6665f88-mzv8m.
    • Sibling incidents of the same burst: Admin/_LogIncident/15cd7a181fad07f5 (Label, same stream/owner), plus the DispatchView/Label/IconView/HtmlView/ContainerView/LayoutStackView/MarkdownView incidents opened at 20:23:52Z.

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

    • Last seen: 2026-10-13 20:22:46Z
    • Pods: memex-portal-deployment-85f6665f88-mzv8m
    Recent log lines
    2026-10-13 20:22:46Z memex-portal-deployment-85f6665f88-mzv8m fail: MeshWeaver.Blazor.Components.DispatchView[0]
          Loading 'tileStyle' in area 'Overview/2/1/1/1/1/1/1' in Area Overview/2/1/1/1/1/1/1
          MeshWeaver.Data.Serialization.SyncStreamOwnerRefusedException: Stream 0SFoN8p830CmrYYhEJYi-g: giving up on owner Store/Payments/_Rejected/973c8980476a49cba8b8059e8e91bf4b — 4 DISTINCT owner activations have refused this stream (budget 3). The address is recycling in a LOOP, not settling: each successor dies before it can answer. The stream now ENDS with this error so its readers can re-read; the fix is at whatever is requesting the recycles, not here.
    2026-10-13 20:22:46Z memex-portal-deployment-85f6665f88-mzv8m fail: MeshWeaver.Blazor.Components.DispatchView[0]
          Loading 'tileStyle' in area 'Overview/2/1/1/1/1/1/1' in Area Overview/2/1/1/1/1/1/1
          MeshWeaver.Data.Serialization.SyncStreamOwnerRefusedException: Stream 0SFoN8p830CmrYYhEJYi-g: giving up on owner Store/Payments/_Rejected/973c8980476a49cba8b8059e8e91bf4b — 4 DISTINCT owner activations have refused this stream (budget 3). The address is recycling in a LOOP, not settling: each successor dies before it can answer. The stream now ENDS with this error so its readers can re-read; the fix is at whatever is requesting the recycles, not here.
    2026-10-13 20:22:46Z memex-portal-deployment-85f6665f88-mzv8m fail: MeshWeaver.Blazor.Components.DispatchView[0]
          Loading 'style' in area 'Overview/2/1/1/1' in Area Overview/2/1/1/1
          MeshWeaver.Data.Serialization.SyncStreamOwnerRefusedException: Stream 0SFoN8p830CmrYYhEJYi-g: giving up on owner Store/Payments/_Rejected/973c8980476a49cba8b8059e8e91bf4b — 4 DISTINCT owner activations have refused this stream (budget 3). The address is recycling in a LOOP, not settling: each successor dies before it can answer. The stream now ENDS with this error so its readers can re-read; the fix is at whatever is requesting the recycles, not here.
    
  10. systemorph-com commented on Oct 13, 2026

    @systemorph-com
    ContributorAuthor

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

    This issue tracks the log site 19a258eaffea0898 (MeshWeaver.Blazor.Components.DispatchView), 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 797bbeaa68e47f7a
    Log site 19a258eaffea0898
    Category MeshWeaver.Blazor.Components.DispatchView
    Severity Error
    Exception MeshWeaver.Data.Serialization.SyncStreamOwnerRefusedException
    Detail Stream ctBtZgYcpUKmU4{n}Z-{n}wZyQ: giving up on owner {path} — {n} DISTINCT owner activations have refused this stream (budget {n}). The address is recycling in a LOOP, not settling: each successor dies before it can answer. The stream now ENDS with this error so its readers can re-read; the fix is at whatever is requesting the recycles, not here.
    Namespace memex-cloud
    Pods memex-portal-deployment-85f6665f88-mzv8m
    Occurrences 6
    First seen 2026-10-13 20:22:46Z
    Last seen 2026-10-13 20:22:46Z
    Already folded here 9 fingerprint(s)
    Incident Admin/_LogIncident/797bbeaa68e47f7a
    Triage called it Overview tile style streams end when their owner — a retained rejected payment at Store/Payments/_Rejected — recycles four times without settling
    What triage wrote about this fingerprint

    Observed

    The portal component MeshWeaver.Blazor.Components.DispatchView failed to load style in area Overview/2/1/1/1 and tileStyle in area Overview/2/1/1/1/1/1/1 with MeshWeaver.Data.Serialization.SyncStreamOwnerRefusedException on stream ctBtZgYcpUKmU47Z-1wZyQ: 4 DISTINCT owner activations refused the stream against a budget of 3, the owner address Store/Payments/_Rejected/973c8980476a49cba8b8059e8e91bf4b was reported as recycling in a LOOP, not settling — each successor activation dying before it could answer — and the stream ended with the error so its readers can re-read.

    The owner is the per-node hub of a retained rejected webhook delivery: per the Store/Payments runbook, a delivery whose signature did not verify but which names an order is kept at Store/Payments/_Rejected/{id} as evidence (#1069). The failing node is a retained-evidence node, not an order or product node. Two different streams over the same owner (ctBtZgYcpUKmU47Z-1wZyQ and 0SFoN8p830CmrYYhEJYi-g) were refused at the same instant, and the same refusal surfaces in six sibling view-component incidents (MarkdownView a0bda63fb05163b2, Label 6939d9fef79536d4, ContainerView 88558ac59511f99e, LayoutStackView 6acd48d7ea0ba974, HtmlView 735686591451543f, IconView 6984abe2a191d270) — one render fan-out of one failing owner, filed as separate log-site fingerprints.

    A second, unrelated owner hit the identical give-up on the same pod within the same second: Admin/Subscriptions/sglauser (stream daxfo70X40yAQZdHkDPA0Q, also 4 activations against budget 3, fanned across its own sibling incidents, e.g. ContainerView 4ae1c43b09f5b276). So at that instant at least two addresses in unrelated partitions (Store and Admin) were each recycling in a loop — evidence for a multi-address trigger rather than a single poison node.

    Where and when

    One burst of a few milliseconds on one pod in the memex-cloud namespace — consistent with a single viewer's render of an Overview area over the rejected-delivery node, not a steady rate or a fleet-wide event. The simultaneous second owner in Admin/Subscriptions at the same instant is the notable scope fact: whatever recycled these addresses did not do so because of anything specific to the _Rejected node.

    Impact

    One viewer's overview tiles over that node failed to render their styles; the stream is designed to end with this error so a re-read can succeed once the owner settles, and if it does not settle every re-read fails the same way. Read path; no data loss is implied.

    A side observation independent of the recycle loop: the incident implies a retained rejected delivery exists at Store/Payments/_Rejected/973c8980476a49cba8b8059e8e91bf4b. The runbook's own text says a non-empty _Rejected is "always a finding: Stripe called, the signature did not verify, someone may have paid and not been served", and the #1109 record on that page measured _Rejected empty on 2026-09-08. So a delivery has been rejected and retained since that reading — an operational fact this burst surfaces, separate from the stream defect.

    Not established

    • What requested the four (or more) recycles of the owner address. The exception text places the defect at "whatever is requesting the recycles"; this incident carries no quiesce reason, no dispose attribution and no per-activation fault.
    • Why each successor died before answering — no exception from the activations themselves is on this incident.
    • Whether the owner settled after the burst and re-reads succeeded.
    • Whether the delivery node still exists. A direct read as the triage identity returned Not found — consistent with the documented Public/Anonymous deny over the Payments partition (CatalogGate.SensitiveSegments) exactly as with absence; only a Store admin's read discriminates.
    • Whether the two same-second owners share a cause — the evidence is consistent with both a shared trigger and coincidence.
    • Already-known check: the same exception shape was filed twice today on other owners and pods (#6708, Label/changes view; #6713, ThreadChatView), and the shape appears in ops logs in earlier fleet-wide bursts. This is not a duplicate of either — different owner, stream and pod — but the mechanism is plausibly shared, and a human should consider grouping them.

    Candidate causes and the reading that separates them

    1. A self-heal recycler re-triggering on degraded activations. Each fresh activation comes up degraded (error overlay, missing bytes, unresolved pin, compiling) and an armed self-heal disposes it again — WithOverlaySelfHeal or the ArmStaleAssemblySelfHeal convergence branch (the AKS chart sets Modules:AutoRecycleOnStaleBuild true fleet-wide, so the convergence branch posts on its own). Predicts repeated [QUIESCE-START] lines for the owner with self-heal/rebind reasons, a NodeType record reading IsDirty or CompilationStatus = Error, and — if a build/roll landing degraded several types at once — the same shape on other addresses at the same instant, which the Admin/Subscriptions/sglauser burst is consistent with.
    2. The activation retires itself on init (Retiring an Activation): a transient init fault fails the gate, the hub disposes itself, demand routing re-activates it on every read and each reader races a dying activation. Predicts init-fault/gate-failure lines for the address and no [QUIESCE-START] lines at all.
    3. An external actor repeatedly disposing the address — the recycle verb/queue, an install's type cascade, or a governed Hosting/RecycleAction. Predicts quiesce Reasons naming a caller, and audit records (Admin/_Recycle, install logs) naming both addresses at that instant. A single wave explains one dispose per address but not four, unless each successor was re-selected.

    The separating reading is the same for all three: the [QUIESCE-START] lines — or their absence — for Store/Payments/_Rejected/973c8980476a49cba8b8059e8e91bf4b in the seconds before the burst on that pod; their stated Reasons decide. Corroborating readings: Admin/_Recycle and install-log records at the same instant (for the two-owner coincidence), and the NodeType build record of the rejected-delivery node's type via bake-report (for candidate 1).

    Where to look

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

    • Last seen: 2026-10-13 20:22:46Z
    • Pods: memex-portal-deployment-85f6665f88-mzv8m
    Recent log lines
    2026-10-13 20:22:46Z memex-portal-deployment-85f6665f88-mzv8m fail: MeshWeaver.Blazor.Components.DispatchView[0]
          Loading 'tileStyle' in area 'Overview/2/1/1/1/1/1/1' in Area Overview/2/1/1/1/1/1/1
          MeshWeaver.Data.Serialization.SyncStreamOwnerRefusedException: Stream ctBtZgYcpUKmU47Z-1wZyQ: giving up on owner Store/Payments/_Rejected/973c8980476a49cba8b8059e8e91bf4b — 4 DISTINCT owner activations have refused this stream (budget 3). The address is recycling in a LOOP, not settling: each successor dies before it can answer. The stream now ENDS with this error so its readers can re-read; the fix is at whatever is requesting the recycles, not here.
    2026-10-13 20:22:46Z memex-portal-deployment-85f6665f88-mzv8m fail: MeshWeaver.Blazor.Components.DispatchView[0]
          Loading 'tileStyle' in area 'Overview/2/1/1/1/1/1/1' in Area Overview/2/1/1/1/1/1/1
          MeshWeaver.Data.Serialization.SyncStreamOwnerRefusedException: Stream ctBtZgYcpUKmU47Z-1wZyQ: giving up on owner Store/Payments/_Rejected/973c8980476a49cba8b8059e8e91bf4b — 4 DISTINCT owner activations have refused this stream (budget 3). The address is recycling in a LOOP, not settling: each successor dies before it can answer. The stream now ENDS with this error so its readers can re-read; the fix is at whatever is requesting the recycles, not here.
    2026-10-13 20:22:46Z memex-portal-deployment-85f6665f88-mzv8m fail: MeshWeaver.Blazor.Components.DispatchView[0]
          Loading 'style' in area 'Overview/2/1/1/1' in Area Overview/2/1/1/1
          MeshWeaver.Data.Serialization.SyncStreamOwnerRefusedException: Stream ctBtZgYcpUKmU47Z-1wZyQ: giving up on owner Store/Payments/_Rejected/973c8980476a49cba8b8059e8e91bf4b — 4 DISTINCT owner activations have refused this stream (budget 3). The address is recycling in a LOOP, not settling: each successor dies before it can answer. The stream now ENDS with this error so its readers can re-read; the fix is at whatever is requesting the recycles, not here.
    
  11. systemorph-com commented on Oct 13, 2026

    @systemorph-com
    ContributorAuthor

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

    This issue tracks the log site 19a258eaffea0898 (MeshWeaver.Blazor.Components.DispatchView), 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 797bbeaa68e47f7a
    Log site 19a258eaffea0898
    Category MeshWeaver.Blazor.Components.DispatchView
    Severity Error
    Exception MeshWeaver.Data.Serialization.SyncStreamOwnerRefusedException
    Detail Stream ctBtZgYcpUKmU4{n}Z-{n}wZyQ: giving up on owner {path} — {n} DISTINCT owner activations have refused this stream (budget {n}). The address is recycling in a LOOP, not settling: each successor dies before it can answer. The stream now ENDS with this error so its readers can re-read; the fix is at whatever is requesting the recycles, not here.
    Namespace memex-cloud
    Pods memex-portal-deployment-85f6665f88-mzv8m
    Occurrences 6
    First seen 2026-10-13 20:22:46Z
    Last seen 2026-10-13 20:22:46Z
    Already folded here 10 fingerprint(s)
    Incident Admin/_LogIncident/797bbeaa68e47f7a
    Triage called it Overview tile style streams end when their owner — a retained rejected payment at Store/Payments/_Rejected — recycles four times without settling
    What triage wrote about this fingerprint

    Observed

    The portal component MeshWeaver.Blazor.Components.DispatchView failed to load style in area Overview/2/1/1/1 and tileStyle in area Overview/2/1/1/1/1/1/1 with MeshWeaver.Data.Serialization.SyncStreamOwnerRefusedException on stream ctBtZgYcpUKmU47Z-1wZyQ: 4 DISTINCT owner activations refused the stream against a budget of 3, the owner address Store/Payments/_Rejected/973c8980476a49cba8b8059e8e91bf4b was reported as recycling in a LOOP, not settling — each successor activation dying before it could answer — and the stream ended with the error so its readers can re-read.

    The owner is the per-node hub of a retained rejected webhook delivery: per the Store/Payments runbook, a delivery whose signature did not verify but which names an order is kept at Store/Payments/_Rejected/{id} as evidence (#1069). The failing node is a retained-evidence node, not an order or product node. Two different streams over the same owner (ctBtZgYcpUKmU47Z-1wZyQ and 0SFoN8p830CmrYYhEJYi-g) were refused at the same instant, and the same refusal surfaces in six sibling view-component incidents (MarkdownView a0bda63fb05163b2, Label 6939d9fef79536d4, ContainerView 88558ac59511f99e, LayoutStackView 6acd48d7ea0ba974, HtmlView 735686591451543f, IconView 6984abe2a191d270) — one render fan-out of one failing owner, filed as separate log-site fingerprints.

    A second, unrelated owner hit the identical give-up on the same pod within the same second: Admin/Subscriptions/sglauser (stream daxfo70X40yAQZdHkDPA0Q, also 4 activations against budget 3, fanned across its own sibling incidents, e.g. ContainerView 4ae1c43b09f5b276). So at that instant at least two addresses in unrelated partitions (Store and Admin) were each recycling in a loop — evidence for a multi-address trigger rather than a single poison node.

    Where and when

    One burst of a few milliseconds on one pod in the memex-cloud namespace — consistent with a single viewer's render of an Overview area over the rejected-delivery node, not a steady rate or a fleet-wide event. The simultaneous second owner in Admin/Subscriptions at the same instant is the notable scope fact: whatever recycled these addresses did not do so because of anything specific to the _Rejected node.

    Impact

    One viewer's overview tiles over that node failed to render their styles; the stream is designed to end with this error so a re-read can succeed once the owner settles, and if it does not settle every re-read fails the same way. Read path; no data loss is implied.

    A side observation independent of the recycle loop: the incident implies a retained rejected delivery exists at Store/Payments/_Rejected/973c8980476a49cba8b8059e8e91bf4b. The runbook's own text says a non-empty _Rejected is "always a finding: Stripe called, the signature did not verify, someone may have paid and not been served", and the #1109 record on that page measured _Rejected empty on 2026-09-08. So a delivery has been rejected and retained since that reading — an operational fact this burst surfaces, separate from the stream defect.

    Not established

    • What requested the four (or more) recycles of the owner address. The exception text places the defect at "whatever is requesting the recycles"; this incident carries no quiesce reason, no dispose attribution and no per-activation fault.
    • Why each successor died before answering — no exception from the activations themselves is on this incident.
    • Whether the owner settled after the burst and re-reads succeeded.
    • Whether the delivery node still exists. A direct read as the triage identity returned Not found — consistent with the documented Public/Anonymous deny over the Payments partition (CatalogGate.SensitiveSegments) exactly as with absence; only a Store admin's read discriminates.
    • Whether the two same-second owners share a cause — the evidence is consistent with both a shared trigger and coincidence.
    • Already-known check: the same exception shape was filed twice today on other owners and pods (#6708, Label/changes view; #6713, ThreadChatView), and the shape appears in ops logs in earlier fleet-wide bursts. This is not a duplicate of either — different owner, stream and pod — but the mechanism is plausibly shared, and a human should consider grouping them.

    Candidate causes and the reading that separates them

    1. A self-heal recycler re-triggering on degraded activations. Each fresh activation comes up degraded (error overlay, missing bytes, unresolved pin, compiling) and an armed self-heal disposes it again — WithOverlaySelfHeal or the ArmStaleAssemblySelfHeal convergence branch (the AKS chart sets Modules:AutoRecycleOnStaleBuild true fleet-wide, so the convergence branch posts on its own). Predicts repeated [QUIESCE-START] lines for the owner with self-heal/rebind reasons, a NodeType record reading IsDirty or CompilationStatus = Error, and — if a build/roll landing degraded several types at once — the same shape on other addresses at the same instant, which the Admin/Subscriptions/sglauser burst is consistent with.
    2. The activation retires itself on init (Retiring an Activation): a transient init fault fails the gate, the hub disposes itself, demand routing re-activates it on every read and each reader races a dying activation. Predicts init-fault/gate-failure lines for the address and no [QUIESCE-START] lines at all.
    3. An external actor repeatedly disposing the address — the recycle verb/queue, an install's type cascade, or a governed Hosting/RecycleAction. Predicts quiesce Reasons naming a caller, and audit records (Admin/_Recycle, install logs) naming both addresses at that instant. A single wave explains one dispose per address but not four, unless each successor was re-selected.

    The separating reading is the same for all three: the [QUIESCE-START] lines — or their absence — for Store/Payments/_Rejected/973c8980476a49cba8b8059e8e91bf4b in the seconds before the burst on that pod; their stated Reasons decide. Corroborating readings: Admin/_Recycle and install-log records at the same instant (for the two-owner coincidence), and the NodeType build record of the rejected-delivery node's type via bake-report (for candidate 1).

    Where to look

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

    • Last seen: 2026-10-13 20:22:46Z
    • Pods: memex-portal-deployment-85f6665f88-mzv8m
    Recent log lines
    2026-10-13 20:22:46Z memex-portal-deployment-85f6665f88-mzv8m fail: MeshWeaver.Blazor.Components.DispatchView[0]
          Loading 'tileStyle' in area 'Overview/2/1/1/1/1/1/1' in Area Overview/2/1/1/1/1/1/1
          MeshWeaver.Data.Serialization.SyncStreamOwnerRefusedException: Stream ctBtZgYcpUKmU47Z-1wZyQ: giving up on owner Store/Payments/_Rejected/973c8980476a49cba8b8059e8e91bf4b — 4 DISTINCT owner activations have refused this stream (budget 3). The address is recycling in a LOOP, not settling: each successor dies before it can answer. The stream now ENDS with this error so its readers can re-read; the fix is at whatever is requesting the recycles, not here.
    2026-10-13 20:22:46Z memex-portal-deployment-85f6665f88-mzv8m fail: MeshWeaver.Blazor.Components.DispatchView[0]
          Loading 'tileStyle' in area 'Overview/2/1/1/1/1/1/1' in Area Overview/2/1/1/1/1/1/1
          MeshWeaver.Data.Serialization.SyncStreamOwnerRefusedException: Stream ctBtZgYcpUKmU47Z-1wZyQ: giving up on owner Store/Payments/_Rejected/973c8980476a49cba8b8059e8e91bf4b — 4 DISTINCT owner activations have refused this stream (budget 3). The address is recycling in a LOOP, not settling: each successor dies before it can answer. The stream now ENDS with this error so its readers can re-read; the fix is at whatever is requesting the recycles, not here.
    2026-10-13 20:22:46Z memex-portal-deployment-85f6665f88-mzv8m fail: MeshWeaver.Blazor.Components.DispatchView[0]
          Loading 'style' in area 'Overview/2/1/1/1' in Area Overview/2/1/1/1
          MeshWeaver.Data.Serialization.SyncStreamOwnerRefusedException: Stream ctBtZgYcpUKmU47Z-1wZyQ: giving up on owner Store/Payments/_Rejected/973c8980476a49cba8b8059e8e91bf4b — 4 DISTINCT owner activations have refused this stream (budget 3). The address is recycling in a LOOP, not settling: each successor dies before it can answer. The stream now ENDS with this error so its readers can re-read; the fix is at whatever is requesting the recycles, not here.
    
  12. rbuergi commented on Oct 14, 2026

    @rbuergi
    Contributor

    This is a duplicate of #6729, which is the anchor for the whole SyncStreamOwnerRefusedException family. The fix is in #6756.

    The root cause was the subscriber's own host stopping, not an owner recycle loop. The pod logged Application is shutting down... in the same second as this burst. Its router answered each re-ask with an untagged ShuttingDown refusal (Host is shutting down, cannot route to …), and the sync stream counted each of those as a "distinct owner activation". The fix rides out such routing-layer refusals on the paced time axis, and their give-up names the route instead of an owner.

    Closing as a duplicate. Verification follows on #6729.

  13. systemorph-com commented on Oct 14, 2026

    @systemorph-com
    ContributorAuthor

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

    This issue tracks the log site 19a258eaffea0898 (MeshWeaver.Blazor.Components.DispatchView), 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 db058e1f769a9600
    Log site 19a258eaffea0898
    Category MeshWeaver.Blazor.Components.DispatchView
    Severity Error
    Exception MeshWeaver.Data.Serialization.SyncStreamOwnerRefusedException
    Detail Stream IGyFG7mKpU6xDUJA2KdWdg: giving up on owner {path} — {n} DISTINCT owner activations have refused this stream (budget {n}). The address is recycling in a LOOP, not settling: each successor dies before it can answer. The stream now ENDS with this error so its readers can re-read; the fix is at whatever is requesting the recycles, not here.
    Namespace memex-cloud
    Pods memex-portal-deployment-6bd97645d4-fwns9
    Occurrences 6
    First seen 2026-10-14 07:26:58Z
    Last seen 2026-10-14 07:26:58Z
    Already folded here 10 fingerprint(s)
    Incident Admin/_LogIncident/db058e1f769a9600
    Triage called it DispatchView area rendering fails with SyncStreamOwnerRefusedException: owner of Store/Payments/_Rejected/973c8980476a49cba8b8059e8e91bf4b recycles in a loop and refuses its sync stream
    What triage wrote about this fingerprint

    Observed

    A sync stream bound to the rejected-payment view Store/Payments/_Rejected/973c8980476a49cba8b8059e8e91bf4b was closed with SyncStreamOwnerRefusedException by the serialization layer after 4 distinct owner activations refused the stream against a budget of 3 — the owner address at that path was activated, recycled, and re-activated in a loop, each activation dying before it could answer the stream handshake. The stream IGyFG7mKpU6xDUJA2KdWdg then terminated with this error so readers re-read. The log site is MeshWeaver.Blazor.Components.DispatchView, which surfaced the failure while loading style / tileStyle in the view's areas (Overview/2/1/1/1, Overview/2/1/2, Overview/2/1/1/1/1/1/1) — i.e. the area render aborted, not just one property.

    Where and when

    One pod of the memex-cloud namespace (memex-portal-deployment-6bd97645d4-fwns9), all six occurrences inside a ~30 ms window at 07:26:58Z — one stream, one owner, fanned out to its dependent area renderers, not a fleet-wide condition. The exception's own message states the address is recycling in a loop rather than settling. On this hub, Store/Payments/_Rejected/973c8980476a49cba8b8059e8e91bf4b was not readable (search under the store partition and a direct get both return not-found), consistent with the loop being tied to this specific node's lifecycle rather than a systemic stream-budget problem. The same "giving up on owner … 4 DISTINCT owner activations" signature has been logged for other owners on other namespaces before (e.g. Ops/Logs/memex-1790402113511646707-94f9b5-ggf88), so the mechanism is not unique to this node — but this incident is scoped to one node on one pod.

    Impact

    The view at Store/Payments/_Rejected/973c8980476a49cba8b8059e8e91bf4b failed to render its overview — a user-visible, presumably intermittent failure for anyone watching that rejected payment, with an easy workaround (the stream ends so its readers can re-read). Not a portal-wide outage.

    Not established

    • Why the owner at Store/Payments/_Rejected/973c8980476a49cba8b8059e8e91bf4b kept recycling. The exception states the loop exists but not what drives it.
    • Whether the node itself is malformed, deleted mid-cycle, or its hub crashes on activation. The node is not readable from this hub now; it could be deleted, mis-routed, or in a namespace that is not synced here. Nothing on the incident distinguishes these.
    • Whether it still recurs — one burst on one pod, observed at 07:26:58Z; no evidence before or after.
    • Whether the 4 vs budget 3 shape and the other historical owners' failures share a root cause — not read.
    • No stack frames were captured beyond the top application frame at DispatchView — the activation-side (hub recycle) logs are not part of this incident's evidence.

    Candidate causes and the reading that separates them

    1. The owner hub at that path crashes on activation (e.g. corrupt or unreadable node content, a deserialization failure in the rejected-payment view's hub init). Predicts an exception/log line at the hub's activation site for the same timestamp window. Reading: the pod's log for Store/Payments/_Rejected/973c8980476a49cba8b8059e8e91bf4b around 07:26:58Z, at the stream-hub / grain-activation log category, would show the same per-activation failure repeated 4 times.
    2. The node was being deleted or moved while the stream was open, so each activation resolves to nothing and the address recycles. Predicts a Delete/Move/Update write or a sync event on that node within the window. Reading: the node's version history / write log around 07:26:58Z.
    3. The address is mis-routed — the node lives in a namespace this hub does not serve, and activation keeps landing on a surrogate that refuses. Predicts the node being readable from another instance/namespace but not this one (consistent with the not-found read here, but not proof). Reading: check the mesh-wide partition list for a Store/Payments namespace or the node's sync/routing record on the owning instance.

    Where to look

    • The exception type: MeshWeaver.Data.Serialization.SyncStreamOwnerRefusedException — thrown where the sync-stream layer gives up on owner activations (the message text is the layer's own wording; search SyncStreamOwnerRefusedException in the MeshWeaver framework source).
    • The log site that surfaced it: MeshWeaver.Blazor.Components.DispatchView, loading style/tileStyle in the view areas.
    • The concrete case: owner path Store/Payments/_Rejected/973c8980476a49cba8b8059e8e91bf4b, stream IGyFG7mKpU6xDUJA2KdWdg, pod memex-portal-deployment-6bd97645d4-fwns9.
    • Related but not established as the same defect: issue Systemorph/MeshWeaver.Plugins#2798 (a stream-refusal on a Store view, but from SynchronizationStream.AcceptInputFromSubscriberOnly — a different mechanism, recorded here only so a human can close the cross-link quickly).

    Left closed — this ticket was closed as NOT PLANNED, which is a decision rather than a claim that the fault stopped. The occurrences below are recorded here; if the decision should change, that is a person's call and not a recurrence's.

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

    • Last seen: 2026-10-14 07:26:58Z
    • Pods: memex-portal-deployment-6bd97645d4-fwns9
    Recent log lines
    2026-10-14 07:26:58Z memex-portal-deployment-6bd97645d4-fwns9 fail: MeshWeaver.Blazor.Components.DispatchView[0]
          Loading 'tileStyle' in area 'Overview/2/1/1/1/1/1/1' in Area Overview/2/1/1/1/1/1/1
          MeshWeaver.Data.Serialization.SyncStreamOwnerRefusedException: Stream IGyFG7mKpU6xDUJA2KdWdg: giving up on owner Store/Payments/_Rejected/973c8980476a49cba8b8059e8e91bf4b — 4 DISTINCT owner activations have refused this stream (budget 3). The address is recycling in a LOOP, not settling: each successor dies before it can answer. The stream now ENDS with this error so its readers can re-read; the fix is at whatever is requesting the recycles, not here.
    2026-10-14 07:26:58Z memex-portal-deployment-6bd97645d4-fwns9 fail: MeshWeaver.Blazor.Components.DispatchView[0]
          Loading 'tileStyle' in area 'Overview/2/1/1/1/1/1/1' in Area Overview/2/1/1/1/1/1/1
          MeshWeaver.Data.Serialization.SyncStreamOwnerRefusedException: Stream IGyFG7mKpU6xDUJA2KdWdg: giving up on owner Store/Payments/_Rejected/973c8980476a49cba8b8059e8e91bf4b — 4 DISTINCT owner activations have refused this stream (budget 3). The address is recycling in a LOOP, not settling: each successor dies before it can answer. The stream now ENDS with this error so its readers can re-read; the fix is at whatever is requesting the recycles, not here.
    2026-10-14 07:26:58Z memex-portal-deployment-6bd97645d4-fwns9 fail: MeshWeaver.Blazor.Components.DispatchView[0]
          Loading 'style' in area 'Overview/2/1/1/1' in Area Overview/2/1/1/1
          MeshWeaver.Data.Serialization.SyncStreamOwnerRefusedException: Stream IGyFG7mKpU6xDUJA2KdWdg: giving up on owner Store/Payments/_Rejected/973c8980476a49cba8b8059e8e91bf4b — 4 DISTINCT owner activations have refused this stream (budget 3). The address is recycling in a LOOP, not settling: each successor dies before it can answer. The stream now ENDS with this error so its readers can re-read; the fix is at whatever is requesting the recycles, not here.
    
  14. systemorph-com commented on Oct 14, 2026

    @systemorph-com
    ContributorAuthor

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

    This issue tracks the log site 19a258eaffea0898 (MeshWeaver.Blazor.Components.DispatchView), 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 aebee61e6325fca7
    Log site 19a258eaffea0898
    Category MeshWeaver.Blazor.Components.DispatchView
    Severity Error
    Exception MeshWeaver.Data.Serialization.SyncStreamOwnerRefusedException
    Detail Stream nZAlMSigYEeetBkkgrZ0rA: giving up on owner {path} — {n} DISTINCT owner activations have refused this stream (budget {n}). The address is recycling in a LOOP, not settling: each successor dies before it can answer. The stream now ENDS with this error so its readers can re-read; the fix is at whatever is requesting the recycles, not here.
    Namespace memex-cloud
    Pods memex-portal-deployment-6bd97645d4-fwns9
    Occurrences 6
    First seen 2026-10-14 07:26:58Z
    Last seen 2026-10-14 07:26:58Z
    Already folded here 11 fingerprint(s)
    Incident Admin/_LogIncident/aebee61e6325fca7
    Triage called it Portal stream nZAlMSigYEeetBkkgrZ0rA gives up — owner address Admin/Subscriptions/sglauser recycled through 4 activations without settling
    What triage wrote about this fingerprint

    Observed

    A portal viewer's DispatchView area/style loads (style for Overview/2/1/2 and Overview/2/1/1/1, tileStyle for Overview/2/1/1/1/1/1/1) failed with MeshWeaver.Data.Serialization.SyncStreamOwnerRefusedException: stream nZAlMSigYEeetBkkgrZ0rA gave up on owner Admin/Subscriptions/sglauser after 4 DISTINCT owner activations refused the stream, against a budget of 3 — the exception's own text records that the address was "recycling in a LOOP, not settling: each successor dies before it can answer".

    This exception is the client-side stream's designed terminal, not the defect itself: per Hub Initialization Failure, the resubscribe latch in SynchronizationStream rides out address recycling, and this give-up is what ends the stream "so its readers can re-read". DispatchView is only the reporter — the category names the logger, not the subject. The observation to explain is on the owner side: the per-node hub at Admin/Subscriptions/sglauser went through at least four activations in one window, each dying before it could answer the stream's re-subscribe.

    Where and when

    One pod (memex-portal-deployment-6bd97645d4-fwns9, namespace memex-cloud), one 34 ms burst at 2026-10-14 07:26:58Z, six log lines, every one the same stream id and the same owner address — a single viewer session's area loads on one page. Not a fleet-wide or sustained event as far as this burst shows. Variants: 1 — a single shape.

    Impact

    One user's Overview/… view: its style/area stream ended mid-load. Because the stream ends by design so readers re-read, the user-visible symptom is bounded to that moment and session — unless the recycle loop at the owner persists, which this burst alone does not show.

    Not established

    • Why the address recycled. No owner-side log line was captured in this burst; the stream's give-up is the only witness. Nothing here says which pod serves Admin/Subscriptions/sglauser.
    • Whether the loop continued past this burst, or was four activations inside one fault event.
    • Whether other streams on the same address hit the same refusals — the fingerprint is stream-id specific, so neighbours at the same owner would file under other fingerprints.
    • Whether the burst coincided with a roll, restart or write on the node.

    Candidate causes and the reading that separates them

    1. A sustained transient infrastructure fault at the owner (PostgreSQL database at 10.42.18.4:5432 is unreachable — all MessageHub sync initializations fail with connection timeout #4067 shape). Each fresh activation fails init on a transient fault and is retired (per-node hubs carry WithReactivationOnDemand(), per Hub Initialization Failure); the stream's paced re-subscribe activates the next one, which fails again — the designed loop under a sustained outage. Predicts: initialization failed … transient infrastructure fault … this activation is retired lines (Npgsql/Socket shapes) on the owning pod around 07:26:58Z, and the loop ends when the dependency returns.
    2. Recycle/rebind churn at the address. Something keeps requesting recycles or rebinds for Admin/Subscriptions/sglauser — a NodeType rebind (NodeTypeRebindWatcher), a change-feed eviction, or a writer on the user's Subscriptions node. Predicts: repeated teardown lines naming the address, each with its recorded cause (a hub teardown "says what caused it" since 2026-09-20), naming the requester.
    3. A recurring init fault that is classified transient but is not — e.g. a TimeoutException-hang retirement of the DataContext init time-box firing on every activation. Predicts: the same recorded init reason on each of the four activations.

    Discriminating reading: the owner hub's teardown and init-failure log lines for Admin/Subscriptions/sglauser in the seconds before 07:26:58Z, on whichever pod serves that address. The recorded cause of each of the four teardowns separates 1–3 in one look.

    Where to look

    • The resubscribe latch and give-up budget in SynchronizationStream (src/MeshWeaver.Data/Serialization/SynchronizationStream.cs) — what "refused" means per activation.
    • The owner-side activation seams named in Hub Initialization Failure: MessageHub.HandleInitialize, DataContext.SettleInitializationGate, NodeTypeRebindWatcher.WithNodeTypeRebind.
    • The per-node hub lifecycle in The sync/ Hub Population §8 (what creates and retires a per-node activation and what its registry keeps).
    • The Admin/Subscriptions/sglauser node itself — whether anything was writing it at the time.

    Duplicate check: not a duplicate of #6073 (that is DeliveryFailureException on a hub whose node was deleted — a determinate absent node, not a recycling one). The recycle-race tickets #6217, #6034, #6022 cover other paths and are not this symptom.

    Left closed — this ticket was closed as NOT PLANNED, which is a decision rather than a claim that the fault stopped. The occurrences below are recorded here; if the decision should change, that is a person's call and not a recurrence's.

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

    • Last seen: 2026-10-14 07:26:58Z
    • Pods: memex-portal-deployment-6bd97645d4-fwns9
    Recent log lines
    2026-10-14 07:26:58Z memex-portal-deployment-6bd97645d4-fwns9 fail: MeshWeaver.Blazor.Components.DispatchView[0]
          Loading 'tileStyle' in area 'Overview/2/1/1/1/1/1/1' in Area Overview/2/1/1/1/1/1/1
          MeshWeaver.Data.Serialization.SyncStreamOwnerRefusedException: Stream nZAlMSigYEeetBkkgrZ0rA: giving up on owner Admin/Subscriptions/sglauser — 4 DISTINCT owner activations have refused this stream (budget 3). The address is recycling in a LOOP, not settling: each successor dies before it can answer. The stream now ENDS with this error so its readers can re-read; the fix is at whatever is requesting the recycles, not here.
    2026-10-14 07:26:58Z memex-portal-deployment-6bd97645d4-fwns9 fail: MeshWeaver.Blazor.Components.DispatchView[0]
          Loading 'tileStyle' in area 'Overview/2/1/1/1/1/1/1' in Area Overview/2/1/1/1/1/1/1
          MeshWeaver.Data.Serialization.SyncStreamOwnerRefusedException: Stream nZAlMSigYEeetBkkgrZ0rA: giving up on owner Admin/Subscriptions/sglauser — 4 DISTINCT owner activations have refused this stream (budget 3). The address is recycling in a LOOP, not settling: each successor dies before it can answer. The stream now ENDS with this error so its readers can re-read; the fix is at whatever is requesting the recycles, not here.
    2026-10-14 07:26:58Z memex-portal-deployment-6bd97645d4-fwns9 fail: MeshWeaver.Blazor.Components.DispatchView[0]
          Loading 'style' in area 'Overview/2/1/1/1' in Area Overview/2/1/1/1
          MeshWeaver.Data.Serialization.SyncStreamOwnerRefusedException: Stream nZAlMSigYEeetBkkgrZ0rA: giving up on owner Admin/Subscriptions/sglauser — 4 DISTINCT owner activations have refused this stream (budget 3). The address is recycling in a LOOP, not settling: each successor dies before it can answer. The stream now ENDS with this error so its readers can re-read; the fix is at whatever is requesting the recycles, not here.
    
  15. systemorph-com commented on Oct 14, 2026

    @systemorph-com
    ContributorAuthor

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

    This issue tracks the log site 19a258eaffea0898 (MeshWeaver.Blazor.Components.DispatchView), 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 bb44668bb70d7c07
    Log site 19a258eaffea0898
    Category MeshWeaver.Blazor.Components.DispatchView
    Severity Error
    Exception MeshWeaver.Data.Serialization.SyncStreamOwnerRefusedException
    Detail Stream AC0OZ9PNY0{n}p8JZZl2hnjA: giving up on owner {path} — {n} DISTINCT owner activations have refused this stream (budget {n}). The address is recycling in a LOOP, not settling: each successor dies before it can answer. The stream now ENDS with this error so its readers can re-read; the fix is at whatever is requesting the recycles, not here.
    Namespace memex
    Pods memex-portal-deployment-567896cdc8-84nqz
    Occurrences 33
    First seen 2026-10-14 10:25:48Z
    Last seen 2026-10-14 10:25:48Z
    Already folded here 12 fingerprint(s)
    Incident Admin/_LogIncident/bb44668bb70d7c07
    Triage called it Thread-hub address recycles in a loop, refusing its DispatchView sync stream until the owner-refusal budget is exhausted (mkleiner/_Thread/wo-ist-jetzt-der-businessplan-fd1de4a8cc8b305e8df8)
    What triage wrote about this fingerprint

    Observed

    The portal DispatchView on the memex instance lost its sync stream for one thread address. The stream AC0OZ9PNY06p8JZZl2hnjA, owned by the thread mkleiner/_Thread/wo-ist-jetzt-der-businessplan-fd1de4a8cc8b305e8df8 ("Wo ist jetzt der Businessplan?"), terminated with MeshWeaver.Data.Serialization.SyncStreamOwnerRefusedException: 4 distinct owner activations refused the stream against a budget of 3, because the owning address was recycling in a loop — each successive activation of the thread hub died before it could answer the stream subscription. The affected reader is the rootStyle stream rendered by DispatchView in areas Header and Header/Changes of the thread view. The sync layer deliberately ended the stream with this error so readers re-read.

    The exception's own text states the failure is at whatever is requesting the recycles, not at the stream layer — that is the component's own account, recorded here as evidence, not a diagnosis.

    Where and when

    A single tight burst (~100 ms) on one portal pod in namespace memex, all 33 occurrences the same stream, owner and exception. One tenant, one address, one instant. The thread's last recorded activity precedes the burst by about 85 seconds (its agent turn, ExecutiveAssistant on Provider/OpenRouterEU/z-ai/glm-5.3, had just completed at 10:24:23Z; the burst starts 10:25:48Z) — a coincidence in time I can see but cannot attribute.

    The same exception shape appears in Ops/Logs at other owner addresses on 2026-09-26 and 2026-10-07 (multiple owners each, e.g. Ops/Logs/memex-1790402113503977816-94f9b5-ggf88 and the memex-1791273… cluster), so this is a recurring failure mode of the recycle/owner-refusal mechanism, not a one-off — but no prior incident or filed issue covers it, so this is not a duplicate.

    Impact

    One user's portal view of one thread failed to load its header components during the loop. No evidence of data loss or of the failure spreading beyond this address. Because the stream ends so readers re-read, the view presumably recovers once the address stops recycling; whether it did is not established.

    Not established

    • The cause: what requested the recycles, and why each successor activation died before answering, is not on the incident. The exception names the loop's shape, not its driver.
    • Whether the loop was still ongoing after the burst window, and whether the thread view recovered.
    • Whether other log sites on the pod show the same address recycling (only this DispatchView site is fingerprinted here).
    • Whether the earlier 09-26 / 10-07 bursts share this burst's cause; same exception, different owners, no evidence either way.

    Candidate causes and the reading that separates them

    1. Each activation of the thread hub fails during its own init — the hub restarts, hits the same init failure, recycles again. Predicts activation/init error logs for this address at the same instants, with a repeating identical exception. Discriminating reading: hub init logs for mkleiner/_Thread/wo-ist-jetzt-der-businessplan-fd1de4a8cc8b305e8df8 on pod memex-portal-deployment-567896cdc8-84nqz around 10:25:48Z.
    2. An external process is repeatedly requesting recycles of this address — the activation is healthy but torn down before it can answer, faster than the stream can settle. Predicts [QUIESCE-START]/recycle-request log lines naming a requester and reason for this address in quick succession. Discriminating reading: the same pod's logs for recycle requests at that path in the burst window; the reason carried into each quiesce line identifies the requester.
    3. The stream subscription races normal activation churn — the address recycles for a legitimate reason each time and the refusal budget is merely too small for the churn rate. Predicts recycles spaced by seconds-to-minutes rather than a tight loop, and refusals spread over the same span. Discriminating reading: timestamps of the individual owner-activation refusals inside the stream (spread vs. back-to-back) and of the recycles.

    Where to look

    Left closed — this ticket was closed as NOT PLANNED, which is a decision rather than a claim that the fault stopped. The occurrences below are recorded here; if the decision should change, that is a person's call and not a recurrence's.

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

    • Last seen: 2026-10-14 10:25:48Z
    • Pods: memex-portal-deployment-567896cdc8-84nqz
    Recent log lines
    2026-10-14 10:25:48Z memex-portal-deployment-567896cdc8-84nqz fail: MeshWeaver.Blazor.Components.DispatchView[0]
          Loading 'rootStyle' in area 'Header/Changes' in Area Header/Changes
          MeshWeaver.Data.Serialization.SyncStreamOwnerRefusedException: Stream AC0OZ9PNY06p8JZZl2hnjA: giving up on owner mkleiner/_Thread/wo-ist-jetzt-der-businessplan-fd1de4a8cc8b305e8df8 — 4 DISTINCT owner activations have refused this stream (budget 3). The address is recycling in a LOOP, not settling: each successor dies before it can answer. The stream now ENDS with this error so its readers can re-read; the fix is at whatever is requesting the recycles, not here.
    2026-10-14 10:25:48Z memex-portal-deployment-567896cdc8-84nqz fail: MeshWeaver.Blazor.Components.DispatchView[0]
          Loading 'rootStyle' in area 'Header/Changes' in Area Header/Changes
          MeshWeaver.Data.Serialization.SyncStreamOwnerRefusedException: Stream AC0OZ9PNY06p8JZZl2hnjA: giving up on owner mkleiner/_Thread/wo-ist-jetzt-der-businessplan-fd1de4a8cc8b305e8df8 — 4 DISTINCT owner activations have refused this stream (budget 3). The address is recycling in a LOOP, not settling: each successor dies before it can answer. The stream now ENDS with this error so its readers can re-read; the fix is at whatever is requesting the recycles, not here.
    2026-10-14 10:25:48Z memex-portal-deployment-567896cdc8-84nqz fail: MeshWeaver.Blazor.Components.DispatchView[0]
          Loading 'rootStyle' in area 'Header/Changes' in Area Header/Changes
          MeshWeaver.Data.Serialization.SyncStreamOwnerRefusedException: Stream AC0OZ9PNY06p8JZZl2hnjA: giving up on owner mkleiner/_Thread/wo-ist-jetzt-der-businessplan-fd1de4a8cc8b305e8df8 — 4 DISTINCT owner activations have refused this stream (budget 3). The address is recycling in a LOOP, not settling: each successor dies before it can answer. The stream now ENDS with this error so its readers can re-read; the fix is at whatever is requesting the recycles, not here.
    
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