anthropics / anthropics/claude-code

2.1.243 native build segfaults at startup on Arch Linux (glibc 2.44) — even `--version` and `claude update`

オープン
#89,564 コメント 0 件 リアクション 3 件 担当者 0 名 GitHub で見る
area:packaging bug has repro platform:linux
主要言語
Python
スター
145k
フォーク
23.1k
PR マージ指標
PR 指標を取得中

説明

## Summary

The **2.1.243** native build segfaults immediately on startup on Arch Linux — every invocation, including `claude --version` and `claude update`. 2.1.240, 2.1.241 and 2.1.245 all run fine on the same machine, so this looks specific to 2.1.243 (2.1.242 not tested).

Filing for the record because 2.1.243 was completely unusable *and* self-recovery was impossible: `claude update` / `claude upgrade` segfault too, so the only way out was manually re-pointing the launcher symlink at a retained older version.

## Environment

- Arch Linux, kernel 6.18.44-1-lts, x86_64
- glibc 2.44+r24+g16be1518495f-1 (upgraded 2026-08-16)
- Install method: `native` (`~/.local/share/claude/versions/`)
- Reproduced from both fish and bash

## Reproduction

```
$ ~/.local/share/claude/versions/2.1.243 --version
Segmentation fault (core dumped)
$ echo $?
139
```

Crashes identically for: bare `claude`, `claude --version`, `claude update`, `claude upgrade`, `claude --resume `, and headless `claude -p ...`. Setting `LC_ALL=C LANG=C` makes no difference. Reproduced across two boots and ~26 separate invocations.

## Stack trace

```
Signal: 11 (SEGV)

#0 0x0000000001d10458 free (2.1.243 + 0x1b10458)
#1 0x00007f78b363530a __newlocale (libc.so.6 + 0x3530a)
#2 0x0000000001abd282 n/a (2.1.243 + 0x18bd282)
#3 0x00007f78b369d7fc n/a (libc.so.6 + 0x9d7fc)
#4 0x00007f78b369d879 pthread_once (libc.so.6 + 0x9d879)
#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 0x00007f78b369d7fc n/a (libc.so.6 + 0x9d7fc)
#10 0x00007f78b369d879 pthread_once (libc.so.6 + 0x9d879)
#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 0x00007f78b3627892 __libc_start_main (libc.so.6 + 0x27892)
#17 0x0000000001953a2e n/a (2.1.243 + 0x1753a2e)
```

## Notes

- The crash sits in startup locale initialization (`__newlocale` under `pthread_once`), before argument parsing — which explains why even `--version` dies and why the in-band updater can't be used to escape.
- The `free` frame is attributed to the binary, but `nm -D --defined-only` shows neither 2.1.241 nor 2.1.243 exports `free`, so that is most likely nearest-symbol attribution rather than an allocator interposition against glibc.
- Each crash wrote a 70.7 MB core dump; 26 of them accumulated before it was noticed.

## Versions tested on this machine

| Version | Result |
|---|---|
| 2.1.240 | OK |
| 2.1.241 | OK |
| 2.1.242 | not tested |
| 2.1.243 | SIGSEGV, every invocation |
| 2.1.245 | OK |

## Workaround

Re-point the launcher at a retained older build:

```
ln -sf ~/.local/share/claude/versions/2.1.241 ~/.local/bin/claude
```

Installing 2.1.245 (`claude install 2.1.245`) also resolves it — whatever this was appears already fixed there.

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

調査の方向性

Start by reproducing the crash from ~/.local/share/claude/versions/2.1.243 with --version on Arch Linux and compare it with 2.1.241 and 2.1.245. Use the supplied startup stack trace and locale details to investigate the native build; done means startup commands, including the updater, no longer segfault on the reported environment.

索引モデルが issue の本文から書いたものです。

評価

技術スタック
bash, fish, linux
領域
cli, operating-systems
issue の種類
バグ
難易度
5/5
見積もり時間
1週間以上
活発さ
活発
明瞭さ
説明が足りない
初心者へのやさしさ
25/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。