anthropics / anthropics/claude-code

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

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

Beschreibung

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

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Rechercherichtung

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.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
arch-linux, linux
Bereich
cli, operating-systems
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
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.