Repository navigation
Hangs & crashes with SIGTRAP (Pointer Authentication) on macOS 15.5 #1659
Copy link
Copy link
Closed
Description
┃ > fish: Job 1, 'opencode .' terminated by signal SIGTRAP (Trace or breakpoint trap)
I can reproduce this by calling /models or attempting to send a message. more innocuous commands like /help or /themes seem to work ok.
I have configured Anthropic with an oauth token (opencode auth login) and I have an OpenAI api key that's being picked up from the environment.
I am running the latest opencode:
$ opencode --version
0.3.132
I originally had opencode installed by bun globally (bun 1.2.19 is installed via mise).
I then uninstalled that and installed via homebrew, to the same effect.
I experience this in and out of tmux; I briefly attempted with zsh to no avail.
not much of use comes up from opencode --log-level DEBUG:
full log output for ~/.local/share/opencode/log/2025-08-06T202446.log
INFO 2025-08-06T20:24:46 +46ms service=default version=0.3.132 args=["--log-level=DEBUG"] opencode
INFO 2025-08-06T20:24:46 +0ms service=app cwd=/Users/britt/code/eevee creating
INFO 2025-08-06T20:24:46 +1ms service=app git=/Users/britt/code/eevee git
INFO 2025-08-06T20:24:46 +2ms service=bus type=storage.write subscribing
INFO 2025-08-06T20:24:46 +0ms service=app name=bus registering service
INFO 2025-08-06T20:24:46 +1ms service=format init
INFO 2025-08-06T20:24:46 +0ms service=bus type=file.edited subscribing
INFO 2025-08-06T20:24:46 +0ms service=bus type=* subscribing
INFO 2025-08-06T20:24:46 +0ms service=config.hooks init
INFO 2025-08-06T20:24:46 +0ms service=bus type=file.edited subscribing
INFO 2025-08-06T20:24:46 +0ms service=bus type=session.idle subscribing
INFO 2025-08-06T20:24:46 +0ms service=app name=lsp registering service
INFO 2025-08-06T20:24:46 +0ms service=app name=config registering service
INFO 2025-08-06T20:24:46 +0ms service=app name=provider registering service
INFO 2025-08-06T20:24:46 +1ms service=config path=/Users/britt/.config/opencode/config.json loading
INFO 2025-08-06T20:24:46 +0ms service=config path=/Users/britt/.config/opencode/opencode.json loading
INFO 2025-08-06T20:24:46 +0ms service=config path=/Users/britt/.config/opencode/opencode.jsonc loading
INFO 2025-08-06T20:24:46 +1ms service=config agent={} mode={} plugin=[] username=britt loaded
INFO 2025-08-06T20:24:46 +1ms service=models.dev file={} refreshing
INFO 2025-08-06T20:24:46 +1ms service=provider init
INFO 2025-08-06T20:24:46 +1ms service=provider providerID=openai found
INFO 2025-08-06T20:24:46 +0ms service=provider providerID=anthropic found
INFO 2025-08-06T20:24:46 +3ms service=default cmd=["/Users/britt/.cache/opencode/tui/tui-wpsvhfv7."] tui
INFO 2025-08-06T20:24:46 +0ms service=app name=mode registering service
INFO 2025-08-06T20:24:47 +66ms service=server method=GET path=/config request
INFO 2025-08-06T20:24:47 +1ms service=server duration=1 response
DEBUG 2025-08-06T20:24:47 +1ms service=tui app={"hostname":"spectrier.local","time":{},"git":true,"path":{"config":"/Users/britt/.config/opencode","state":"/Users/britt/.local/state/opencode","data":"/Users/britt/.local/share/opencode/project/Users-britt-code-eevee","root":"/Users/britt/code/eevee","cwd":"/Users/britt/code/eevee"}} modes=[{"name":"build","tools":{}},{"name":"plan","tools":{"write":false,"edit":false,"patch":false}}] url=http://127.0.0.1:50277/ TUI launched
DEBUG 2025-08-06T20:24:47 +2ms service=tui config={"$schema":"","agent":{"general":{"description":"","disable":false,"model":"","prompt":"","temperature":0,"tools":{},"top_p":0}},"autoshare":false,"autoupdate":false,"disabled_providers":[],"experimental":{"hook":{"file_edited":{},"session_completed":[]}},"formatter":{},"instructions":[],"keybinds":{"app_exit":"","app_help":"","editor_open":"","file_close":"","file_diff_toggle":"","file_list":"","file_search":"","input_clear":"","input_newline":"","input_paste":"","input_submit":"","leader":"ctrl+x","messages_copy":"","messages_first":"","messages_half_page_down":"","messages_half_page_up":"","messages_last":"","messages_layout_toggle":"","messages_next":"","messages_page_down":"","messages_page_up":"","messages_previous":"","messages_redo":"","messages_revert":"","messages_undo":"","model_list":"","project_init":"","session_compact":"","session_export":"","session_interrupt":"","session_list":"","session_new":"","session_share":"","session_unshare":"","switch_mode":"","switch_mode_reverse":"","theme_list":"","tool_details":""},"layout":"","lsp":{},"mcp":{},"mode":{"build":{"disable":false,"model":"","prompt":"","temperature":0,"tools":{},"top_p":0},"plan":{"disable":false,"model":"","prompt":"","temperature":0,"tools":{},"top_p":0}},"model":"","permission":{"edit":""},"plugin":[],"provider":{},"share":"","small_model":"","theme":"","username":"britt"} Loaded config
INFO 2025-08-06T20:24:47 +0ms service=server method=GET path=/file/status request
INFO 2025-08-06T20:24:47 +1ms service=tui commands={"app_exit":{},"app_help":{},"editor_open":{},"file_close":{},"file_diff_toggle":{},"file_search":{},"input_clear":{},"input_newline":{},"input_paste":{},"input_submit":{},"messages_copy":{},"messages_first":{},"messages_half_page_down":{},"messages_half_page_up":{},"messages_last":{},"messages_layout_toggle":{},"messages_next":{},"messages_page_down":{},"messages_page_up":{},"messages_previous":{},"messages_redo":{},"messages_undo":{},"model_list":{},"project_init":{},"session_compact":{},"session_export":{},"session_interrupt":{},"session_list":{},"session_new":{},"session_share":{},"session_unshare":{},"switch_mode":{},"switch_mode_reverse":{},"theme_list":{},"tool_details":{}} Loaded commands
INFO 2025-08-06T20:24:47 +1ms service=server method=GET path=/event request
INFO 2025-08-06T20:24:47 +0ms service=server event connected
INFO 2025-08-06T20:24:47 +1ms service=bus type=* subscribing
INFO 2025-08-06T20:24:47 +0ms service=server duration=1 response
INFO 2025-08-06T20:24:47 +1ms service=server method=GET path=/tui/control/next request
INFO 2025-08-06T20:24:47 +4ms service=server method=GET path=/config/providers request
INFO 2025-08-06T20:24:47 +1ms service=server duration=1 response
DEBUG 2025-08-06T20:24:47 +1ms service=tui model=claude-opus-4-1-20250805 provider=anthropic Selected model from recent usage
DEBUG 2025-08-06T20:24:47 +11ms service=tui timeTakenMs=0 messages.renderView
DEBUG 2025-08-06T20:24:47 +3ms service=tui file=/Users/britt/.local/state/opencode/tui State saved to file
DEBUG 2025-08-06T20:24:47 +0ms service=tui color=#161617 isDark=true Background color
DEBUG 2025-08-06T20:24:47 +4ms service=tui timeTakenMs=0 messages.renderView
DEBUG 2025-08-06T20:24:47 +0ms service=tui file=/Users/britt/.local/state/opencode/tui State saved to file
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels
Activity
[-]Hangs & crashes with SIGTRAP (Trap) in fish on macOS 15.5[/-][+]Hangs & crashes with SIGTRAP (Pointer Authentication) on macOS >= 15.5[/+]brittlewis12 commentedon Aug 6, 2025
Update: it would seem this may be pointer authentication-related for apple silicon:
all the distribution methods i've tried (bash via opencode.ai/install, homebrew, bun) have ad-hoc signed binaries without jit entitlements. on macOS 15.5, this seems to be causing SIGTRAP crashes when Bun's JSC tries to jit.
I tried manually signing it with jit entitlements to see if this can be worked around locally, but the child processes spawned do not seem to inherit the entitlements anyhow
full crash dump:
[-]Hangs & crashes with SIGTRAP (Pointer Authentication) on macOS >= 15.5[/-][+]Hangs & crashes with SIGTRAP (Pointer Authentication) on macOS 15.5[/+]brittlewis12 commentedon Aug 7, 2025
a little more smoke re: codesign entitlement requirements ratcheting up with 15.5
sqlc-dev/sqlc#4016
wazero/wazero#2393
brittlewis12 commentedon Aug 7, 2025
another quick update:
b.hi, so the branch target in x8 fails PAC verification)bcb10afd38107245ef32ced5db9c4906244c618af2e55cce9a1d17bfbbec7dd9BUN_JSC_useJIT=0) changes the failure toSIGSEGVat address 0x88 on both chips.This points to a stale/corrupted pointer inside the static binary; PAC catches it on some cores but not others. Maybe rebuilding with a WebKit/Bun snapshot ≥ Safari 17.5 (includes PAC fixes like CVE-2024-27834) would eliminate the trap...?
another full crash log
disassembly
Disassembly of opencode (0.3.133) around crash point
SHA-256: bcb10afd38107245ef32ced5db9c4906244c618af2e55cce9a1d17bfbbec7dd9
The crash occurs at the b.hi (branch if higher) instruction at offset 0x100ca09e8.
The branch target is computed from register x8, which contains a corrupted pointer that fails PAC (Pointer Authentication Code) validation on M3 Pro but passes on M4 Max.
alessandrojcm commentedon Aug 22, 2025
Happening to me as well since updating to MacOS 15.6.1 last night, was working fine before the update. Tried installing via brew, npm, pnpm and nix. Interestingly enough, the crash only happens with existing projects (i.e running
opencodein another random folder does work normally). Tried deleting all the configuration folders and the cache too but no dice.rekram1-node commentedon Aug 22, 2025
hmm thanks for sharing
dkam commentedon Aug 31, 2025
I'm trying out opencode for the first time. I could use the /models command to select GLM 4.5 FP8, then add a chutes api key, but now it seems to crash with any attempt to use it - either in VSCode's terminal or in iTerm2. I get a "trace/BPT trap 5" message - and in the top right, I get a connection refused "http://localhost:50001/session" "unexpected EOF"
MacOSX 15.6.1, opencode 0.5.29
Actually, it works fine in my ~ directory - does not work inside a Ruby on Rails app directory. If I ask it about content in my Dev/rails_app directory, it crashes again.
I can also see an empty
~/.config/opencodedirectory. The .local/share/opencode directory has more in it.It's only some rails app apps it doesn't run in. Successfully runs in smaller app / ruby gems.
rekram1-node commentedon Aug 31, 2025
hmm, in your ruby on rails project can you try:
opencode run “read ” —print-logs
^ that is a double dash btw phone messes it up
instead of ruby file just replace that with some ruby file you have in your project
dkam commentedon Aug 31, 2025
It says that in both the rails app that works, and the one that doesn't.
But in the one that works, it works - the chutes api key seems to be working fine.
Edit - ok, I changed the quotes to normal, and used double dash ( sorry! ) There's quite a bit of output - here's the start and end:
Oh - is it trying to result an old copilot session? ( I've used both GitHub's copiot and I'm using Claude Code in this project )
rekram1-node commentedon Aug 31, 2025
we need to update our default model selection, can you try running with an additional flag?
--model chutes/
or equivalent based on your configuration
--model needs /
rekram1-node commentedon Aug 31, 2025
so that'd be like:
if it hangs just in ruby projects consider disabling the ruby lsp in your opencode.json for that project:
dkam commentedon Aug 31, 2025
$ opencode run "read config/application.rb" —print-logs --model chutes/zai-org/GLM-4.5-FP8 ^CIt hang immediately. The other directories I tried it read the file and generated output.
AvengerMoJo commentedon Sep 16, 2025
I'm ssh from MacOS to Linux and it is keep crash core dumped no matter what I do. Cleaning up all the configuration kind of work for a the first run.
opencode run “read ” --log-level DEBUG --print-logs 2> /tmp/error.log
ERROR 2025-09-16T03:30:18 +6713ms service=session.prompt session=ses_6af6d5cc5ffem43Q2d2WoPv9DG error=Failed after 3 attempts. Last error: Insufficient balance or no resource package. Please recharge. model=glm-4.5v failed to generate titleAnd I'm not using glm-4.5v but glm-4.5 ...
make the config specify to "model": "zhipuai/glm-4.5", just hang forever as well.
The background is running 100% /usr/bin/git --git-dir /home/alex/.local/share/opencode/snapshot/xxxxx add .
rekram1-node commentedon Sep 16, 2025
@AvengerMoJo this is interesting, for the snapshotting issue which project is that in, in regards to:
I suggest disabling the snapshot for that dir, if it global we can disable snapshots globally too ex:
In regards to the error with insufficient balance etc can you share your opencode.json?
AvengerMoJo commentedon Sep 16, 2025
The insufficient issue is from zai I think, some how it only allow me to use flash not air. I was using air.
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"zai": {
"api": "https://api.z.ai/api/coding/paas/v4"
}
},
"model": "zai/glm-4.5-flash",
"snapshot": false,
"disabled_providers": ["openai", "gemini", "anthropic"]
}
Interesting ...
Now it didn't hang at start but I still get an unexpected EOF pop up a local session link in the top right corner but not in the log after core dumped
Now that I think about it, the only different is my ssh connection and
headless copy and paste, maybe my issue is not related to this bug after all.
Now I get "http://127.0.0.1:38943/session/ses_xxxxxx/message": unexpected EOF
It does look like a different bug, sorry for the confusion.
Updated : @rekram1-node last session downloaded a 3.9G torch install whl in the directory and somehow it must be trying to read it and lead to unexpeted EOF error.
rekram1-node commentedon Sep 16, 2025
Wanna open a separate issue and we can discuss more there?
AvengerMoJo commentedon Sep 17, 2025
Thanks
rekram1-node commentedon Dec 28, 2025
[automated] Closing due to 90+ days of inactivity. Feel free to reopen if you still need this!