anthropics / anthropics/claude-code

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

Open
#89,523 3 comments 0 reactions 0 assignees View on GitHub
area:core area:packaging duplicate has repro platform:linux
Dominant language
Python
Stars
145k
Forks
23.1k
PR merge metrics
PR metrics pending

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

Contributor guide

No contributing guide indexed for this repository

Research direction

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.

Written by the indexing model from the issue text.

Assessment

Tech stack
arch-linux, linux
Domain
cli, operating-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.