Skip to content

ContentRoute fails with DeliveryFailureException when target hub activation throws NullReferenceException #1693

Closed

Description

@meshweaver-cloud

What is failing

MeshWeaver.ContentRoute fails with a DeliveryFailureException when it attempts to read static content (AdvancedBusinessRules/content/videos/advanced-business-rules.mp4) and the target hub (AdvancedBusinessRules) throws a NullReferenceException during activation. The exception surfaces as a DeliveryFailureException wrapping the activation failure.

Probable cause

Confidence: High. The inner exception is explicit: "Hub activation failed for AdvancedBusinessRules: Object reference not set to an instance of an object." This is a NullReferenceException inside the AdvancedBusinessRules hub's initialization code — it is not a transient messaging glitch. The hub itself has a bug (null dereference) during startup, which prevents it from receiving or processing any subsequent GetDataRequest messages. This is a distinct failure mode from the related incident (#1563 / issue 1563) where the hub was unreachable (timeout). Here the hub is reachable but crashes on init.

Impact

Low. One occurrence on one pod (memex-portal-deployment-c89ddfbb6-nl4pp), one timestamp. Only the AdvancedBusinessRules hub is affected. A single user request for the video file (advanced-business-rules.mp4) would have failed (likely a 404 / error response for that video player). No wider service degradation.

Where to look

  • Component: MeshWeaver.ContentRoute — the handler that dispatches GetDataRequest and unwraps the DeliveryFailureException. The catch/retry logic should distinguish activation failures from delivery failures and log the inner exception clearly.
  • Hub: AdvancedBusinessRules — the hub's activation/constructor logic contains a null dereference. Look at the hub's OnActivate or constructor for uninitialized fields / null service dependencies. The same path was the target of the related TimeoutException in ContentRoute times out fetching static content when target hub is unreachable #1563, suggesting AdvancedBusinessRules may have an underlying stability issue.
  • Related: issue ContentRoute times out fetching static content when target hub is unreachable #1563 on Systemorph/MeshWeaver (timeout on same content path, same target hub).

Evidence

Fingerprint 83ea6fdcf6fa198a
Category MeshWeaver.ContentRoute
Severity Error
Exception MeshWeaver.Messaging.DeliveryFailureException
Namespace memex-cloud
Pods memex-portal-deployment-c89ddfbb6-nl4pp
Occurrences 1
First seen 2026-08-16 21:25:40Z
Last seen 2026-08-16 21:25:40Z
Recent log lines
2026-08-16 21:25:40Z memex-portal-deployment-c89ddfbb6-nl4pp fail: MeshWeaver.ContentRoute[0]
      Content read failed for AdvancedBusinessRules/content/videos/advanced-business-rules.mp4
      MeshWeaver.Messaging.DeliveryFailureException: Hub activation failed for AdvancedBusinessRules: Object reference not set to an instance of an object.

Opened automatically from Admin/_LogIncident/83ea6fdcf6fa198a. Recurrences are folded into this issue rather than opening new ones.

Activity

  1. added a commit that references this issue on Aug 18, 2026
  2. systemorph-com commented on Sep 17, 2026

    @systemorph-com
    Contributor

    Reopened — this fault is happening again.

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

    • Last seen: 2026-08-17 00:29:32Z
    • Pods: memex-portal-deployment-c89ddfbb6-nl4pp, memex-portal-deployment-c89ddfbb6-vzqm7, memex-portal-deployment-66cc6466bf-frwpk
    Recent log lines
    2026-08-17 00:29:32Z memex-portal-deployment-66cc6466bf-frwpk fail: MeshWeaver.ContentRoute[0]
          Content read failed for DataModelling/content/og-card.png
          MeshWeaver.Messaging.DeliveryFailureException: Hub activation failed for DataModelling: Object reference not set to an instance of an object.
    2026-08-17 00:29:32Z memex-portal-deployment-66cc6466bf-frwpk fail: MeshWeaver.ContentRoute[0]
          Content read failed for BusinessRules/content/og-card.png
          MeshWeaver.Messaging.DeliveryFailureException: Hub activation failed for BusinessRules: Object reference not set to an instance of an object.
    2026-08-17 00:29:32Z memex-portal-deployment-66cc6466bf-frwpk fail: MeshWeaver.ContentRoute[0]
          Content read failed for AgenticOffice/content/og.png
          MeshWeaver.Messaging.DeliveryFailureException: Hub activation failed for AgenticOffice: Object reference not set to an instance of an object.
    
  3. rbuergi commented on Sep 17, 2026

    @rbuergi
    Contributor

    Re-closed — the reopen above was on stale evidence (#4577).

    The recurrence bot reopened this at 2026-09-17T07:52:21Z under the headline "this fault is happening again", but the occurrence its own comment cites is OLDER than the close it reverted:

    the bot's Last seen: the close it reverted
    2026-08-17 00:29:32Z 2026-08-18T13:33:28Z

    So the counter moved, not the clock — the fault's newest occurrence predates the close, which is the one thing "still happening" has to mean. Root cause and fix: LogIncidentFiler.Reopen reopened on the sole condition that the issue was closed, while the comment-debt clock pays a final count for incidents whose fault has stopped (the fix, Systemorph/MeshWeaver.Plugins#2014, is written but NOT yet merged — it makes a reopen require incident.LastSeen > issue.ClosedAt).

    This restores the close exactly as it stood; nothing is asserted about the defect itself. If the fault happens again, the next occurrence postdates this close and reopens the issue on evidence that means what it says.

    One of 53 issues whose reopen was measured stale (129 bot reopens on 2026-09-17, 125 of them inside the 07:51-07:53Z sweep; 76 postdate their close and were left open). Measured and re-closed 2026-09-17 by Claude Opus 5.

  4. systemorph-com commented on Sep 26, 2026

    @systemorph-com
    Contributor

    Reopened — this fault is happening again.

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

    • Last seen: 2026-09-24 10:02:06Z
    • Pods: memex-portal-deployment-56fbdcd48f-sz5st, memex-portal-deployment-c89ddfbb6-nl4pp, memex-portal-deployment-c89ddfbb6-vzqm7, memex-portal-deployment-66cc6466bf-frwpk
    Recent log lines
    2026-08-17 00:29:32Z memex-portal-deployment-66cc6466bf-frwpk fail: MeshWeaver.ContentRoute[0]
          Content read failed for BusinessRules/content/og-card.png
          MeshWeaver.Messaging.DeliveryFailureException: Hub activation failed for BusinessRules: Object reference not set to an instance of an object.
    2026-08-17 00:29:32Z memex-portal-deployment-66cc6466bf-frwpk fail: MeshWeaver.ContentRoute[0]
          Content read failed for AgenticOffice/content/og.png
          MeshWeaver.Messaging.DeliveryFailureException: Hub activation failed for AgenticOffice: Object reference not set to an instance of an object.
    2026-09-24 10:02:06Z memex-portal-deployment-56fbdcd48f-sz5st fail: MeshWeaver.ContentRoute[0]
          Content read failed for Doc/Architecture/content/platform-overview.svg
          MeshWeaver.Messaging.DeliveryFailureException: Delivery to 'Doc/Architecture' failed: Grain placement operation timed out for grain messagehub/Doc/Architecture.
    

    Re-addressed by the current identity function: this incident inherited 83ea6fdcf6fa198a (Systemorph/MeshWeaver.Plugins#1796). Those nodes are superseded and will not fold, file or comment again.

  5. added
    area:messagingCore subsystem: message hubs - delivery, disposal, lifecycle
    bugSomething isn't working
    sev:LLow - cosmetic, rare edge case, or developer-only
    on Sep 26, 2026
  6. rbuergi commented on Oct 8, 2026

    @rbuergi
    Contributor

    Closing. The defect in the title was fixed by #1824 (merged 2026-08-18): a hub whose activation throws NullReferenceException now degrades in 10 s with an attributable answer (HubConstructionFailureReason, pinned by test/MeshWeaver.Hosting.Orleans.Test/HubConstructionFailureReasonTest.cs). The last log line of that shape is from 2026-08-17 00:29Z, before the fix.

    The 2026-09-26 reopen cites a different defect that shares this fingerprint (category + exception type): Delivery to 'Doc/Architecture' failed: Grain placement operation timed out on 2026-09-24 10:02Z. That belongs to the placement / silo-stall family (#5388), not to a null-reference activation.

    sev:L sweep, Claude Opus 5.5 (agent session).

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

    area:messagingCore subsystem: message hubs - delivery, disposal, lifecyclebugSomething isn't workingfeature:hub-initializationFeature: hub initializationsev:LLow - cosmetic, rare edge case, or developer-only

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions