Skip to content

Sync-stream owner at Store/Payments/_Rejected/973c8980476a49cba8b8059e8e91bf4b recycles in a loop and refuses the stream, failing HtmlView metaHtml render #6723

Closed as not planned

Description

@systemorph-com

Observed

The metaHtml HtmlView for area Overview/1/1/NodeMeta/1 failed to render because its sync stream _qeQIr5atUWnOqtIf2a7Rw was refused by its owner: the address Store/Payments/_Rejected/973c8980476a49cba8b8059e8e91bf4b went through 4 distinct owner activations that each refused the stream, exceeding the per-stream owner budget of 3, and the stream ended with SyncStreamOwnerRefusedException (raised in MeshWeaver.Data.Serialization). The framework's own message — which I quote as observed component behaviour, not as my finding — states that the address was recycling in a loop rather than settling (each successor activation died before it could answer) and that the stream terminates with this error so its readers can re-read.

Where and when

One occurrence, one pod, in the memex-cloud namespace, moments before this incident was opened — a single burst, not a steady rate. Two things in the Store namespace were read nearby in time: Store/_GitSync was last written ~20 s after the failure, and a batch of Store/*/Release nodes was created at 16:44 UTC the same day. The parent Store/Payments exists (a Markdown node, last written 2026-10-10), but the owner address Store/Payments/_Rejected/973c8980476a49cba8b8059e8e91bf4b itself is not found by path from this deployment.

Impact

One user-facing render failure of one meta panel in one Overview layout, once. The stream's designed terminal error lets its readers re-read, so a next read succeeds if the recycle loop settled; nothing observed says whether it did. Judged from the numbers this is a narrow defect: a secondary view path failing, not an outage.

Not established

  • The cause of the recycling loop. Which component requested the owner recycles, and why each activation died before answering, is not on the incident.
  • Whether it recurs or is still occurring — the single occurrence is minutes old at the time of drafting.
  • Whether other log sites show the same owner refusing other streams — only this HtmlView site was observed.
  • Where the stream-ownership code lives. I searched the mesh for SyncStreamOwnerRefusedException, SyncStream*, and the MeshWeaver.Data.Serialization source and found none of it readable here; no file or method in that machinery can be named from what I read.
  • Why the owner address is not found. A deleted node, a node never visible to this deployment, or a node this identity cannot read all fit the same path read.
  • Duplication check: the open issue Saved view areas keep referencing deleted nodes and HtmlView hard-fails on delivery (deleted Hardware/SamuelGlauserMacBookAir) #6074 is a different failure at the same component (DeliveryFailureException from saved areas referencing a deleted node, HtmlView hard-failing on delivery) — related in flavour but not the same defect, and no prior incident with this exception type was found in what I could read.

Candidate causes and the reading that separates them

  1. The owner hub crashes on activation. The grain at Store/Payments/_Rejected/973c8980476a49cba8b8059e8e91bf4b throws during activation — e.g. a source or compile failure on a NodeType at that path — so each successor dies before answering. Predicts repeated activation/disposal failure log lines at that address in the seconds before the failure. Reading: the hub's activation/quiesce diagnostics for that address on the same pod would confirm or exclude it.
  2. Something external recycles the address in a loop. A writer — a sync or release flow — repeatedly quiesces the hub faster than an activation can answer. Predicts DisposeRequest/quiesce log lines naming that address, naming the requester. Reading: those lines identify the requester; Store/_GitSync's activity around 19:52:40Z would show whether it touched Store/Payments/_Rejected at all.
  3. The owner content was removed mid-stream. The rejected-payment node was deleted or moved while the stream was live, so successors find nothing at the address to own. Predicts the absent node (consistent with the not-found path read) and a delete/move trail. Reading: the version history of Store/Payments and any _Rejected children, and whether sibling _Rejected nodes render normally.

Where to look

  • MeshWeaver.Blazor.Components.HtmlView — the metaHtml log site that surfaced the failure; the reader, not the subject.
  • The stream-ownership machinery in MeshWeaver.Data.Serialization that raises SyncStreamOwnerRefusedException and counts owner activations against the budget of 3 — in the MeshWeaver repository; not readable in this mesh.
  • The concrete case: stream _qeQIr5atUWnOqtIf2a7Rw, owner address Store/Payments/_Rejected/973c8980476a49cba8b8059e8e91bf4b, area Overview/1/1/NodeMeta/1.
  • Store/_GitSync (written 19:52:40Z) and the Store/*/Release batch of 16:44Z — Store-namespace activity near the burst that may share a cause or nothing with it.

Evidence

Fingerprint 846736a784dac1ec
Category MeshWeaver.Blazor.Components.HtmlView
Severity Error
Exception MeshWeaver.Data.Serialization.SyncStreamOwnerRefusedException
Namespace memex-cloud
Pods memex-portal-deployment-54856649cb-m2jn9
Occurrences 1
First seen 2026-10-13 19:52:18Z
Last seen 2026-10-13 19:52:18Z
Routing not determined — no configured route matches the category MeshWeaver.Blazor.Components.HtmlView. 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 19:52:18Z memex-portal-deployment-54856649cb-m2jn9 fail: MeshWeaver.Blazor.Components.HtmlView[0]
      Loading 'metaHtml' in area 'Overview/1/1/NodeMeta/1' in Area Overview/1/1/NodeMeta/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.

Opened automatically from Admin/_LogIncident/846736a784dac1ec. Recurrences are folded into this issue rather than opening new ones.
It also stands for the whole log site 77855ed8dbd964e9: 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 77855ed8dbd964e9 (MeshWeaver.Blazor.Components.HtmlView), 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 826b27ba80d09c06
    Log site 77855ed8dbd964e9
    Category MeshWeaver.Blazor.Components.HtmlView
    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 1
    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/826b27ba80d09c06
    Triage called it HtmlView NodeMeta load fails as owner address Admin/Subscriptions/sglauser recycles in a loop and its sync stream gives up (refused by 4 activations, budget 3)
    What triage wrote about this fingerprint

    Observed

    The log site is MeshWeaver.Blazor.Components.HtmlView loading metaHtml in area Overview/1/1/NodeMeta/1 — the node-meta panel of an Overview view. The 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, that 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.

    The owner address is a Store/Subscription node in the Admin partition (the enterprise/staff subscription record for sglauser) — a system node, not a tenant content node. The reporting HtmlView only binds the stream; the exception itself states the defect is at whatever is requesting the recycles of that address.

    Where and when

    A single occurrence, on a single pod of the memex-cloud deployment, during one window today (2026-10-13). This is not an isolated fingerprint though: the same exception mechanism surfaced today in a burst of sibling incidents on the other portal deployment (BadgeView, ContainerView, ItemTemplate, ButtonView, LayoutStackView, NavLink, DispatchView, Label, ThreadChatView, ~17:17–17:21 UTC), each with a different owner address (e.g. the PartnerRe/Esl thread filed as #6709), and it was previously investigated fleet-wide as #5011 after the 2026-10-06 roll. Different owners, different pods, different deployments, same give-up shape — consistent with a shared mechanism in the stream/hub layer rather than a defect in any one view or in this subscription node.

    Impact

    One user's NodeMeta panel failed to render at that instant. Because the stream ends by design so readers can re-read, the failure is plausibly transient; I could not verify recovery. One occurrence does not by itself imply a broken path, but the recurrence of this give-up shape across distinct owners and both deployments today indicates the loop-recycling condition is still live in production after #5011.

    Not established

    • What requested each recycle of the Admin/Subscriptions/sglauser address — no stack frame on the incident, and I found no quiesce/recycle log line for that address in the window I could read.
    • Whether this specific address kept recycling after the give-up, or whether the reader recovered on re-read.
    • Whether today's sibling incidents share one systemic trigger with this one — different owners and deployments argue for a shared mechanism, but the per-instance trigger is unconfirmed.
    • Whether the message-text change since the Fleet watch stops observing the fleet, freezing every Ops/Status reading as silently stale history #5011 investigation ("readers will now time out" → "the stream now ENDS with this error so its readers can re-read") is fully shipped in this pod's build; the give-up itself clearly still occurs.

    Candidate causes and the reading that separates them

    1. The owner address's hub dies mid-activation repeatedly (successor activations of Admin/Subscriptions/sglauser faulting before they can answer the subscription stream). Predicts: recycle/relaunch or [QUIESCE-START] lines naming this address in the minutes before the give-up. Reading: pod logs for this deployment filtered on Admin/Subscriptions/sglauser — the requester of each recycle names itself there.
    2. A systemic recycle trigger (the Fleet watch stops observing the fleet, freezing every Ops/Status reading as silently stale history #5011 family — write races, retype recycles, roll-induced churn). Predicts: multiple owners giving up in the same window across pods, which today's sibling burst partially matches. Reading: compare the recycle-request lines behind today's sibling incidents (e.g. Thread hub recycles in a loop — its sync stream ends with SyncStreamOwnerRefusedException and that thread's Changes-header badges fail to load #6709's owner) with this one — a common requester or common trigger condition confirms it; unrelated requesters point back to cause 1.
    3. An Admin-partition-specific churn (subscription-store writes repeatedly recycling the node's hub). Predicts: give-ups on Admin/Subscriptions/* addresses clustering around subscription-state changes. Reading: whether any sibling or prior give-up also names an Admin/Subscriptions owner; I found none in what I read, which weakens but does not exclude it.

    Where to look

    Still occurring: 1 more since the last update (1 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.HtmlView[0]
          Loading 'metaHtml' in area 'Overview/1/1/NodeMeta/1' in Area Overview/1/1/NodeMeta/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.
    
  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 77855ed8dbd964e9 (MeshWeaver.Blazor.Components.HtmlView), 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 70546cfa38442206
    Log site 77855ed8dbd964e9
    Category MeshWeaver.Blazor.Components.HtmlView
    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 1
    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/70546cfa38442206
    Triage called it HtmlView fails to load a retained Stripe webhook delivery's meta panel — its sync stream gave up on the Store/Payments/_Rejected owner after 4 activation refusals
    What triage wrote about this fingerprint

    Observed

    HtmlView loading the metaHtml view of an admin-overview area (Overview/1/1/NodeMeta/1, viewer rbuergi) failed once with MeshWeaver.Data.Serialization.SyncStreamOwnerRefusedException: sync stream HO0YVkEcjEmUYQMy_iqSZg ended after giving up on its owner — 4 DISTINCT owner activations refused the stream against a budget of 3 (SyncStreamOptions.MaxRecycleReArms). 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 ends by design so readers can re-read. This is the give-up terminal introduced by #6602: the stream-side machinery behaved as designed; the exception's text names the defect as whatever kept recycling the owner.

    The owner address is Store/Payments/_Rejected/973c8980476a49cba8b8059e8e91bf4b — a retained Stripe webhook delivery under the payments node's _Rejected container (unverifiable-signature deliveries naming an order are kept there; the container is Public/Anonymous-denied and admin-read-only per CatalogGate.SensitiveSegments). The view that died reading it is a node-meta overview panel — the admin-side view of that retained delivery.

    Where and when

    One occurrence, one pod (memex-portal-deployment-54856649cb-m2jn9), namespace memex-cloud, at 19:52:18Z on 2026-10-13 — seconds before this incident was opened. The node at that path was not readable by the triage identity, so I could not establish whether it still exists (a delete between subscription and give-up would itself explain refusals, and _Rejected entries are by design never machine-removed — a human or a Store/Maintenance action would have to have touched it).

    Same give-up shape, same day, other incidents already filed (likely the same or sibling defects, not duplicates of this one — different owner addresses and view sites, same exception): #6709 (BadgeView, owner PartnerRe/Esl/_Thread/…, 17:17Z, 32 occurrences) and #6713 (ThreadChatView, same owner thread, 17:17Z). Those owners are tenant thread hubs; this one is a Store webhook-evidence node. Whether one recycle wave at ~19:52 also hit other Store/Payments/_Rejected/* paths is not established — this incident's single sample cannot see it.

    Impact

    One admin's overview panel for one retained Stripe webhook delivery failed to render at that instant. The stream ends by design so the reader can re-read; whether the reload succeeded is not established. A _Rejected delivery is evidence a human compares against Stripe — a view outage delays that inspection but touches no payment, order or entitlement. Judged sev:L from the numbers: one occurrence, one pod, one view of an evidence node, self-healing read path. If the same owner-recycle loop is shown to hit many Store paths or recur, that would re-rule upward (see #6709/#6713).

    Not established

    Candidate causes and the reading that separates them

    1. Poison activation — the owner hub faults during bring-up and each successor hits the same fault. Predicts one identical activation-fault log per activation for this exact path around 19:52Z. Reading: pod logs for activation faults at this address name the fault once and settle it.
    2. A recycle loop driven by a watcher/maintenance action touching _Rejected (e.g. a Store/Maintenance run or the payments watcher re-verifying retained deliveries, each pass disposing the hub). Predicts periodic recycle/quiesce lines for this address with a repeating requester and reason. Reading: the [QUIESCE-START] lines for the four activations — each carries who requested the teardown and why (see Riding Out a ShuttingDown Address, "Naming the recycling shape": one owner many probes → look at that hub's disposal; many owners many probes → look at whatever requests the recycles).
    3. Node churn at the address — the _Rejected entry being written, superseded or deleted while the view held the stream, so each re-ask meets an address mid-transition. Predicts write/delete events for Store/Payments/_Rejected/973c8980476a49cba8b8059e8e91bf4b in the change feed around 19:52Z. Reading: the change feed / node version history for this path in that window.

    The single reading that separates all three: the [QUIESCE-START] log lines for the four activations of this address around 19:52:18Z, plus the change-feed history of the node at that path.

    Where to look

    Still occurring: 1 more since the last update (1 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.HtmlView[0]
          Loading 'metaHtml' in area 'Overview/1/1/NodeMeta/1' in Area Overview/1/1/NodeMeta/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

    Still occurring: 0 more since the last update (1 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.HtmlView[0]
          Loading 'metaHtml' in area 'Overview/1/1/NodeMeta/1' in Area Overview/1/1/NodeMeta/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.
    
  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 77855ed8dbd964e9 (MeshWeaver.Blazor.Components.HtmlView), 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 4d58a708669cd786
    Log site 77855ed8dbd964e9
    Category MeshWeaver.Blazor.Components.HtmlView
    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 2
    First seen 2026-10-13 20:01:57Z
    Last seen 2026-10-13 20:01:57Z
    Already folded here 3 fingerprint(s)
    Incident Admin/_LogIncident/4d58a708669cd786
    Triage called it HtmlView Comments areas fail to load — owner hub OIB/WhatThisIsFor recycles in a loop until the sync stream's owner budget is exhausted (same event as #6711)
    What triage wrote about this fingerprint

    Observed

    At 2026-10-13T20:01:57Z on pod memex-portal-deployment-54856649cb-54lxb (namespace memex-cloud), the HtmlView component (MeshWeaver.Blazor.Components.HtmlView) failed loading the views emptyStyle (area Comments/Empty) and addStyle (area Comments/Header/Add) with MeshWeaver.Data.Serialization.SyncStreamOwnerRefusedException: sync stream nejtBAZIXEm3mByv1pC7HA gave up on owner OIB/WhatThisIsFor after 4 DISTINCT owner activations refused the stream against a budget of 3. Per the exception's own text, the owner address was recycling in a LOOP rather than settling — each successor activation died before it could answer — and the stream ends with this error so its readers can re-read.

    Where and when

    Two occurrences within the same millisecond, one pod, one owner address, one stream — the fan-out of a single event across view components, not a recurring rate. The same instant produced the same exception, same stream, same owner at sibling log sites (LayoutStackView, ContainerView, MarkdownEditorView, DispatchView, and further view-component incidents under Admin/_LogIncident, all opened 20:02:50–20:02:53Z). Also in the surrounding minutes: the systemic ObjectDisposedException cluster (incident Admin/_LogIncident/44071a7390656464, filed as #1540) was active on this deployment at 19:52–19:53Z on pods …68f94fffc4-mjl9v and …f96cb5fd6-ckwqm, and the classified SiloUnavailableException roll-churn incident last fired at 19:52:53Z — nine minutes before this burst, on other pods. Whether any of that is connected to this owner loop is not established; the timing is recorded only as something that was read.

    Impact

    The Comments areas of the OIB Space failed to render for the reader on that pod. While the owner loop persisted, the address OIB/WhatThisIsFor was effectively unavailable and anything else reading or writing it in that window would have failed the same way. The stream layer ends the stream by design so readers can re-read, making the view symptom transient. Judged sev:M: one event, one pod, re-read path intact — the numbers do not support a blocking ruling.

    Not established

    • What requested the recycles. Nothing on this incident names the actor; the exception text itself attributes the defect to "whatever is requesting the recycles", which is not identifiable from these log lines.
    • The owner node's state. OIB/WhatThisIsFor is not readable from this portal (Get answers Not found; a search of the OIB partition returns 0), so its NodeType, compile status and current existence are unknown from here.
    • Whether it still occurs — no sighting after 20:01:57Z in the watched window.

    Duplicate of a ticket already filed — read this first

    This is the same event as #6711 (#6711), filed from the sibling incident Admin/_LogIncident/b48f9775896cfd7e (LayoutStackView): same stream nejtBAZIXEm3mByv1pC7HA, same owner OIB/WhatThisIsFor, same pod, same second, and marked adoptedSiteIssue: true there. #6711 carries the full evidence and the candidate-cause analysis for the owner loop (external writer repeatedly recycling the hub / each successor activation dying on activation / two-writer flap), with the readings that separate them. This ticket adds only the HtmlView log-site view of the same termination and can be closed as a duplicate of #6711 in seconds. Also adjacent, not a duplicate: #6723 — same exception and log site (HtmlView), different owner (Store/Payments/_Rejected/973c8980…) and different pod, filed 2026-10-13T19:52Z from incident Admin/_LogIncident/846736a784dac1ec.

    Where to look

    Still occurring: 2 more since the last update (2 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.HtmlView[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.HtmlView[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.
    
  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 77855ed8dbd964e9 (MeshWeaver.Blazor.Components.HtmlView), 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 4d58a708669cd786
    Log site 77855ed8dbd964e9
    Category MeshWeaver.Blazor.Components.HtmlView
    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 2
    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/4d58a708669cd786
    Triage called it HtmlView Comments areas fail to load — owner hub OIB/WhatThisIsFor recycles in a loop until the sync stream's owner budget is exhausted (same event as #6711)
    What triage wrote about this fingerprint

    Observed

    At 2026-10-13T20:01:57Z on pod memex-portal-deployment-54856649cb-54lxb (namespace memex-cloud), the HtmlView component (MeshWeaver.Blazor.Components.HtmlView) failed loading the views emptyStyle (area Comments/Empty) and addStyle (area Comments/Header/Add) with MeshWeaver.Data.Serialization.SyncStreamOwnerRefusedException: sync stream nejtBAZIXEm3mByv1pC7HA gave up on owner OIB/WhatThisIsFor after 4 DISTINCT owner activations refused the stream against a budget of 3. Per the exception's own text, the owner address was recycling in a LOOP rather than settling — each successor activation died before it could answer — and the stream ends with this error so its readers can re-read.

    Where and when

    Two occurrences within the same millisecond, one pod, one owner address, one stream — the fan-out of a single event across view components, not a recurring rate. The same instant produced the same exception, same stream, same owner at sibling log sites (LayoutStackView, ContainerView, MarkdownEditorView, DispatchView, and further view-component incidents under Admin/_LogIncident, all opened 20:02:50–20:02:53Z). Also in the surrounding minutes: the systemic ObjectDisposedException cluster (incident Admin/_LogIncident/44071a7390656464, filed as #1540) was active on this deployment at 19:52–19:53Z on pods …68f94fffc4-mjl9v and …f96cb5fd6-ckwqm, and the classified SiloUnavailableException roll-churn incident last fired at 19:52:53Z — nine minutes before this burst, on other pods. Whether any of that is connected to this owner loop is not established; the timing is recorded only as something that was read.

    Impact

    The Comments areas of the OIB Space failed to render for the reader on that pod. While the owner loop persisted, the address OIB/WhatThisIsFor was effectively unavailable and anything else reading or writing it in that window would have failed the same way. The stream layer ends the stream by design so readers can re-read, making the view symptom transient. Judged sev:M: one event, one pod, re-read path intact — the numbers do not support a blocking ruling.

    Not established

    • What requested the recycles. Nothing on this incident names the actor; the exception text itself attributes the defect to "whatever is requesting the recycles", which is not identifiable from these log lines.
    • The owner node's state. OIB/WhatThisIsFor is not readable from this portal (Get answers Not found; a search of the OIB partition returns 0), so its NodeType, compile status and current existence are unknown from here.
    • Whether it still occurs — no sighting after 20:01:57Z in the watched window.

    Duplicate of a ticket already filed — read this first

    This is the same event as #6711 (#6711), filed from the sibling incident Admin/_LogIncident/b48f9775896cfd7e (LayoutStackView): same stream nejtBAZIXEm3mByv1pC7HA, same owner OIB/WhatThisIsFor, same pod, same second, and marked adoptedSiteIssue: true there. #6711 carries the full evidence and the candidate-cause analysis for the owner loop (external writer repeatedly recycling the hub / each successor activation dying on activation / two-writer flap), with the readings that separate them. This ticket adds only the HtmlView log-site view of the same termination and can be closed as a duplicate of #6711 in seconds. Also adjacent, not a duplicate: #6723 — same exception and log site (HtmlView), different owner (Store/Payments/_Rejected/973c8980…) and different pod, filed 2026-10-13T19:52Z from incident Admin/_LogIncident/846736a784dac1ec.

    Where to look

    Still occurring: 2 more since the last update (2 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.HtmlView[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.HtmlView[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.
    
  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 77855ed8dbd964e9 (MeshWeaver.Blazor.Components.HtmlView), 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 1f8e1b51e45f95b1
    Log site 77855ed8dbd964e9
    Category MeshWeaver.Blazor.Components.HtmlView
    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 2
    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/1f8e1b51e45f95b1
    Triage called it Sync stream owned by OIB/AnonymizedTestInput gives up as its hub recycles in a loop — the node's Comments areas fail to load, one of several owners giving up on this pod in the same window
    What triage wrote about this fingerprint

    Observed

    The HtmlView component (MeshWeaver.Blazor.Components.HtmlView) failed while loading the emptyStyle view for the area Comments/Empty and the addStyle view for the area Comments/Header/Add of the node layout — two area bindings of the same page, both backed by one sync stream, 7rO11c2YSUemubxGFcFQUw. The stream ended with MeshWeaver.Data.Serialization.SyncStreamOwnerRefusedException from JsonSynchronizationStream's recycle re-arm latch: the stream gave up on its owner, the node OIB/AnonymizedTestInput, because more DISTINCT owner activations refused the stream than the activation budget (MaxRecycleReArms = 3 in MeshWeaver.Data) allows. Per the exception's own text, the owner address was recycling in a LOOP rather than settling — each successor activation died before it could answer — and the stream ends with this error by design (#6602) so its readers can re-read. HtmlView is the reporting site only: it binds the stream; it does not cause the recycles.

    Where and when

    Both loads failed at the same instant on a single pod of the memex-cloud portal deployment, against a single owner address and a single stream. This is one give-up event fanning out to the areas subscribed to that stream — the same underlying event reported once per binding.

    What makes this instance more than an isolated blip is what the surrounding window shows, and which I read from the sibling incidents opened in the same minutes: other, unrelated owner addresses gave up on the same pod in the same window — OIB/WhatThisIsFor (incident Admin/_LogIncident/b48f9775896cfd7e, filed as #6711) and phuong/_Thread/where-do-i-add-materials-to-build-our-di-e79aaebbd6b6366796a0 (incident Admin/_LogIncident/4393a99dbeeb2131, filed as #6706), with further log sites of the same window folded into their own incidents. By the discrimination documented in Riding Out a ShuttingDown Address ("Naming the recycling shape"), many owners, many probes points at whatever is requesting the recycles, not at any one owner's hub. A human picking these tickets up should treat them as one investigation with several reports.

    Impact

    The Comments areas of one node failed to render, for the reader on that pod, until a re-read. The give-up is the designed loud terminal: MeshNodeStreamCache evicts the faulted entry and the layout area classifies the type as transient (AreaErrorClassifier.IsTransientHubFailure), re-subscribing bounded by RetryAreaWithBackoff, so the view symptom is self-healing; recovery was not verified. While an owner loop persisted, that address was effectively unavailable to anything reading or writing it. Judged sev:M from the numbers: two area loads on one pod, contained by the designed end-and-re-read. If the multi-owner window is confirmed as a deployment-wide recycle storm, the ruling goes up, not down.

    Not established

    • What requested the recycles of the owner address. No [QUIESCE-START] line, dispose attribution or per-activation fault is on this incident; I found none for this address.
    • The owner node's identity and state. OIB/AnonymizedTestInput is not readable from this triage context — searches of the oib partition return nothing — so its NodeType, compile status and current existence could not be read. Like its sibling OIB/WhatThisIsFor, it may live on another instance or have changed since.
    • Whether the address settled after the give-up or kept cycling.
    • Whether a roll, restart or module live-update coincided with the window — deployment events for this pod in the window were not read.
    • Whether the same window's other owners' recycles share one requester; the sibling incidents each carry only their own owner.

    Candidate causes and the reading that separates them

    1. A recycle storm on this deployment — something (a module live-update, an install cascade, a type-scoped ActivationRecycle, a roll) recycling many hubs at once, each successor dying before it can answer its streams. The same-window give-ups of unrelated owners on the same pod are direct evidence for this shape. Predicts [QUIESCE-START] lines for several different addresses in the window, naming the same or related requesters and reasons. Reading: the pod's quiesce/recycle lines across the window, not just for this owner — every DisposeRequest carries a Reason naming its poster (Stale State Until a Recycle, "Carry a Reason").
    2. A per-owner loop — a defect in whatever type backs OIB/AnonymizedTestInput that kills each activation during startup, so the address never settles on its own. Predicts repeated, identical activation faults for exactly this address and no one else. Reading: the hub-init/activation logs for this address in the minutes before the give-up. Weakened (not excluded) by the unrelated owners giving up in the same window.
    3. Activation-tag drift — fewer real activations than counted tokens (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 class: a ShuttingDown NACK or StreamEndedEvent carrying a per-delivery id, a grain-vs-hub tag, or no identity makes one settling teardown count as several). Predicts the counted tokens resolve to two or fewer real activations, with the address settling normally. Reading: the per-activation tokens on the NACKs and StreamEndedEvents for stream 7rO11c2YSUemubxGFcFQUw, minted by ShutdownNack (MeshWeaver.Messaging.Contract).

    The quiesce-log reading separates all three.

    Related, and duplicate status

    Same mechanism, different owner and stream — not a duplicate of any single one, but one window with several reports: #6711 (Admin/_LogIncident/b48f9775896cfd7e, owner OIB/WhatThisIsFor), #6706 (Admin/_LogIncident/4393a99dbeeb2131, owner phuong/_Thread/…), #6723 (Admin/_LogIncident/846736a784dac1ec, owner Store/Payments/_Rejected/…, earlier window), #6709 (Admin/_LogIncident/02e151d3d23bf2f5, owner PartnerRe/Esl/_Thread/…, the other portal deployment), #5011 (fleet-wide give-up investigation), #6602 (a give-up ends the stream). A human may consolidate this family under one cause once the quiesce lines are read.

    Where to look

    • JsonSynchronizationStream's recycle re-arm latch (MeshWeaver.Data) — the give-up path and its two budgets (MaxRecycleReArms, MaxSameActivationReAsks); the rider contract is documented in Riding Out a ShuttingDown Address.
    • SyncStreamOwnerRefusedException (MeshWeaver.Data.Serialization) — the typed give-up that ends the stream.
    • ShutdownNack (MeshWeaver.Messaging.Contract) — where the activation tokens that fed the distinct-activation count were minted; the tag set for stream 7rO11c2YSUemubxGFcFQUw discriminates cause 3.
    • The owner node OIB/AnonymizedTestInput — not readable from this context; read from the instance that owns the OIB namespace.
    • The pod's [QUIESCE-START] lines across the window — each names the address, requester and reason of every teardown; this is the single reading that names the recycler.

    Still occurring: 2 more since the last update (2 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.HtmlView[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.HtmlView[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.
    
  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 77855ed8dbd964e9 (MeshWeaver.Blazor.Components.HtmlView), 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 824ebcfe88ece17d
    Log site 77855ed8dbd964e9
    Category MeshWeaver.Blazor.Components.HtmlView
    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 1
    First seen 2026-10-13 20:22:46Z
    Last seen 2026-10-13 20:22:46Z
    Already folded here 5 fingerprint(s)
    Incident Admin/_LogIncident/824ebcfe88ece17d
    Triage called it Owner activations at Admin/Subscriptions/sglauser recycle in a loop; HtmlView metaHtml load fails after 4 refused activations (budget 3)
    What triage wrote about this fingerprint

    Observed

    The HtmlView component (MeshWeaver.Blazor.Components.HtmlView) failed loading the view metaHtml for the area Overview/2/1/1/1/NodeMeta/1 when its backing sync stream daxfo70X40yAQZdHkDPA0Q terminated with MeshWeaver.Data.Serialization.SyncStreamOwnerRefusedException: its owner address Admin/Subscriptions/sglauser went through 4 DISTINCT owner activations that refused the stream against a budget of 3 — the address was recycling in a loop, each successor activation dying before it could answer. The stream layer ends the stream with this error by design so its readers can re-read.

    Where and when

    One occurrence at 2026-10-13T20:22:46Z on one pod (memex-portal-deployment-85f6665f88-mzv8m). It is not isolated at the system level: in the same second, on the same pod, sibling incidents record the identical exception from other view components (ContainerView, MarkdownView, DispatchView, Label, IconView, LayoutStackView, and more), with two distinct owner addresses in the loop — this one (Admin/Subscriptions/sglauser) and Store/Payments/_Rejected/973c8980476a49cba8b8059e8e91bf4b. The latter is the same owner address already ticketed 30 minutes earlier on a different pod (see Related). Every shape in the burst shows the same count: 4 distinct activations, budget 3.

    Impact

    A user-visible rendering failure of the metaHtml area of the Overview layout, transient by design (the stream ends so readers can re-read). While each owner loop persisted, that address was effectively unavailable to anything reading or writing it. This fingerprint's own scope is one pod and one occurrence; the wider burst is counted under its sibling fingerprints.

    Not established

    • Why the owner address recycled — what killed each of the four activations, or what requested the recycles. The evidence fixes the behavior, not the driver.
    • Whether the loop settled after the give-up — only one log line exists for this fingerprint.
    • Whether the two owner addresses looping in the same second share one cause or are two coincident independent faults.
    • Hub activation/quiesce/disposal logs around the window were not available to this triage and were not read.

    Candidate causes and the reading that separates them

    1. The hub activation at the owner address faults during initialization, each successor dying the same way. Predicts a repeated, identical activation fault with a stack for exactly Admin/Subscriptions/sglauser, immediately before each recycle. Reading: hub-init/activation logs for that address on pod memex-portal-deployment-85f6665f88-mzv8m in the minutes before 20:22:46Z.
    2. Something is repeatedly requesting recycles of the address — the exception text itself points at "whatever is requesting the recycles". Predicts quiesce/dispose request log lines naming Admin/Subscriptions/sglauser, with a requester and a reason. Reading: the pod's logs for dispose/quiesce requests naming that address in the same window.
    3. Pod- or roll-level churn recycling activations wholesale. The fleet's roll-churn pattern (SiloUnavailableException at pod shutdown, incident roll-churn-f02d91bff083418f) shows what that looks like. Predicts pod restart/shutdown events in the same window and the same fingerprint on other pods. Reading: deployment and restart events for memex-portal-deployment-85f6665f88-mzv8m around 20:22:46Z. Two distinct owner addresses looping in the same second on a pod that shows no shutdown evidence fits causes 1 or 2 better than 3 — but this is not established.

    Related

    Where to look

    • Log site: MeshWeaver.Blazor.Components.HtmlView — the Loading '{view}' in area '{area}' failure path.
    • Thrower: the stream layer in MeshWeaver.Data.Serialization — SyncStreamOwnerRefusedException, raised when the number of DISTINCT owner activations refusing a stream exceeds the per-stream budget.
    • The owner address Admin/Subscriptions/sglauser and its hub activation/quiesce logs on pod memex-portal-deployment-85f6665f88-mzv8m; sibling fingerprints of the 20:22:46Z burst under Admin/_LogIncident.

    Still occurring: 1 more since the last update (1 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.HtmlView[0]
          Loading 'metaHtml' in area 'Overview/2/1/1/1/NodeMeta/1' in Area Overview/2/1/1/1/NodeMeta/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 77855ed8dbd964e9 (MeshWeaver.Blazor.Components.HtmlView), 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 735686591451543f
    Log site 77855ed8dbd964e9
    Category MeshWeaver.Blazor.Components.HtmlView
    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 1
    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/735686591451543f
    Triage called it Owner hub at Store/Payments/_Rejected/973c8980… refuses sync streams in a recycle loop — HtmlView meta view fails on a second give-up on this address (31 min after #6723, different pod)
    What triage wrote about this fingerprint

    Observed

    The HtmlView component (MeshWeaver.Blazor.Components.HtmlView) failed while loading the view metaHtml into the saved-view area Overview/2/1/1/1/NodeMeta/1 — a node-meta area of an Overview layout. The load faulted with MeshWeaver.Data.Serialization.SyncStreamOwnerRefusedException: sync stream ctBtZgYcpUKmU47Z-1wZyQ gave up on its owner, the address Store/Payments/_Rejected/973c8980476a49cba8b8059e8e91bf4b, after 4 DISTINCT owner activations refused the stream against the recycle re-arm budget of 3 (JsonSynchronizationStream.MaxRecycleReArms, MeshWeaver.Data). Per the ride-out contract (Riding Out a ShuttingDown Address), this is the "many owners, many probes"-style give-up on one address: each successor activation died before it could answer, and the stream ENDED with the typed error so its readers can re-read. HtmlView is the reporting site, not the defect site — the exception's own text points at whatever was requesting the recycles of the owner address.

    Cross-reference, likely same defect: the same owner address refused a different stream (_qeQIr5atUWnOqtIf2a7Rw, same count 4 vs budget 3) 31 minutes earlier at 19:52:18Z, on a different pod of the same memex-cloud portal (memex-portal-deployment-54856649cb-m2jn9), already filed as #6723 (Admin/_LogIncident/846736a784dac1ec). This incident is a second, independent give-up on the same owner — a different stream, a different pod, from a different ReplicaSet (85f6665f88 vs 54856649cb), half an hour later. The two tickets plausibly share one root cause at the owner address; whoever picks this up should read them together.

    Where and when

    One occurrence, one stream, one pod, one log line — but read together with #6723, the shape is: one owner address refusing sync streams to readers on two different portal ReplicaSets over a 31-minute window (19:52–20:22Z, 2026-10-13). That is not a single-pod roll artifact: the reader moved between pods and the owner still refused. Whatever was recycling the address at Store/Payments/_Rejected/973c8980… persisted across that window (or recurred). The broader SyncStreamOwnerRefusedException family also fired on other owners today (fleet-wide bursts of this exact text exist in Ops/Logs on 2026-09-26 and 2026-10-07 with many owners per second — roll-shaped); today's occurrence on this owner does not have that many-owners shape.

    Impact

    One viewer's node-meta view of one record failed to render once, and the failure is designed-transient: the stream ends loudly and the layout area classifies it as transient (AreaErrorClassifier.IsTransientHubFailure) and re-subscribes, bounded by RetryAreaWithBackoff. Whether this page actually recovered was not verified. More broadly, while the loop persisted the owner address was effectively unreadable, and any reader of that rejected-payment record in the window would have failed the same way. The affected node is a rejected-payment record under Store/Payments/_Rejected — a back-office path, not the buyer-facing store. Judged sev:M: a secondary path, one address, contained by the designed end-and-re-read; the 31-minute persistence on one address is what keeps this above noise.

    Not established

    Candidate causes and the reading that separates them

    1. A real recycle loop at this one address — something repeatedly requesting teardowns of the rejected-payment record's hub (e.g. a payment-pipeline process re-writing, retyping or purging rejected records). Predicts [QUIESCE-START]/recycle lines naming only this address (and the same address again in the 19:52 window on the other pod), each with a requester and reason. Reading: the pods' [QUIESCE-START] and recycle logs filtered on Store/Payments/_Rejected/973c8980… for 19:50–20:25Z, which names who asked for each teardown and why.
    2. The node is gone for good (a _Rejected record purged/expired): a dying hub cannot know deleted-vs-recycling, so it NACKs with the promise; if the address never reactivates, the give-up is the correct verdict and the defect (if any) is elsewhere. Predicts NotFound verdicts on re-read and no further reactivations of the address. Reading: the store partition's authoritative view of the node (under an identity that can read it), and whether any activation of the address answered after 20:22:46Z.
    3. Activation-tag drift — fewer real activations than the four counted, of the carrier-identity class 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 producers. Predicts the four counted tokens resolve to two or three real activations with the address settling normally. Reading: the per-activation tokens (ShutdownNack.ActivationToken, MeshWeaver.Messaging.Contract) on the refusals for stream ctBtZgYcpUKmU47Z-1wZyQ.

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

    Where to look

    Still occurring: 1 more since the last update (1 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.HtmlView[0]
          Loading 'metaHtml' in area 'Overview/2/1/1/1/NodeMeta/1' in Area Overview/2/1/1/1/NodeMeta/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.
    
  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 77855ed8dbd964e9 (MeshWeaver.Blazor.Components.HtmlView), 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 735686591451543f
    Log site 77855ed8dbd964e9
    Category MeshWeaver.Blazor.Components.HtmlView
    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 1
    First seen 2026-10-13 20:22:46Z
    Last seen 2026-10-13 20:22:46Z
    Already folded here 6 fingerprint(s)
    Incident Admin/_LogIncident/735686591451543f
    Triage called it Owner hub at Store/Payments/_Rejected/973c8980… refuses sync streams in a recycle loop — HtmlView meta view fails on a second give-up on this address (31 min after #6723, different pod)
    What triage wrote about this fingerprint

    Observed

    The HtmlView component (MeshWeaver.Blazor.Components.HtmlView) failed while loading the view metaHtml into the saved-view area Overview/2/1/1/1/NodeMeta/1 — a node-meta area of an Overview layout. The load faulted with MeshWeaver.Data.Serialization.SyncStreamOwnerRefusedException: sync stream ctBtZgYcpUKmU47Z-1wZyQ gave up on its owner, the address Store/Payments/_Rejected/973c8980476a49cba8b8059e8e91bf4b, after 4 DISTINCT owner activations refused the stream against the recycle re-arm budget of 3 (JsonSynchronizationStream.MaxRecycleReArms, MeshWeaver.Data). Per the ride-out contract (Riding Out a ShuttingDown Address), this is the "many owners, many probes"-style give-up on one address: each successor activation died before it could answer, and the stream ENDED with the typed error so its readers can re-read. HtmlView is the reporting site, not the defect site — the exception's own text points at whatever was requesting the recycles of the owner address.

    Cross-reference, likely same defect: the same owner address refused a different stream (_qeQIr5atUWnOqtIf2a7Rw, same count 4 vs budget 3) 31 minutes earlier at 19:52:18Z, on a different pod of the same memex-cloud portal (memex-portal-deployment-54856649cb-m2jn9), already filed as #6723 (Admin/_LogIncident/846736a784dac1ec). This incident is a second, independent give-up on the same owner — a different stream, a different pod, from a different ReplicaSet (85f6665f88 vs 54856649cb), half an hour later. The two tickets plausibly share one root cause at the owner address; whoever picks this up should read them together.

    Where and when

    One occurrence, one stream, one pod, one log line — but read together with #6723, the shape is: one owner address refusing sync streams to readers on two different portal ReplicaSets over a 31-minute window (19:52–20:22Z, 2026-10-13). That is not a single-pod roll artifact: the reader moved between pods and the owner still refused. Whatever was recycling the address at Store/Payments/_Rejected/973c8980… persisted across that window (or recurred). The broader SyncStreamOwnerRefusedException family also fired on other owners today (fleet-wide bursts of this exact text exist in Ops/Logs on 2026-09-26 and 2026-10-07 with many owners per second — roll-shaped); today's occurrence on this owner does not have that many-owners shape.

    Impact

    One viewer's node-meta view of one record failed to render once, and the failure is designed-transient: the stream ends loudly and the layout area classifies it as transient (AreaErrorClassifier.IsTransientHubFailure) and re-subscribes, bounded by RetryAreaWithBackoff. Whether this page actually recovered was not verified. More broadly, while the loop persisted the owner address was effectively unreadable, and any reader of that rejected-payment record in the window would have failed the same way. The affected node is a rejected-payment record under Store/Payments/_Rejected — a back-office path, not the buyer-facing store. Judged sev:M: a secondary path, one address, contained by the designed end-and-re-read; the 31-minute persistence on one address is what keeps this above noise.

    Not established

    Candidate causes and the reading that separates them

    1. A real recycle loop at this one address — something repeatedly requesting teardowns of the rejected-payment record's hub (e.g. a payment-pipeline process re-writing, retyping or purging rejected records). Predicts [QUIESCE-START]/recycle lines naming only this address (and the same address again in the 19:52 window on the other pod), each with a requester and reason. Reading: the pods' [QUIESCE-START] and recycle logs filtered on Store/Payments/_Rejected/973c8980… for 19:50–20:25Z, which names who asked for each teardown and why.
    2. The node is gone for good (a _Rejected record purged/expired): a dying hub cannot know deleted-vs-recycling, so it NACKs with the promise; if the address never reactivates, the give-up is the correct verdict and the defect (if any) is elsewhere. Predicts NotFound verdicts on re-read and no further reactivations of the address. Reading: the store partition's authoritative view of the node (under an identity that can read it), and whether any activation of the address answered after 20:22:46Z.
    3. Activation-tag drift — fewer real activations than the four counted, of the carrier-identity class 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 producers. Predicts the four counted tokens resolve to two or three real activations with the address settling normally. Reading: the per-activation tokens (ShutdownNack.ActivationToken, MeshWeaver.Messaging.Contract) on the refusals for stream ctBtZgYcpUKmU47Z-1wZyQ.

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

    Where to look

    Still occurring: 1 more since the last update (1 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.HtmlView[0]
          Loading 'metaHtml' in area 'Overview/2/1/1/1/NodeMeta/1' in Area Overview/2/1/1/1/NodeMeta/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 77855ed8dbd964e9 (MeshWeaver.Blazor.Components.HtmlView), 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 0fe2fb4c3780485c
    Log site 77855ed8dbd964e9
    Category MeshWeaver.Blazor.Components.HtmlView
    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 1
    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/0fe2fb4c3780485c
    Triage called it NodeMeta view's sync stream refused by a loop-recycling owner at Store/Payments/_Rejected/{id} (SyncStreamOwnerRefusedException in HtmlView)
    What triage wrote about this fingerprint

    Observed

    One occurrence: on 2026-10-13T20:22:46Z, pod memex-portal-deployment-85f6665f88-mzv8m (namespace memex-cloud), the portal's HtmlView failed while loading the view metaHtml in area Overview/2/1/1/1/NodeMeta/1 — the NodeMeta pane of the Overview layout. The exception is MeshWeaver.Data.Serialization.SyncStreamOwnerRefusedException: sync stream 0SFoN8p830CmrYYhEJYi-g gave up on owner address Store/Payments/_Rejected/973c8980476a49cba8b8059e8e91bf4b after 4 distinct owner activations refused the stream (budget 3). The message reports the address was recycling in a loop — each successor activation died before it could answer — and that the stream ends with this error so its readers can re-read.

    The owner address is a retained rejected Stripe webhook delivery. Per the anchor document Store/Payments, a delivery whose signature does not verify but which names an order is kept at Store/Payments/_Rejected/{id} — and a non-empty _Rejected means someone may have paid and not been served. So the pane was rendering a rejected-payment record, a path documented as readable by a Store admin and never public.

    Where and when

    A single line in the window: firstSeen = lastSeen, one pod. Two coincidences read, neither established as cause:

    • Store/Payments was last modified at 2026-10-13T20:06:36Z, ~16 minutes before the failure.
    • The node Store/Payments/_Rejected/973c8980476a49cba8b8059e8e91bf4b and its container Store/Payments/_Rejected both read Not found from the triage identity. That is equally consistent with the documented Public/Anonymous deny on _Rejected (this identity may simply lack read) and with the node's absence — which it is was not established.

    Impact

    One failure of one admin-facing metadata pane for one retained rejected-payment delivery, once, on one pod. The stream ends by design so its readers can re-read; whether the pane recovered on a later read is not in the evidence. Judged from this burst alone the blast radius is one view load — but the same fingerprint shape has been seen at many other owners (below), so the underlying owner-refusal machinery may be the real unit of impact.

    Pattern — same shape, other owners, no existing ticket

    This exception shape is not unique to this owner. Raw log entries in Ops/Logs carry the same message (budget 3, 4 distinct activations) across the fleet: Doc/Architecture/SelfUpdateFreeze (build, 2026-10-01), Approvals, Approvals/_Policy, FractalStars/_Entitlements/_Po…, BinaryClickerV2, UWDeepfield/* (2026-09-26), Hosting/PaymentsApp, RFPProcessor, Hosting/Triage/_Thread/*, Hosting/FleetWatchPass (2026-10-01/07), and others. No existing Feedback or issue covers this symptom — those are log entries, not incidents; this ticket is the first. Note also that the 2026-10-01 message ends "Readers of this stream will now time out" while this one ends "The stream now ENDS with this error so its readers can re-read" — the terminal behavior of the refused stream changed between 2026-10-01 and now, so this code path moved recently.

    Not established

    • The cause. Nothing in the burst says why the owner address recycled four times: whether each activation died on its own, or something requested the recycles.
    • Whether the node exists — see the Not-found/deny ambiguity above.
    • Whether it recurs for this owner — one occurrence in this window; the entries above are the same shape at other owners, not this one.
    • Whether other log sites show the same refusal for this address in the same window (only the HtmlView line was captured).

    Candidate causes and the reading that separates them

    1. Each owner activation dies during hub initialization (e.g. the per-node hub for the retained delivery fails to come up — a source load or a deserialization failure on the delivery's content). Predicts a repeated per-activation failure line for that address in the pod log, before any quiesce. Reading: the pod log for owner address Store/Payments/_Rejected/973c8980476a49cba8b8059e8e91bf4b around 20:22:46Z — the same initialization error four times would name it.
    2. Something repeatedly requests recycles of the address. The platform carries the recycle reason into the target's [QUIESCE-START] log line. Reading: the [QUIESCE-START] lines for this address on this pod in the same window — their reason fields name who or what asked; four in quick succession confirm the loop and its requester. (Recycle jobs exist under Hosting/Queues/…/recycle-hosting-paymentsapp-*, but those target Hosting/PaymentsApp; no recycle job naming the _Rejected path was read.)
    3. The node was deleted or being deleted while the pane held its stream — a stream to an address whose node goes away, each re-activation of the absent node refusing. Consistent with the Not-found read above, though the deny explains it equally. Predicts the node stays absent under a Store-admin read and there are no [QUIESCE-START] lines for the address at all. Reading: a Store-admin identity reading Store/Payments/_Rejected — presence separates this from 1 and 2 in one step.

    Where to look

    • The sync-stream owner negotiation that raises MeshWeaver.Data.Serialization.SyncStreamOwnerRefusedException — the budget-3 / distinct-activation counting and the terminal-error semantics (which changed vs 2026-10-01).
    • The HtmlView log site Loading '{view}' in area '{area}' in MeshWeaver.Blazor.Components — view metaHtml, area Overview/2/1/1/1/NodeMeta/1, the NodeMeta pane of the Overview layout.
    • The pod log for owner address Store/Payments/_Rejected/973c8980476a49cba8b8059e8e91bf4b on memex-portal-deployment-85f6665f88-mzv8m around 2026-10-13T20:22:46Z: [QUIESCE-START] reasons and any per-activation failure lines.
    • Store/Payments — the anchor document for _Rejected retention semantics ("a retained delivery is evidence, never a fact"; readable by a Store admin, never public).

    Still occurring: 1 more since the last update (1 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.HtmlView[0]
          Loading 'metaHtml' in area 'Overview/2/1/1/1/NodeMeta/1' in Area Overview/2/1/1/1/NodeMeta/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.
    
  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 77855ed8dbd964e9 (MeshWeaver.Blazor.Components.HtmlView), 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 de37656edeebd428
    Log site 77855ed8dbd964e9
    Category MeshWeaver.Blazor.Components.HtmlView
    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 1
    First seen 2026-10-14 07:26:58Z
    Last seen 2026-10-14 07:26:58Z
    Already folded here 8 fingerprint(s)
    Incident Admin/_LogIncident/de37656edeebd428
    Triage called it NodeMeta view's sync stream refused by a loop-recycling owner at Store/Payments/_Rejected/{id} — recurring across a portal re-deployment (SyncStreamOwnerRefusedException, HtmlView)
    What triage wrote about this fingerprint

    Observed

    On pod memex-portal-deployment-6bd97645d4-fwns9 (namespace memex-cloud), the portal's NodeMeta pane — view metaHtml, area Overview/2/1/1/1/NodeMeta/1 — failed to load with MeshWeaver.Data.Serialization.SyncStreamOwnerRefusedException: sync stream IGyFG7mKpU6xDUJA2KdWdg gave up on owner address Store/Payments/_Rejected/973c8980476a49cba8b8059e8e91bf4b after 4 distinct owner activations refused the stream (budget 3), the address recycling in a loop — each successor activation dying before it could answer. The message reports the stream ends with this error so its readers can re-read.

    The owner address is a retained rejected Stripe webhook delivery (see the anchor document Store/Payments: a delivery whose signature does not verify but which names an order is kept at Store/Payments/_Rejected/{id}; a non-empty _Rejected means someone may have paid and not been served). The pane was rendering that rejected-payment record.

    Where and when

    One occurrence in this window, one pod, one instant. But the incident is not isolated:

    • The same exception, same owner address, same view and area was observed on 2026-10-13T20:22:46Z and filed as Sync-stream owner at Store/Payments/_Rejected/973c8980476a49cba8b8059e8e91bf4b recycles in a loop and refuses the stream, failing HtmlView metaHtml render #6723 (from Admin/_LogIncident/0fe2fb4c3780485c, stream 0SFoN8p830CmrYYhEJYi-g). The stream id here is new, i.e. a fresh page load hit the same refusal ~11 hours later — the owner's recycle loop persisted overnight.
    • Yesterday's pod (…-85f6665f88-mzv8m) belongs to a different ReplicaSet hash than today's (…-6bd97645d4-fwns9), so the portal was re-deployed between the two bursts and the refusal survived the pod replacement (inference from the pod names; the deploy itself was not read).
    • The same 07:26:58Z burst carried the same refusal for the other components of the same Overview layout reading the same stream (sibling incidents: Admin/_LogIncident/0719220b05ede97b ContainerView, 4858ce400f52ca71 Label, 0fe35bde1741db3e IconView, 4e9b02f64b62821d LayoutStackView, db058e1f769a9600 DispatchView, 412bc5ee9348a867 MarkdownView), and a second stream (nZAlMSigYEeetBkkgrZ0rA) refused by a different owner address, Admin/Subscriptions/sglauser (Admin/_LogIncident/cfbde2ffdf2d3b31 and siblings). Two owner addresses refusing streams in the same instant.

    Likely duplicate

    This is the same defect shape, log site, view/area and owner address as #6723 (filed 2026-10-13). The new evidence this occurrence adds: the loop persisted ~11 hours and across a portal re-deployment, and the burst shows a second, unrelated owner address (Admin/Subscriptions/sglauser) refusing the same way at the same instant. A human may close this as a duplicate of #6723 after folding this occurrence in — or keep whichever ticket tracks the now-broader scope.

    Impact

    One admin-facing metadata pane failing to load for one retained rejected-payment record; _Rejected is documented Store-admin-only, never public. The stream's termination with a terminal error is by design so readers can re-read; whether the pane recovered on a later read is not in the evidence. Judged from the numbers this is a secondary-path defect (sev:M): single-digit occurrences per burst, one pod at a time, no evidence of data loss or of a portal that does not serve. The overnight persistence and the appearance of a second owner address suggest the refusal machinery is not self-limiting, which is why the scope question matters more than the individual pane.

    Not established

    • The cause of the recycling loop — why four distinct activations refused the stream.
    • Whether it still occurs — one window observed this morning; nothing later has been read.
    • Whether the Admin/Subscriptions/sglauser refusal shares a cause with this one. Same exception, same budget, same instant — consistent with a per-address fault that is not specific to the _Rejected delivery, but equally consistent with unrelated concurrent faults.
    • Whether the portal re-deployment between the bursts relates — the pod hash changed, but the deploy record was not read.
    • Whether the _Rejected delivery node exists — the 2026-10-13 triage found it Not-found from a non-Store-admin identity, equally consistent with the documented deny on _Rejected.

    Candidate causes and the reading that separates them

    1. Each owner activation dies during hub initialization — e.g. a load or deserialization fault on the retained delivery's content, every successor failing the same way. Predicts a repeated per-activation failure line for the address in the pod log, before any quiesce. Reading: the pod log for owner address Store/Payments/_Rejected/973c8980476a49cba8b8059e8e91bf4b around 07:26:58Z — the same initialization error four times names it. Persistence across a re-deployment fits a fault in the persisted delivery content.
    2. Something repeatedly requests recycles of the address. The platform carries the recycle reason into the target's [QUIESCE-START] log line. Reading: the [QUIESCE-START] lines for this address on this pod in the window — their reason fields name the requester; four in quick succession confirm the loop and who asked. A requester that survives a pod replacement must be external to the pod (queued, scheduled, or client-driven) — if the Admin/Subscriptions/sglauser refusals show the same requester pattern, the two share a cause.
    3. The node is absent or being deleted while the pane holds its stream — each re-activation of the absent node refusing. Predicts the node stays absent under a Store-admin read and there are no [QUIESCE-START] lines for the address at all. Reading: a Store-admin identity reading Store/Payments/_Rejected — presence in one step separates this from 1 and 2.

    Where to look

    • The sync-stream owner negotiation that raises MeshWeaver.Data.Serialization.SyncStreamOwnerRefusedException (budget 3, distinct-activation counting, terminal-error semantics) in MeshWeaver.Data.Serialization.
    • The HtmlView log site Loading '{view}' in area '{area}' in MeshWeaver.Blazor.Components — view metaHtml, area Overview/2/1/1/1/NodeMeta/1.
    • The pod log for memex-portal-deployment-6bd97645d4-fwns9 around 2026-10-14T07:26:58Z: [QUIESCE-START] reasons and per-activation failure lines for both owner addresses (Store/Payments/_Rejected/973c8980476a49cba8b8059e8e91bf4b and Admin/Subscriptions/sglauser).
    • The deploy/rollout record for memex-portal-deployment between 2026-10-13T20:48Z and 2026-10-14T07:27Z.
    • Store/Payments — anchor document for _Rejected retention semantics.
    • Sync-stream owner at Store/Payments/_Rejected/973c8980476a49cba8b8059e8e91bf4b recycles in a loop and refuses the stream, failing HtmlView metaHtml render #6723 — the prior ticket for this owner address (fuller candidate-cause analysis there).
    • Sibling incidents in the same burst: Admin/_LogIncident/412bc5ee9348a867 (MarkdownView), cfbde2ffdf2d3b31 (HtmlView, other owner), 0719220b05ede97b, 4858ce400f52ca71, 0fe35bde1741db3e, 4e9b02f64b62821d, db058e1f769a9600, 35b45f73bdabd399, d0725adb9e7a8d3d, 0f068e74f04f62bb, 0750968ec7cf42a4, 0cf50d9d7d625b31, c808344675bbdedf, aebee61e6325fca7, 2e3172f47480d12b.

    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: 1 more since the last update (1 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.HtmlView[0]
          Loading 'metaHtml' in area 'Overview/2/1/1/1/NodeMeta/1' in Area Overview/2/1/1/1/NodeMeta/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 77855ed8dbd964e9 (MeshWeaver.Blazor.Components.HtmlView), 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 cfbde2ffdf2d3b31
    Log site 77855ed8dbd964e9
    Category MeshWeaver.Blazor.Components.HtmlView
    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 1
    First seen 2026-10-14 07:26:58Z
    Last seen 2026-10-14 07:26:58Z
    Already folded here 9 fingerprint(s)
    Incident Admin/_LogIncident/cfbde2ffdf2d3b31
    Triage called it HtmlView metaHtml area fails as its stream owner Admin/Subscriptions/sglauser recycles in a loop — one of four owner addresses refusing streams in the same second on the same pod
    What triage wrote about this fingerprint

    Observed

    MeshWeaver.Blazor.Components.HtmlView failed while loading the view metaHtml for the area Overview/2/1/1/1/NodeMeta/1 (the node-meta area of an Overview layout). The load failed because the backing sync stream nZAlMSigYEeetBkkgrZ0rA, owned by the address Admin/Subscriptions/sglauser (a Store/Subscription node, viewer sglauser, tier enterprise, state Done/Active), terminated with MeshWeaver.Data.Serialization.SyncStreamOwnerRefusedException from the stream layer in MeshWeaver.Data.Serialization: 4 DISTINCT owner activations refused the stream against a budget of 3 — the hub at that address was recycled four times and each successor activation died before it could answer. The exception's own text states the stream is deliberately ended with this error so its readers can re-read.

    Where and when

    A single occurrence on a single pod of the memex-portal deployment, isolated to this stream. What gives it more weight than its count of 1: this give-up is one of at least four stream give-ups on the same pod within the same second (timestamps within ~60 ms of each other), each with the identical shape "4 DISTINCT owner activations refused this stream (budget 3)":

    • stream nZAlMSigYEeetBkkgrZ0rA — owner Admin/Subscriptions/sglauser (this incident)
    • stream IGyFG7mKpU6xDUJA2KdWdg — owner Store/Payments/_Rejected/973c8980476a49cba8b8059e8e91bf4b (multiple component sites)
    • stream Qlv5xA9kB0WbKiLVHT_zDA — owner sglauser (ThreadChatView composer context)
    • stream ce8cYSIhL0iIw9VdsrhEXA — owner not read from this triage context

    Several unrelated owner addresses hitting the same 4-activations-against-budget-3 refusal at the same instant is not the signature of four coincident per-address faults; it points at a common event recycling many hubs at once, or recycling the same set repeatedly. Separately, the owner Store/Payments/_Rejected/973c8980476a49cba8b8059e8e91bf4b also gave up yesterday (2026-10-13, filed as #6723, Admin/_LogIncident/846736a784dac1ec) on a different pod — so that specific address has now refused across two days and two pods, while the other owners (including this one) appear once.

    Impact

    The node-meta view of one node failed to render once for its reader. Because the stream layer ends the stream by design so readers can re-read, the view symptom is plausibly transient; I could not verify recovery. While each owner loop persisted, the owner address was effectively unavailable to anything reading or writing it in that window. The same-second multi-owner burst suggests whatever requested the recycles touched more than this subscription node.

    Not established

    • What requested the recycles of Admin/Subscriptions/sglauser — the incident carries no stack frame or recycle log line; nothing read here names the requester.
    • Whether the loop settled after the fourth activation or is ongoing — only one log line exists for this stream.
    • Whether the same-second sibling incidents share a single requester — the coincidence is observed, the common cause is inferred, not read.
    • Whether a deployment, roll or pod-level event (config reload, restart) coincided with 07:26:58 on this pod — I could not read deployment events from this triage context.
    • The fourth owner (stream ce8cYSIhL0iIw9VdsrhEXA) — its owner address was not read.
    • Whether this fingerprint recurred for Admin/Subscriptions/sglauser before today — no earlier incident for this owner address was found.

    Candidate causes and the reading that separates them

    1. A systemic recycle trigger at that instant on that pod (roll, restart, config/convergence event recycling many hubs at once, each stream's owners dying before answering). Predicts: recycle/quiesce log lines ([QUIESCE-START] or equivalent) naming several of these owner addresses at ~07:26:58, plus a deployment/restart event for the pod in that window. Reading: pod logs for this timestamp window naming these four addresses; deployment events for memex-portal-deployment-6bd97645d4-fwns9.
    2. A per-address fault repeatedly killing the hub at Admin/Subscriptions/sglauser during activation. Predicts: an identical fault with a stack trace in the hub-activation logs for exactly this address, immediately before each of the four activations died — and no recycle lines for the sibling owners unless they are unrelated. Reading: the pod's hub-init/activation logs for Admin/Subscriptions/sglauser before 07:26:58; if only this address shows repeated activation faults, cause 1 weakens for this incident.
    3. The owner-refusal budget interacting with a legitimate mass recycle — every give-up in the burst shows exactly 4 activations against a budget of 3, which may mean a single systemic event recycled each owner enough times to exhaust the budget, with the nodes themselves healthy. Predicts: recycle lines for these addresses with a normal, recoverable reason, and the addresses serving normally again afterwards. Reading: whether reads/streams on these addresses succeed after 07:26:58.

    Related, not a duplicate

    Where to look

    • Log site: MeshWeaver.Blazor.Components.HtmlView — the Loading '{view}' in area '{area}' failure path; it binds the stream, it does not cause the recycles.
    • Thrower: the stream layer in MeshWeaver.Data.Serialization — SyncStreamOwnerRefusedException, raised when the count of DISTINCT owner activations refusing a stream exceeds the per-stream budget (3).
    • The owner node Admin/Subscriptions/sglauser (nodeType Store/Subscription) and its hub's activation/quiesce logs on pod memex-portal-deployment-6bd97645d4-fwns9 around 07:26:58 UTC, 2026-10-14.
    • The sibling incidents of the same second, for the same window's logs: Admin/_LogIncident/de37656edeebd428 (owner Store/Payments/_Rejected/973c8980…), Admin/_LogIncident/0cf50d9d7d625b31 (owner sglauser), Admin/_LogIncident/2e3172f47480d12b (stream ce8cYSIhL0iIw9VdsrhEXA).

    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: 1 more since the last update (1 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.HtmlView[0]
          Loading 'metaHtml' in area 'Overview/2/1/1/1/NodeMeta/1' in Area Overview/2/1/1/1/NodeMeta/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.
    
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