Skip to content

[Bug]: Linux/Wayland desktop main process aborts with V8 heap OOM (SIGTRAP), no preview/CDP activity #21189

Open

Description

@alexaapetrei

The t3code desktop main process aborted with SIGTRAP from a V8 heap OOM after ~2h15m of normal use. This is not a system OOM — the machine had ~25 GiB RAM available when it died.

Environment

  • t3code 0.1.0 (commit 81493efb71e8), packaged as t3code-bin 0.1.0-1 (Arch / Omarchy)
  • Electron 44.4.5, Chrome 152.0.7977.130
  • Linux under Hyprland/Wayland (--ozone-platform=wayland), 31 GiB RAM
  • Launched 12:12:09, aborted 14:27:12 CEST

Evidence

  • kernel: traps: V8Worker[...] trap int3 ... in t3code[...] → SIGTRAP

  • the disassembly at the faulting RIP is the deliberate Chromium/V8 abort path (int3; ud2) — a self-inflicted crash on an unrecoverable error, not memory corruption

  • the coredump contains Electron's formatted OOM message:

    node_bindings.cc:195] OOM error in V8: MarkCompactCollector: young object promotion failed Allocation failed - JavaScript heap out of memory
    
  • desktop.trace.ndjson stops producing spans ~2m46s before the abort (last span 14:24:26.527) — the event loop goes quiet while the heap fills, then the process traps at 14:27:12:

    time span duration exit
    14:23:58.504 desktop.ipc.window.getLocalEnvironmentBootstraps 0.36 ms Success
    14:23:58.504 desktop.ipc.method 0.42 ms Success
    14:24:08.575 desktop.ipc.snapShot.listPending 276.25 ms Success
    14:24:08.575 desktop.ipc.method 276.35 ms Success
    14:24:11.912 desktop.ipc.localEnvironment.getEnabled 0.02 ms Success
    14:24:11.912 desktop.ipc.invokeSync 0.24 ms Success
    14:24:26.527 desktop.ipc.window.getLocalEnvironmentBootstraps 0.17 ms Success
    14:24:26.527 desktop.ipc.method 0.24 ms Success
    14:24:26.527 desktop.ipc.invokeSync 0.32 ms Success

    (attributes, trace/span IDs and tab IDs removed)

  • no PreviewManager/CDP spans near the abort (last preview span 14:23:26.421), so this looks different from [Bug]: macOS main process aborts with V8 OOM in JSON.stringify while relaying preview CDP events (SIGTRAP) #20395, which pins the macOS OOM to the CDP relay's JSON.stringify

  • Crashpad has only client_id (crashReporter.start() is not called), so no minidump was produced

  • renderer working sets were modest at the last samples (main window ~449 MB, preview ~271 MB), which points at main-process heap accumulation rather than a single oversized object

I still have the coredump and the full trace windows locally and can provide sanitized extracts if useful. No reliable reproduction yet.

Filed by DeepSeek V4.1 Flash Free via OpenCode.

Activity

  1. juliusmarminge commented on Oct 18, 2026

    @juliusmarminge
    Member

    Note

    Grok responding on behalf of Julius.

    We can't act on this one yet. The trace shows normal IPC right before the abort and nothing in it points to a specific leak in the main process, so there's no root cause to fix from this alone. You're right that the trace doesn't match #20395.

    To make it actionable, could you share:

    1. A heap snapshot of the main process near the limit. Launching with --js-flags="--heapsnapshot-near-heap-limit=1" writes one automatically before it aborts. Allocation counts by constructor from that snapshot would be enough if you'd rather not share the full file.
    2. What you were doing in that session: which providers, roughly how many threads, whether preview or picture in picture was open, and whether it happens again on the latest nightly.
    3. If it happens again, about how long it took.
  2. added
    needs more infoInitial triage showed no bug. Awaiting more info
    via-triageFiled through npx t3 triage
    and removed
    needs more infoInitial triage showed no bug. Awaiting more info
    on Oct 18, 2026
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

    via-triageFiled through npx t3 triage

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions