anthropics / anthropics/claude-code
[BUG] Segmentation fault (SIGSEGV) on install and startup — CachyOS Linux
- 主要语言
- Python
- 星标
- 145k
- 派生
- 23.1k
- PR 合并指标
- PR 指标待抓取
描述
### Preflight Checklist
- [x] I have searched [existing issues](https://github.com/anthropics/claude-code/issues?q=is%3Aissue%20state%3Aopen%20label%3Abug) and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
### What's Wrong?
Both the native installer's own install step and every subsequent invocation of `claude` crash immediately with a segmentation fault (exit code 139). The crash is fully deterministic — it happens at the exact same instruction pointer address (`ip 0000000001d10458`) across separate runs. `error 4` decodes to a user-mode read of an unmapped page (null pointer dereference) at address 0 — not random memory corruption, but something specific to this environment.
Claude Code is built on Bun (JavaScriptCore engine). Segfaults at address 0x0 on startup are a known crash pattern in Bun/JSC, usually tied to JIT code generation or memory-mapping assumptions that don't hold on non-standard kernels. CachyOS ships a custom kernel/scheduler (BORE) and distro-level compiler optimizations that differ from mainstream distros (Ubuntu/Fedora/Debian), which may conflict with how the JIT allocates executable memory (W^X / RWX mappings). Disabling the JIT via `BUN_JSC_useJIT=0` did not prevent the crash, ruling out the most common JIT-specific workaround.
### What Should Happen?
Installer completes and `claude --version` / `claude doctor` run normally.
### Error Messages/Logs
```shell
Installer output:
Setting up Claude Code...
bash, linha 226: 7226 Falha de segmentação (imagem do núcleo gravada) "$binary_path" install ${TARGET:+"$TARGET"}
Installation was killed before it could finish (exit code 139).
dmesg output (two separate crashes, same instruction pointer both times):
[ 32.510354] claude[2745]: segfault at 0 ip 0000000001d10458 sp 00007ffc9cb40960 error 4 in 2.1.243[1b0f458,1953000+3b33000] likely on CPU 9 (core 4, socket 0)
[ 32.510367] Code: cc cc 55 48 89 e5 48 89 fe 48 8b 05 82 19 78 03 48 89 f9 48 c1 e9 1d 48 8b 84 c8 80 00 00 00 89 f1 c1 e9 0d 81 e1 f8 ff 00 00 <48> 8b 3c 08 48 85 ff 74 1e 48 8b 07 64 48 33 04 25 00 00 00 00 75
[ 652.461011] claude-2.1.243-[7226]: segfault at 0 ip 0000000001d10458 sp 00007ffe8e361c70 error 4 in claude-2.1.243-linux-x64[1b0f458,1953000+3b33000] likely on CPU 5 (core 6, socket 0)
[ 652.461024] Code: cc cc 55 48 89 e5 48 89 fe 48 8b 05 82 19 78 03 48 89 f9 48 c1 e9 1d 48 8b 84 c8 80 00 00 00 89 f1 c1 e9 0d 81 e1 f8 ff 00 00 <48> 8b 3c 08 48 85 ff 74 1e 48 8b 07 64 48 33 04 25 00 00 00 00 75
```
### Steps to Reproduce
1. Clean environment: remove any prior npm-based install (`npm uninstall -g @anthropic-ai/claude-code`, `rm -rf ~/.local/share/claude`)
2. Run the native installer:
```
curl -fsSL https://claude.ai/install.sh | bash
```
3. Installer downloads successfully, then crashes during its own `install` step (see Error Messages/Logs)
4. Running the installed binary directly (`claude --version`, `claude doctor`, etc.) crashes the same way
5. Try the known Bun/JavaScriptCore JIT workaround — does not help:
```
set -gx BUN_JSC_useJIT 0
curl -fsSL https://claude.ai/install.sh | bash
```
### Claude Model
None
### Is this a regression?
I don't know
### Last Working Version
_No response_
### Claude Code Version
2.1.243 (Claude Code)
### Platform
Anthropic API
### Operating System
Other Linux
### Terminal/Shell
Other
### Additional Information
Diagnostic checks already ruled out:
- Architecture (`uname -m`): x86_64 — matches downloaded binary
- libc (`ldd --version`): `ldd (GNU libc) 2.44` — glibc, not musl
- Memory (`free -h`): 15Gi total, 10Gi available — not an OOM kill (that gives exit 137, not 139)
- AVX support (`grep avx /proc/cpuinfo`): present
- Virtualization (`systemd-detect-virt`): none — bare metal, not a VM/container
- `BUN_JSC_useJIT=0` workaround: tried, no change
Environment: CachyOS Linux (`ID=cachyos`, Arch-based, custom BORE kernel/scheduler and distro-level compiler optimizations), shell: fish, arch: x86_64.
Note: while filling out this form, GitHub flagged several potential duplicates with what looks like the exact same crash signature (same instruction pointer `0x0000000001d10458` in `free`), including #89371, #89369, and #89360.
Happy to run further diagnostics (`strace`, `gdb` on a core dump, testing other `BUN_JSC_*` flags, testing on the mainline kernel instead of `linux-cachyos`) if maintainers can suggest specific commands.
贡献指南
这个仓库没有索引到贡献指南
调研方向
Start with the native installer command curl -fsSL https://claude.ai/install.sh | bash and reproduce using claude --version or claude doctor on CachyOS. Review the repeated dmesg SIGSEGV entries at instruction pointer 0x1d10458 and compare behavior with BUN_JSC_useJIT=0 or a mainline kernel. Done means installation completes and both commands run without exit code 139.
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- bun, fish, linux
- 领域
- cli, operating-systems
- Issue 类型
- 缺陷
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 活跃度
- 活跃
- 描述清晰度
- 基本清楚
- 新手友好度
- 45/100