[BUG] Claude Code 2.1.217 crashes with General Protection Fault on VirtualBox (Kubuntu 26.04)
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
Claude Code 2.1.217 crashes immediately with a segmentation fault / general protection fault on VirtualBox running Kubuntu 26.04 minimal. Version 2.1.217 worked correctly in the same environment.
Environment:
Host: VirtualBox VM
Guest OS: Ubuntu Server LTS 26.04 minimal
Installed claude yesterday, did all the coding i needed, everthing worked fine.
saved the session id, normal shutdown , started to resume today and got the crash.
Kernel 7.0.0-27-generic #28-Ubuntu SMP PREEMPT_DYNAMIC Sun Jun 21 01:01:36 UTC 2026 x86_64 GNU/Linux
Got kernel 7.0.0-28, same problem.
I also moved out the .claude folder to start clean, same crash.
Yesterday commands used to start and go coding.
curl -fsSL https://claude.ai/install.sh | bash
mkdir claude
cd claude/
claude
Today all crash..
claude --resume 7cffafs -f2sd-4f75-a10f-ffas61bfasd
claude --resume
claude --version
claude --continue
claude
claude --help
CPU info:
vendor_id : AuthenticAMD
cpu family : 25
model : 97
model name : AMD Ryzen 5 7600X 6-Core Processor
stepping : 2
microcode : 0xa60120c
cpu MHz : 4294.964
cache size : 1024 KB
physical id : 0
siblings : 4
core id : 3
cpu cores : 4
apicid : 3
initial apicid : 3
fpu : yes
fpu_exception : yes
cpuid level : 16
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc cpuid extd_apicid tsc_known_freq pni pclmulqdq ssse3 fma cx16 sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm cmp_legacy svm cr8_legacy abm sse4a misalignsse 3dnowprefetch ibpb vmmcall fsgsbase bmi1 avx2 bmi2 invpcid rdseed adx clflushopt sha_ni arat nrip_save flushbyasid decodeassists flush_l1d
bugs : fxsave_leak sysret_ss_attrs null_seg spectre_v1 spectre_v2 srso ibpb_no_ret spectre_v2_user tsa
bogomips : 8589.92
TLB size : 3584 4K pages
clflush size : 64
cache_alignment : 64
address sizes : 48 bits physical, 48 bits virtual
power management:
What Should Happen?
Claude Code launches normally
Error Messages/Logs
[ 29.295773] traps: claude[2144] general protection fault ip:30497b0 sp:7ffd4666fea0 error:0 in 2.1.217[2e487b0,1b30000+371f000]
[ 366.954383] traps: claude[2488] general protection fault ip:30497b0 sp:7ffe5d8afbe0 error:0 in 2.1.217[2e487b0,1b30000+371f000]
[ 407.766764] traps: claude[2549] general protection fault ip:30497b0 sp:7ffdc62917f0 error:0 in 2.1.217[2e487b0,1b30000+371f000]
[ 415.938934] traps: claude[2580] general protection fault ip:30497b0 sp:7ffd2e975ea0 error:0 in 2.1.217[2e487b0,1b30000+371f000]
[ 424.086378] traps: claude[2593] general protection fault ip:30497b0 sp:7ffc84dee420 error:0 in 2.1.217[2e487b0,1b30000+371f000]
and on new clone test machine. separate master, so exacly same.
[Wed Jul 22 20:14:55 2026] claude[2151]: segfault at 180 ip 0000000000000180 sp 00007ffe5898bfe8 error 14 likely on CPU 0 (core 0, socket 0)
[Wed Jul 22 20:14:55 2026] Code: Unable to access opcode bytes at 0x156.
Steps to Reproduce
I have 1 master VM, the one i cloned to start yesterday was fresh, clean ubuntu installed with minimal packages.
on that one i did :
curl -fsSL https://claude.ai/install.sh | bash
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc && source ~/.bashrc
mkdir claude
cd claude/
claude
Today all crash..
claude --resume 7cffafs -f2sd-4f75-a10f-ffas61bfasd
claude --resume
claude --version
claude --continue
claude
claude --help
So, i got me a new clone, updated it, rebooted, so exacly same as the one yesterday started.
curl -fsSL https://claude.ai/install.sh | bash
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc && source ~/.bashrc
mkdir claude
cd claude/
claude
Now it works, closed claude a few times and started verytime again perfectly.
Shutdown system, start again and..
[Wed Jul 22 20:14:55 2026] claude[2151]: segfault at 180 ip 0000000000000180 sp 00007ffe5898bfe8 error 14 likely on CPU 0 (core 0, socket 0)
[Wed Jul 22 20:14:55 2026] Code: Unable to access opcode bytes at 0x156.
i do wonder why i see this error message, as its different on the other server, while its a clone.
only different part here is, i didnt finish the setup.
installed it, it started, CTRL-C to quit it, and repeated that few times.
Virtual box info :
[ 10.577760] vboxguest: host-version: 7.2.6r172322 0x8000000f
[ 10.578104] vbg_heartbeat_init: Setting up heartbeat to trigger every 2000 milliseconds
[ 10.578166] input: VirtualBox mouse integration as /devices/pci0000:00/0000:00:04.0/input/input16
[ 10.591880] 20:14:43.606853 main VBoxService 7.2.6 r172322 (verbosity: 0) linux.amd64 (Jan 15 2026 17:07:07) release log
20:14:43.60685
[ 10.592058] 20:14:43.607333 main OS Product: Linux
[ 10.592249] 20:14:43.607492 main OS Release: 7.0.0-28-generic
[ 10.592588] 20:14:43.607682 main OS Version: #28-Ubuntu SMP PREEMPT_DYNAMIC Sun Jun 21 01:01:36 UTC 2026
[ 10.593033] 20:14:43.608021 main Executable: /opt/VBoxGuestAdditions-7.2.6/sbin/VBoxService
20:14:43.608021 main Process ID: 1814
2
[ 10.593840] 20:14:43.609035 main 7.2.6 r172322 started. Verbose level = 0
[ 10.594785] 20:14:43.609846 main vbglR3GuestCtrlDetectPeekGetCancelSupport: Supported (#1)
[ 10.595619] 20:14:43.610462 main VBoxClient 7.2.6 r172322 (verbosity: 0) linux.amd64 (Jan 15 2026 17:07:10) release log
20:14:43.610464
[ 10.595831] 20:14:43.611071 main OS Product: Linux
[ 10.596067] 20:14:43.611269 main OS Release: 7.0.0-28-generic
[ 10.596487] 20:14:43.611507 main OS Version: #28-Ubuntu SMP PREEMPT_DYNAMIC Sun Jun 21 01:01:36 UTC 2026
[ 10.597046] 20:14:43.611921 main Executable: /opt/VBoxGuestAdditions-7.2.6/bin/VBoxDRMClient
20:14:43.611921 main Process ID: 1818
Claude Model
Sonnet (default)
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
2.1.217
Platform
Anthropic API
Operating System
Ubuntu/Debian Linux
Terminal/Shell
Other
Additional Information
Also tried other terminal. xterm, same crash, terminal is unrelated imo.
A few similar bug reports are also here all #67453 #60214
Showing cached comments. Read the full discussion on GitHub ↗
3 Comments
To be added.
On the original system, i made a new user. ran the claude installer again.
and its working.
switch to original user, not working.
So, to continue my work, i ask claude to scan the old user folder and import everything in the new test user.
This worked 💯%, costed a few tokens.. :-(
After i run my work, i'll shutdown the system again and start it up again and check if its still working.
And meanwhile, claude desktop on the host system never stopped working. (for months now).
#updated.
powered off.
original user, still crash.
test user, on same system, that did work, so i have hope for tomorrow session, but its a strange bug.
so started the vm again today, original user still crash, tested the 2.1.216 and 217 version.
test user, which downloaded claude 1 day later still working. so thats good.
i did notice 1 difference.
not working binary : 268573680 Jul 21 22:02 .local/share/claude/versions/2.1.217
working binary : 263197264 Jul 22 20:46 .local/share/claude/versions/2.1.217
so, i copied the working binary over the not working, tested it and its all working.
im only wondering, how can these binary have the same version and differ in size.
Confirming this is still present in 2.1.219, with the same faulting instruction pointer as the original report — and on a different CPU vendor but the same guest kernel.
The
ip, code start, mapping base and mapping size are all byte-identical to the 2.1.217 trace in the original report (ip:30497b0 ... [2e487b0,1b30000+371f000]), so it did not move between .217 and .219.Environment
The guest kernel matches the original report exactly (7.0.0-27-generic, Ubuntu 26.04 LTS), but the CPU does not — this is Intel Alder Lake, the original was an AMD Ryzen 5 7600X, and #60214 was an Intel i9-13950HX. Three reports, both vendors, so the guest kernel/userland looks like a better correlate than the CPU here.
AVX is present in the guest, so this does not look like the non-AVX baseline crash (#20611, #24562) — there is no
CPU lacks AVX supportbanner, and the signal is SIGSEGV rather than SIGILL:Every subcommand crashes, including
claude --versionandclaude --help. Removing~/.claudemade no difference.strace shows the fault happens before Claude Code makes any meaningful syscall. The trace covers only glibc/loader startup — library mmaps,
arch_prctl(ARCH_SET_FS),set_tid_address,set_robust_list,rseq, the RELROmprotectcalls,prlimit64,getrandom(8, GRND_NONBLOCK), the loader'smunmap, twofutex(FUTEX_WAKE_PRIVATE)— and then:No config file is opened, no socket, nothing project-related.
si_code=SI_KERNELwithsi_addr=NULL(rather thanSEGV_MAPERRwith a real fault address) is consistent with the general protection fault in dmesg — the CPU refused an instruction outright rather than touching an unmapped page.Speculative, but given the CPUID feature bits are advertised and it still #GPs, extended processor state (XSAVE/XCR0) handling in the hypervisor seems a more likely suspect than the feature bits themselves.
Only
2.1.219exists in~/.local/share/claude/versions/, so the symlink rollback from #60214 isn't available on a fresh install — downgrading requires re-running the installer with an explicit version.