SIGABRT crash: native .node addon deleted from /tmp during runtime (v2.1.42)
Resolved 💬 3 comments Opened Feb 16, 2026 by x10roissy Closed Feb 19, 2026
Bug Report
Claude Code version: 2.1.42
OS: Ubuntu 24.04.2 LTS (kernel 6.11.0-1013-oem)
Architecture: AMD x86-64
RAM: 16 GB (7.8 GB available at crash time, no memory pressure)
Description
Claude Code crashes with SIGABRT (Signal 6) when a native Node.js addon (.node file) extracted to /tmp is deleted during runtime.
Crash Details
Signal: 6 (ABRT)
Module: /tmp/.7fd7ffdf9bf9ff67-00000000.node (deleted)
Coredump size: 88.3M
Stack Trace (from coredumpctl)
#0 __pthread_kill_implementation (libc.so.6 + 0x9eb2c)
#1 __GI_raise (libc.so.6 + 0x4527e)
#2 __GI_abort (libc.so.6 + 0x2898f)
#3 (claude binary + 0x3f06b58)
#4 (claude binary + 0x59a6421)
#5 (claude binary + 0x59a2dd1)
#6 (claude binary + 0x59a2e25)
#7 (claude binary + 0x59a2163)
#8 (claude binary + 0x49b74cd)
...
Root Cause Analysis
- Claude Code extracts native
.nodeaddons to/tmpat startup (e.g.,/tmp/.7fd7ffdf9bf9ff67-00000000.node) - The file gets deleted during execution (shown as
(deleted)in coredump module listing) - When the runtime tries to access the addon, it triggers an assertion failure → SIGABRT
Possible Causes for File Deletion
- Claude Code internal restart/update mechanism deleting old temp files
- GC/fork behavior cleaning up temp files from parent process
- External cleanup (systemd-tmpfiles, though configured for 30d retention here)
Suggested Fix
- Use
O_TMPFILEormemfd_create()to keep the file descriptor alive even if unlinked - Or extract addons to a persistent directory (e.g.,
~/.local/share/claude/native/) instead of/tmp - Or add error handling for missing
.nodefiles with graceful restart instead of abort
Reproduction
- Single occurrence so far on this system
- Running as a long-lived process via tmux (systemd user service)
- 15 min into session when crash occurred
Environment
- systemd-tmpfiles-clean timer: active (30d retention on /tmp)
- Process was running in systemd user scope
- No OOM conditions (7.8 GB free, 0 swap used)
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗