[Linux Desktop 26.803.81509] Opening Git-backed Codex threads crashes the app with SIGILL in git worker

Resolved 💬 1 comment Opened Aug 12, 2026 by nv2k Closed Aug 12, 2026

What version of the Codex App are you using?

26.803.81509 (x86_64-linux)

What subscription do you have?

ChatGPT Plus

What platform is your computer?

Linux 7.1.7 x86_64 unknown
  • NixOS 26.11.20260807.afb4584
  • Cinnamon desktop
  • X11 session

What issue are you seeing?

The app launches, authenticates, and remains stable when using regular ChatGPT conversations. However, opening an existing local Codex thread associated with a Git repository causes the entire desktop app to exit without displaying an error.

I reproduced the thread-opening crash twice:

  1. Opening the current local Codex thread for the repository crashed the app.
  2. After relaunching, opening a different previous Codex thread for the same repository crashed it again.

There were three SIGILL coredumps in total during testing. The additional crash occurred during an earlier Browser Use startup test and had the same native Git-worker signature.

For the controlled thread-opening reproductions:

  • The crashing native thread was named git.
  • The last relevant application log line was:

``text
[git-repo-watcher] Starting git repo watcher
``

  • The main ChatGPT process received SIGILL.
  • Disassembly at the fault location showed ud1, consistent with an intentional Chromium/Node trap rather than an unsupported CPU instruction.
  • No OOM condition was recorded.

The application was tested from OpenAI's official Linux .deb through the Nixpkgs packaging proposed in NixOS/nixpkgs#551713.

That package currently has a separate outer-wrapper bug involving literal Wayland arguments. The Codex-thread crash still reproduced when launching through the package's internal launcher and bypassing those outer-wrapper arguments, so that wrapper bug is not required to trigger this crash.

What steps can reproduce the bug?

  1. Launch Codex/ChatGPT Desktop 26.803.81509 on Linux.
  2. Sign in.
  3. Open and use a regular ChatGPT conversation; the app remains stable.
  4. Select an existing local Codex thread whose workspace is a Git repository.
  5. The entire desktop process exits without a user-facing error.
  6. Relaunch the app and select another local Codex thread for the same repository.
  7. The app exits again with the same SIGILL Git-worker signature.

What is the expected behavior?

The local Codex thread should open normally. If Git repository discovery or watcher initialization fails, the error should be isolated and reported without terminating the entire desktop application.

Additional information

The following existing reports appear related at a high level but do not match this reproduction closely enough to treat them as confirmed duplicates:

  • #27614 reports a conversation-loading crash on an older Fedora Linux build, but does not include the SIGILL or Git-worker signature.
  • #35179 is specifically a Windows Desktop report with a different native exception and a later thread-memory hypothesis.
  • #36027 and #33042 involve the VS Code extension rather than the native Linux desktop app.

The systemd coredumps have been retained locally. I can provide further sanitized metadata or disassembly details if maintainers request them through an appropriate channel.

View original on GitHub ↗

1 Comment

nv2k · 15 days ago

Update: this turned out to be specific to the Nix packaging rather than an upstream Codex Desktop bug.

The investigation in NixOS/nixpkgs#551713 found that autoPatchelf moves PT_INTERP beyond detect-libc's 2 KiB scan range. Its process.report fallback then trips Electron's CFI, producing the SIGILL reported here.

The Nix package now works around this by forcing @parcel/watcher to use its glibc backend:

https://github.com/NixOS/nixpkgs/commit/8917735c8596eb80ea5be8b2f4a02fd6b246041c

I built and tested that exact commit on x86_64 NixOS with Cinnamon/X11. Multiple existing Git-backed Codex threads opened successfully, the Git repo watcher started repeatedly, and the app remained running with no SIGILL.

The original symptoms were accurate, but my initial attribution to upstream was incorrect. Closing this as packaging-specific. Thanks to @Moraxyc for identifying the cause.