anthropics / anthropics/claude-code

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

Ouverte
#89,523 3 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
area:core area:packaging duplicate has repro platform:linux
Langage dominant
Python
Étoiles
145k
Forks
23.1k
Métriques de merge des PR
Métriques de PR en attente

Description

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

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Piste de recherche

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.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
arch-linux, linux
Domaine
cli, operating-systems
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
Active
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.