Skip to content

Goose Desktop crash: EXC_BREAKPOINT (SIGTRAP) in Electron Framework after ~22 hours uptime #7793

@cvigrassblock

Description

@cvigrassblock

Bug Report

Description

Goose Desktop (Electron app) crashed with EXC_BREAKPOINT (SIGTRAP) after running for approximately 22 hours. The crash occurred on the main thread (CrBrowserMain) inside the Electron Framework, appearing to involve V8 garbage collection / stream read handling.

Environment

  • Goose Version: 1.27.2-block.202603061938-3a15b
  • Electron Framework: 40.7.0
  • OS: macOS 26.3 (25D125)
  • Hardware: Mac16,8 (MacBook Pro, Apple M4 Pro, 24 GB RAM)
  • Architecture: ARM-64 (Native)

Crash Details

  • Date/Time: 2026-03-10 11:40:24 PDT
  • Launch Time: 2026-03-09 13:50:57 PDT (~21h 49m uptime)
  • Exception Type: EXC_BREAKPOINT (SIGTRAP)
  • Exception Codes: 0x0000000000000001, 0x0000000111179d3c
  • Termination Reason: Namespace SIGNAL, Code 5, Trace/BPT trap: 5
  • Triggered by Thread: 0 (CrBrowserMain, main thread)

Crash Stack Trace (Thread 0 — Crashed)

Thread 0 Crashed:: CrBrowserMain Dispatch queue: com.apple.main-thread
0   Electron Framework    ares_dns_rr_get_ttl + 3719688
1   Electron Framework    ares_dns_rr_get_ttl + 3719688
2   Electron Framework    ares_dns_rr_get_ttl + 3719712
3   Electron Framework    ares_dns_rr_get_ttl + 3719740
4   Electron Framework    node::PrincipalRealm::messaging_deserialize_create_object() const + 347072
5   Electron Framework    fontations_ffi$cxxbridge1$BridgeMappingIndex$operator$sizeof + 4587960
6   Electron Framework    fontations_ffi$cxxbridge1$BridgeMappingIndex$operator$sizeof + 4587844
7   Electron Framework    v8::CppHeap::CollectGarbageInYoungGenerationForTesting(cppgc::EmbedderStackState) + 93636
8   Electron Framework    v8::SharedMemoryStatistics::SharedMemoryStatistics() + 66344
...
49  Electron Framework    v8::Function::Call(...) + 6672
50  Electron Framework    v8::Function::Call(...) + 388
51  Electron Framework    node::InternalMakeCallback(...) + 580
52  Electron Framework    node::AsyncWrap::MakeCallback(...) + 288
53  Electron Framework    node::StreamBase::CallJSOnreadMethod(...) + 292
54  Electron Framework    node::EmitToJSStreamListener::OnStreamRead(...) + 360
55  Electron Framework    node::LibuvStreamWrap::OnUvRead(...) + 988
56  Electron Framework    _register_external_reference_stream_wrap(...) + 112
57  Electron Framework    uv__stream_init + 772
58  Electron Framework    uv__io_poll + 1108
59  Electron Framework    uv_run + 376
60  Electron Framework    node::PrincipalRealm::messaging_deserialize_create_object() const + 350508

Analysis

  • The crash originates in the libuv event loop (uv_runuv__io_poll → stream read) processing an incoming stream read callback
  • The callback triggers V8 JS execution (v8::Function::Call) which hits a breakpoint trap deep in V8 internals
  • The top of the stack shows ares_dns_rr_get_ttl offsets (likely symbolication artifacts pointing to V8 heap/GC code)
  • V8 GC-related symbols appear throughout: CppHeap::CollectGarbageInYoungGenerationForTesting, SharedMemoryStatistics, cppgc::EnsureGCInfoIndex
  • The app had been running for ~22 hours, suggesting possible memory pressure or GC corruption over extended use

Memory Info

  • Virtual memory: 1.4 TB total mapped (normal for Electron/V8)
  • MALLOC: 93.4 MB
  • Memory Tag 253: 48 GB (4215 regions)
  • Memory Tag 255: 1.3 TB (16480 regions)

Steps to Reproduce

  1. Run Goose Desktop for an extended period (~22 hours)
  2. App crashes spontaneously (no specific user action identified)

Additional Context

The full macOS crash report is available upon request. The crash appears to be in the Electron/V8 layer rather than Goose application code. This may be related to long-running MCP extension processes or stream handling over extended sessions.

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