anthropics / anthropics/claude-code

[BUG] Segmentation fault (SIGSEGV) on install and startup — CachyOS Linux

Abierto
#89,377 8 comentarios 6 reacciones 0 asignados Ver en GitHub
area:core area:installation bug duplicate platform:linux regression
Lenguaje dominante
Python
Estrellas
145k
Forks
23.1k
Métricas de merge de PR
Métricas de PR pendientes

Descripción

### 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.

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Línea de trabajo

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.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
bun, fish, linux
Área
cli, operating-systems
Tipo de issue
Error
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Activo
Claridad
Bastante claro
Aptitud para principiantes
45/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.