Message handler for a sync hub dies with OutOfMemoryException and the delivery-pipeline log hides the allocation site
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 45/100
Research direction
Start with src/MeshWeaver.Messaging.Hub/MessageService.cs, especially RunHandler around line 2565, and trace how the delivery is available in the catch-all exception handler. Check whether the sync path enforces the transport size limit and compare the oversized-message diagnostics. Done means the log includes the delivery's message type and payload size, with tests covering the added diagnostics; the underlying OOM cause is uncertain.
Written by the indexing model from the issue text.
Description
What is failing
The message delivery pipeline (MeshWeaver.Messaging.MessageService.RunHandler, the catch-all that runs a hub's message handlers over the Rx delivery stream) reported an unhandled System.OutOfMemoryException while executing a handler for hub sync/-QF_gp2iLEKTpPIdfoRaIA on the memex portal. The delivery's handler died mid-execution and that message was not processed.
Probable cause
Cause unclear — and the evidence limits what can be said. The OOM was logged at RunHandler (MessageService.cs:line 2565), but that frame is the pipeline's exception boundary: the allocation that failed happened inside the handler invocation, below System.Reactive ObservableImpl.Defer.Run, and no deeper frames were captured. So the component at fault is the handler for whatever message the sync hub was processing, not RunHandler itself. Two candidate causes stand out, in order of likelihood: (1) a genuinely oversized sync payload being materialised by a handler — the platform has a documented history of oversized internal messages (refused at send since late August, per An impossibly large message now fails instead of hanging) and of OOMs at large-buffer allocation sites (issue #1351, OOM in MessageDeliveryConverter serialization; issue #5501, OOM in MapPublish's MemoryStream buffering); or (2) transient pod-level memory pressure that surfaced at the next allocation, whatever it was. Confidence: low-medium; this ticket is as much about the observability gap — the unhandled-exception log should capture the delivery's message type and size, and ideally more of the inner stack — as about a specific defect.
Impact
A single occurrence on one portal pod, seconds before this incident was opened — one message delivery lost. Not an outage; but a delivery-pipeline OOM is a silent message-loss mode, and if it recurs on sync traffic it will look like a space that stopped syncing, with only this generic line to go on.
Where to look
src/MeshWeaver.Messaging.Hub/MessageService.cs, RunHandler (~line 2565). Start from the hub address sync/-QF_gp2iLEKTpPIdfoRaIA — correlate what sync operation was running at that timestamp and what message was in flight. Then: (a) enrich the unhandled-exception log in RunHandler with the delivery's message type and payload size so the next occurrence points at the producer, mirroring the refusal diagnostics introduced for oversized messages; (b) check whether the transport's size limit is enforced on the sync path as it is on the send path. Related prior OOMs in the same family, for pattern context: issue #1351 (MemoryAdapterFactory.QueueMessageBatchAsync serialization OOM, incident Admin/_LogIncident/4a50cc9363466ae2) and issue #5501 (MapPublish buffering OOM, incident Admin/_LogIncident/7bb4ddf387689fad) — same broad symptom class, different log sites, so not duplicates of this fingerprint. Architecture context on the delivery pipeline: Debugging Message Flow, Message-Based Communication.
Evidence
| Fingerprint | aee0aebf6d9f1763 |
| Category | MeshWeaver.Messaging.MessageService |
| Severity | Error |
| Exception | System.OutOfMemoryException |
| Top frame | MeshWeaver.Messaging.MessageService.RunHandler(IMessageDelivery delivery) |
| Namespace | memex |
| Pods | memex-portal-deployment-6cfcf78898-gkkdv |
| Occurrences | 1 |
| First seen | 2026-10-05 16:32:38Z |
| Last seen | 2026-10-05 16:32:38Z |
| Routing | not determined — no configured route matches the category MeshWeaver.Messaging.MessageService. 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-05 16:32:38Z memex-portal-deployment-6cfcf78898-gkkdv fail: MeshWeaver.Messaging.MessageService[0]
Unhandled exception in delivery pipeline for hub sync/-QF_gp2iLEKTpPIdfoRaIA
System.OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown.
at MeshWeaver.Messaging.MessageService.RunHandler(IMessageDelivery delivery) in /home/runner/work/MeshWeaver/MeshWeaver/src/MeshWeaver.Messaging.Hub/MessageService.cs:line 2565
at System.Reactive.Linq.ObservableImpl.Defer`1._.Run()
Opened automatically from Admin/_LogIncident/aee0aebf6d9f1763. Recurrences are folded into this issue rather than opening new ones.
It also stands for the whole log site de336e74e276acee: other fingerprints of this site fold in here as comments rather than opening tickets of their own.
- Dominant language
- C#
- Stars
- 12
- Forks
- 5
- Avg merge
- 4h 1m
- Merged PRs (30d)
- 979
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- No contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from Systemorph/MeshWeaver
-
area:search documentation
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Systemorph/MeshWeaver#6030 ·
Maintainers usually reply within 1 day
-
ApiTokenService.RevokeToken posts its revocation SaveMeshNodeRequest from the mesh (router) hub instead of a node-operation hubPossibly taken A pull request linked to this issue is open or already merged. Openbug sev:M
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
Systemorph/MeshWeaver#6026 · 3 comments ·
Maintainers usually reply within 1 day
-
area:hosting bug sev:M
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Systemorph/MeshWeaver#6019 · 1 comment ·
Maintainers usually reply within 1 day
-
bug sev:L
Difficulty 1/5 1-3 hours Newbie friendliness 76/100
Systemorph/MeshWeaver#6011 · 1 comment ·
Maintainers usually reply within 1 day
-
bug sev:B
Difficulty 4/5 3-5 days Newbie friendliness 12/100
Systemorph/MeshWeaver#6343 ·
Maintainers usually reply within 1 day
All issues in Systemorph/MeshWeaver
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
PCL-Community/PCL-CE#3658 ·
Maintainers usually reply within 1 day
-
Deploy & Patch-issues opprettes ikke: create-pnd-issues.yml har feilet hver uke siden 2025-09-08Open
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
Altinn/altinn-auth#4359 ·
Maintainers usually reply within 1 day
-
アプリ: チャット 優先: 中 提案
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
yksr-melt/Meltype#243 · 1 comment ·
Maintainers usually reply within 1 day
-
type/automation type/tech-debt
Difficulty 1/5 Under an hour Newbie friendliness 72/100
Maintainers usually reply within 1 day
-
no-stack-trace
Difficulty 2/5 1-3 hours Newbie friendliness 83/100
Maintainers usually reply within 1 day