Skip to content

Desktop x0xd leaks ~1.4-1.6 GB/h RSS; terminal state is host-wide UDP buffer exhaustion = the #312 'studio1 black-hole' #368

Description

@dirvine

Live capture 2026-08-20, tic-tac-toe v0.5.2 sidecars (x0xd 0.37.4), macOS

Two machines, same artifact:

host uptime RSS rate
studio1 (M3 Ultra) pid 694 (--name ttt) 3d21h 142.6 GB ~1.5 GB/h
studio1 pid 746 (--name managed-…) 3d21h 122.6 GB ~1.3 GB/h
macbook (--name ttt) 7h24m 11.9 GB ~1.6 GB/h

Rate is ~100× the #288 VPS figure (10–15 MB/h) — desktop/ttt workload specific (mDNS? presence? LAN churn?), consistent across 3 instances on 2 machines.

vmmap (pid 694)

  • DefaultMallocZone: 278.2 GB VIRT / 139.1 GB RES / 42.2 GB dirty / 2.6 GB swapped
  • 20,740,536 live allocations, only 15.4 GB allocated — millions of small objects
  • 29.4 GB heap fragmentation (66%)

Terminal state = the #312 black-hole

studio1 kernel: 4,173,337 UDP datagrams "dropped due to full socket buffers". Starved recv loops stop draining the QUIC socket → inbound UDP dies host-wide while outbound still works. Observed live: durable DM A→B times out (24 s), B→A dies waiting for receive-ACK on a conn B believes is live; raw nc probes prove transit A→studio1 is fine ("no socket" counter +50/50) while x0xd-bound traffic vanishes. #312 is plausibly not environmental — it is this leak's end state.

Correlated unbounded structure

/diagnostics/gossip pubsub_stages.peer_scores_v2 holds 10,412 peers (peer_scores 4,107) on a box with ~20 live conns; macbook already 3,407 after 7 h. Churned peers appear never pruned. JSON size of the maps (~5 MB) doesn't itself explain 15 GB, so the alloc bulk likely sits behind what the snapshot summarizes.

Evidence bundle: studio1:~/x0x-leak-evidence-20260820/ (vmmap-694.txt, diag-{gossip,dm,groups,history}.json).

Related: #288 (slow VPS variant), #312 (terminal symptom), #262 (driver starvation class).

🤖 Generated with Claude Code

Activity

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

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions