anthropics / anthropics/claude-code

[BUG] Native installer (2.1.243) segfaults in newlocale/free during startup on glibc 2.44 (CachyOS)

Offen
#89,371 8 Kommentare 8 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
area:packaging bug has repro platform:linux regression
Vorherrschende Sprache
Python
Sterne
145k
Forks
23.1k
PR-Merge-Kennzahlen
PR-Kennzahlen ausstehend

Beschreibung

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

The native binary (Bun-based) crashes with SIGSEGV on every launch attempt, including during
the installer's own post-install step (`"$binary_path" install`). This reproduces 100% of the
time and matches the known Bun-runtime-on-new-glibc crash family (see #76241, #84293, #69980,
#62747), but glibc 2.44 is newer than any glibc version mentioned in those threads, so filing
this separately in case it needs a distinct fix/allowlist entry.

### Environment
- Claude Code version: 2.1.243
- Install method: native installer (`curl -fsSL https://claude.ai/install.sh | bash`)
- OS: CachyOS (Arch-based, rolling release)
- Kernel: 7.2.0-1-cachyos
- glibc version: 2.44
- CPU: x86_64, AVX/AVX2/AVX-VNNI all present (confirmed via `/proc/cpuinfo`, ruled out the
no-AVX crash class)
- Locale: LANG=en_US.UTF-8, LC_ALL=en_US.UTF-8 (confirmed valid/installed via `locale -a`,
ruled out broken-locale-env class)
- Also have `claude-desktop` installed from AUR (package `claude-desktop-1.34493.1-1`,
provides `/usr/bin/claude-desktop` and `/usr/lib/claude-desktop`). This is a separate
Electron-based app and does not appear related to the native CLI binary's install path
(`~/.local/share/claude`), but flagging it in case of any shared state, cache, or
binary-name collision worth ruling out.

The crash is inside `free()`, called from glibc's `__newlocale`, suggesting a bad free/double
free during locale initialization inside the bundled Bun runtime — possibly related to glibc's
own recent locale-path changes (glibc 2.44 changelog includes "locale: newlocale memory leak in
LOCPATH parsing and on error paths").

### What I've Already Ruled Out
- Not a missing-AVX issue: CPU reports `avx avx2 avx_vnni` in `/proc/cpuinfo`.
- Not a broken/missing locale: `LANG`/`LC_ALL` point to `en_US.UTF-8`, which is present in
`locale -a` output.
- Not a musl/glibc binary mismatch: confirmed system is glibc via `ldd --version`
(`ldd (GNU libc) 2.44`), and `ldd /bin/ls` resolves cleanly.

### Related Issues
- #76241
- #84293
- #69980
- #62747

### What Should Happen?

The binary should start (or at minimum print a diagnosable error) instead of segfaulting
during runtime/locale initialization.

### Error Messages/Logs

```shell
Stack trace of thread 3186:
#0 0x0000000001d10458 free (2.1.243 + 0x1b10458)
#1 0x00007f589663a1ab __newlocale (libc.so.6 + 0x3a1ab)
#2 0x0000000001abd282 n/a (2.1.243 + 0x18bd282)
#3 0x00007f58966b2584 n/a (libc.so.6 + 0xb2584)
#4 0x00007f58966b26a9 pthread_once (libc.so.6 + 0xb26a9)
#5 0x0000000001abc2d2 n/a (2.1.243 + 0x18bc2d2)
#6 0x0000000001ace6cf n/a (2.1.243 + 0x18ce6cf)
#7 0x0000000001abdc0a n/a (2.1.243 + 0x18bdc0a)
#8 0x0000000001abe9c4 n/a (2.1.243 + 0x18be9c4)
#9 0x00007f58966b2584 n/a (libc.so.6 + 0xb2584)
#10 0x00007f58966b26a9 pthread_once (libc.so.6 + 0xb26a9)
#11 0x0000000001abea15 n/a (2.1.243 + 0x18bea15)
#12 0x0000000001abead7 n/a (2.1.243 + 0x18bead7)
#13 0x0000000001abb922 n/a (2.1.243 + 0x18bb922)
#14 0x0000000001abb724 n/a (2.1.243 + 0x18bb724)
#15 0x0000000001aadadd n/a (2.1.243 + 0x18adadd)
#16 0x00007f5896627e23 __libc_start_main (libc.so.6 + 0x27e23)
#17 0x0000000001953a2e n/a (2.1.243 + 0x1753a2e)
ELF object binary architecture: AMD x86-64
```

### Steps to Reproduce

1. `curl -fsSL https://claude.ai/install.sh | bash`
2. Installer downloads the binary, then fails during its own install step:
Setting up Claude Code...
bash: line 226: 3740 Segmentation fault (core dumped) "binary_path" install ${TARGET:+" TARGET"}
Installation was killed before it could finish (exit code 139).
3. Running the resulting binary directly at `~/.local/share/claude/versions/2.1.243` also
segfaults immediately, with no arguments needed.
4. `claude uninstall` on a previously-installed copy of this same version also segfaults
(same crash signature), rather than failing gracefully.

### Claude Model

None

### Is this a regression?

Yes, this worked in a previous version

### Last Working Version

2.1.205

### Claude Code Version

2.1.243

### Platform

Anthropic API

### Operating System

Other Linux

### Terminal/Shell

Other

### Additional Information

_No response_

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Rechercherichtung

Start with the native installer flow in install.sh and reproduce the crash during its post-install "$binary_path" install step, then compare it with running the downloaded version directly. Review related issues #76241, #84293, #69980, and #62747 and the provided __newlocale/free stack trace. Done means the native binary starts on glibc 2.44 or reports a diagnosable error instead of segfaulting.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
linux, shell
Bereich
cli, operating-systems
Issue-Typ
Bug
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Aktiv
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.