anthropics / anthropics/claude-code

2.1.243 SIGSEGV on startup (glibc 2.44, Arch) — self-heal to 2.1.241 worked, adding correlated repro

Aperta
#89,523 3 commenti 0 reazioni 0 assegnatari Vedi su GitHub
area:core area:packaging duplicate has repro platform:linux
Lingua principale
Python
Stelle
145k
Fork
23.1k
Metriche di merge delle PR
Metriche PR in attesa

Descrizione

## Summary
`claude` / `cld` (`claude --dangerously-skip-permissions`) segfaulted on every
launch after auto-updating to 2.1.243. Same signature as #89366 and the many
other duplicates filed today — adding this report because I can correlate it
to an exact system change and confirm the auto-updater's self-quarantine
worked correctly.

## Environment
- OS: Arch Linux (rolling)
- glibc: upgraded **2.43+r37 → 2.44+r24** on 2026-08-13T12:38:08+03:00
(`pacman.log`), 12 days before the 2.1.243 build (2026-08-25) that crashes
on it
- Affected install: `~/.local/share/claude/versions/2.1.243` (native binary)

## Backtrace (gdb on the coredump)
```
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0x0000000001d10458 free (2.1.243 + 0x1b10458)
#1 0x00007f5c3a43530a __newlocale (libc.so.6 + 0x3530a)
#2 0x0000000001abd282 n/a (2.1.243 + 0x18bd282)
#3 0x00007f5c3a49d7fc n/a (libc.so.6 + 0x9d7fc)
#4 0x00007f5c3a49d879 pthread_once (libc.so.6 + 0x9d879)
#5 0x0000000001abc2d2 n/a (2.1.243 + 0x18bc2d2)
...
```
Matches the community root-cause writeups on the other threads: glibc 2.44's
`__newlocale` refactor calls `free()` unconditionally, which segfaults under
the bundled allocator's malloc/free interposition.

## One thing worth noting: the self-heal worked
The versioned-install updater detected the crash loop on its own and
recovered without any user action:
- `~/.local/share/claude/versions/2.1.243` got renamed to `2.1.243.broken`
- `~/.local/bin/claude` symlink was repointed back to `2.1.241` (last good)
- `claude --version` now returns `2.1.241` cleanly, no crash

So the practical impact was a few minutes of `claude`/`cld` refusing to start
in an already-open terminal, not a stuck install. Worth confirming that's the
intended recovery path — it worked here.

## Repro (before the self-heal kicked in)
```
$ cld
[1] 482691 segmentation fault (core dumped) claude --dangerously-skip-permissions
$ cld
[1] 482816 segmentation fault (core dumped) claude --dangerously-skip-permissions
$ claude
[1] 482986 segmentation fault (core dumped) claude
```

Related: #89366, #89399, #89394, #89412, #89420, #89369 (all filed today with
the same signature).

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Direzione di ricerca

No source file or test is named. Start by reviewing related issues #89366, #89399, #89394, #89412, #89420, and #89369, then examine the versioned-install updater behavior described here on Arch Linux with glibc 2.44. Done means determining whether the 2.1.243 startup crash is independently actionable and whether the reported quarantine and rollback path is the intended recovery behavior.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
arch-linux, linux
Ambito
cli, operating-systems
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Attiva
Chiarezza
Abbastanza chiara
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.