Skip to content

Codex App on macOS crashes with SIGABRT after sending a message; earlier missing rollout path #21663

Open

Description

@tyson-trader

What version of the Codex App are you using (From “About Codex” dialog)?

Codex 26.506.21252

What subscription do you have?

chatgpt pro

What platform is your computer?

Darwin 25.1.0 arm64 arm

What issue are you seeing?

## Summary

Codex App on macOS crashes after sending a message. Initially it failed to resume a local conversation because the expected rollout JSONL file did not exist. After reinstalling Codex App and clearing local Codex state, the app still crashes with `SIGABRT` / `thread caused non-unwinding panic`.

## Environment

- OS: macOS
- Architecture: [Apple Silicon / Intel]
- Codex App version: [paste version from About Codex]
- Install source: Codex App official download page
- Login method: ChatGPT account
- Workspace tested:
  - `/Users/<user>/Documents/Codex`
  - `/Users/<user>/codex-empty-test`
- Time of occurrence: 2026-05-08 around 12:30–12:41 local time

## Error shown in Codex App

```text
恢复对话失败
failed to resolve rollout path `/Users/<user>/.codex/sessions/2026/05/08/rollout-2026-05-08T12-30-06-<thread-id>.jsonl`: No such file or directory (os error 2)
(code=null, signal=SIGABRT).
Most recent error: thread caused non-unwinding panic. aborting.

Later, after clearing state, the missing rollout path message no longer appeared, but the app still crashed with:

(code=null, signal=SIGABRT).
Most recent error:
0:        0x1087e53f0 - __mh_execute_header
1:        0x107d4151c - __mh_execute_header
2:        0x1087b4958 - __mh_execute_header
...
26:        0x19b699c08 - __pthread_cond_wait
thread caused non-unwinding panic. aborting.

Reproduction steps

  1. Install or reinstall Codex App on macOS.
  2. Open Codex App.
  3. Log in with ChatGPT account.
  4. Open a local workspace, for example /Users/<user>/Documents/Codex or /Users/<user>/codex-empty-test.
  5. Start a new conversation.
  6. Send a simple message such as hi.
  7. Codex App crashes with SIGABRT.

What I tried

I backed up and moved the existing Codex local data:

cp -a ~/.codex ~/.codex.backup.$(date +%Y%m%d-%H%M%S)
mv ~/.codex ~/.codex.broken.$(date +%Y%m%d-%H%M%S)

Then I reinstalled Codex App.

I recreated the expected sessions directory and verified it was writable:

mkdir -p ~/.codex/sessions/2026/05/08
chmod -R u+rwX ~/.codex

I also removed GUI/global state files:

pkill -f Codex
pkill -f codex

BACKUP_DIR="$HOME/.codex/state-broken-$(date +%Y%m%d-%H%M%S)"
mkdir -p "$BACKUP_DIR"

mv ~/.codex/.codex-global-state.json "$BACKUP_DIR/" 2>/dev/null
mv ~/.codex/.codex-global-state.json.bak "$BACKUP_DIR/" 2>/dev/null

I then tried a deeper local state cleanup:

pkill -f Codex
pkill -f codex

BACKUP_DIR="$HOME/.codex/runtime-broken-$(date +%Y%m%d-%H%M%S)"
mkdir -p "$BACKUP_DIR"

mv ~/.codex/.codex-global-state.json* "$BACKUP_DIR/" 2>/dev/null
mv ~/.codex/state_*.sqlite* "$BACKUP_DIR/" 2>/dev/null
mv ~/.codex/logs_*.sqlite* "$BACKUP_DIR/" 2>/dev/null
mv ~/.codex/sqlite "$BACKUP_DIR/sqlite" 2>/dev/null
mv ~/.codex/cache "$BACKUP_DIR/cache" 2>/dev/null
mv ~/.codex/.tmp "$BACKUP_DIR/dot-tmp" 2>/dev/null
mv ~/.codex/tmp "$BACKUP_DIR/tmp" 2>/dev/null
mv ~/.codex/plugins "$BACKUP_DIR/plugins" 2>/dev/null
mv ~/.codex/vendor_imports "$BACKUP_DIR/vendor_imports" 2>/dev/null
mv ~/.codex/computer-use "$BACKUP_DIR/computer-use" 2>/dev/null

mkdir -p ~/.codex/sessions
chmod -R u+rwX ~/.codex

The crash still occurs after these steps.

Observed local state issue

Before clearing state, ~/.codex/.codex-global-state.json contained projectless thread IDs that pointed to threads whose rollout JSONL files did not exist.

Example, redacted:

{
  "projectless-thread-ids": [
    "<thread-id-1>",
    "<thread-id-2>",
    "<thread-id-3>"
  ],
  "thread-workspace-root-hints": {
    "<thread-id-1>": "/Users/<user>/Documents/Codex",
    "<thread-id-2>": "/Users/<user>/Documents/Codex",
    "<thread-id-3>": "/Users/<user>/Documents/Codex"
  }
}

The expected path under ~/.codex/sessions/2026/05/08/ did not contain the corresponding rollout-*.jsonl file.

Relevant macOS log excerpts

From:

log show --last 10m --predicate 'process CONTAINS[c] "Codex"' --info --debug

I saw repeated Codex / Codex Helper process starts and repeated FSEvents errors:

Codex Helper: (libsystem_info.dylib) Retrieve User by ID
Codex Helper: (TCC) TCCAccessRequest() IPC
codex: (libsystem_info.dylib) Retrieve User by ID
codex: (Network) networkd_settings_read_from_file initialized networkd settings by reading plist directly
codex: (Security) SecKeyCopyAttributes
codex: (Security) SecKeyCopyPublicBytes
codex: (Security) SecTrustEvaluateIfNecessary

Repeated FSEvents errors:

codex: (FSEvents) dev 0 () : purging events up to event id <event-id>
codex: (FSEvents) [com.apple.fsevents:client] FSEventsPurgeEventsForDeviceUpToEventId: f2d_purge_events_for_device_up_to_event_id_rpc() failed: 5

Expected behavior

Codex App should create a new local thread/session successfully, write the required rollout file if needed, and not crash when sending a message.

If a rollout file is missing, Codex App should handle it gracefully rather than aborting.

Actual behavior

Codex App crashes with:

(code=null, signal=SIGABRT)
thread caused non-unwinding panic. aborting.

Initially it also failed with:

failed to resolve rollout path `~/.codex/sessions/.../rollout-<timestamp>-<thread-id>.jsonl`: No such file or directory (os error 2)

Attachments

I can provide a redacted codex-gui-crash.log generated with:

log show --last 10m --predicate 'process CONTAINS[c] "Codex"' --info --debug \
| sed "s#/Users/$USER#/Users/<user>#g" \
| sed "s#$USER#<user>#g" \
> ~/codex-gui-crash-redacted.log

I will not upload auth.json, config.toml, installation_id, or the full ~/.codex directory because they may contain sensitive local or authentication information.

What steps can reproduce the bug?

1.Install or reinstall Codex App on macOS.
2.Open Codex App.
3.Log in with ChatGPT account.
4.Open a local workspace, for example /Users//Documents/Codex or /Users//codex-empty-test.
5.Start a new conversation.
6.Send a simple message such as hi.
7.Codex App crashes with SIGABRT.

What is the expected behavior?

No response

Additional information

No response

Activity

  1. added
    appIssues related to the Codex desktop app
    on May 8, 2026
  2. added
    bugSomething isn't working
    sessionIssues involving session (thread) management, resuming, forking, naming, archiving
    on May 8, 2026
  3. github-actions commented on May 8, 2026

    @github-actions
    Contributor

    Potential duplicates detected. Please review them and close your issue if it is a duplicate.

    Powered by Codex Action

  4. tyson-trader commented on May 8, 2026

    @tyson-trader
    Author

    Workaround: running Codex with a clean HOME works:
    HOME=/tmp/codex-home-test codex --cd /Users//codex-empty-test

    But using the real HOME crashes even with /tmp workspace:
    RUST_BACKTRACE=1 codex --cd /tmp/codex-work-test

    This suggests Codex crashes when handling something in the real HOME environment, likely through macOS FSEvents / notify invalid UTF-8 path handling.

  5. tyson-trader commented on May 8, 2026

    @tyson-trader
    Author

    Update: After clearing Codex/OpenAI local Library state, Codex App can now send messages again. The earlier crash appears tied to local app/cache/state plus macOS FSEvents/notify invalid UTF-8 handling. I am still checking whether Codex CLI with the real HOME is fixed as well.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    appIssues related to the Codex desktop appbugSomething isn't workingsessionIssues involving session (thread) management, resuming, forking, naming, archiving

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions