Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compilation.update reaches unreachable code #23281

Open
DonIsaac opened this issue Mar 17, 2025 · 0 comments
Open

Compilation.update reaches unreachable code #23281

DonIsaac opened this issue Mar 17, 2025 · 0 comments
Labels
bug Observed behavior contradicts documented or intended behavior

Comments

@DonIsaac
Copy link

Zig Version

0.14.0

Steps to Reproduce and Observed Behavior

Behavior

test
└─ install generated to bun-test.o
   └─ zig test bun-test Debug aarch64-macos.13.0-none failure
error: thread 45019889 panic: reached unreachable code
???:?:?: 0x109321043 in _Compilation.update (???)
???:?:?: 0x10935f94b in _main.serve (???)
???:?:?: 0x109379dcb in _main.buildOutputType (???)
???:?:?: 0x1092cd01f in _main (???)
???:?:?: 0x19e124273 in ??? (???)
???:?:?: 0x3460ffffffffffff in ??? (???)

error: the following command terminated unexpectedly:
/Users/donisaac/Documents/bun/bun2/vendor/zig/zig test -freference-trace=24 -fllvm -fno-lld -fno-strip -fno-omit-frame-pointer -ODebug -target aarch64-macos.13.0-none -mcpu apple_m1 --dep zlib-internal --dep async --dep ZigGeneratedClasses --dep ResolvedSourceTag --dep ErrorCode --dep runtime.out.js --dep bake-codegen/bake.client.js --dep bake-codegen/bake.error.js --dep bake-codegen/bake.server.js --dep bun-error/index.js --dep bun-error/bun-error.css --dep fallback-decoder.js --dep node-fallbacks/react-refresh.js --dep node-fallbacks/assert.js --dep node-fallbacks/buffer.js --dep node-fallbacks/console.js --dep node-fallbacks/constants.js --dep node-fallbacks/crypto.js --dep node-fallbacks/domain.js --dep node-fallbacks/events.js --dep node-fallbacks/http.js --dep node-fallbacks/https.js --dep node-fallbacks/net.js --dep node-fallbacks/os.js --dep node-fallbacks/path.js --dep node-fallbacks/process.js --dep node-fallbacks/punycode.js --dep node-fallbacks/querystring.js --dep node-fallbacks/stream.js --dep node-fallbacks/string_decoder.js --dep node-fallbacks/sys.js --dep node-fallbacks/timers.js --dep node-fallbacks/tty.js --dep node-fallbacks/url.js --dep node-fallbacks/util.js --dep node-fallbacks/zlib.js --dep completions-bash --dep completions-zsh --dep completions-fish --dep build_options --dep translated-c-headers -Mroot=/Users/donisaac/Documents/bun/bun2/src/unit_test.zig -Mzlib-internal=/Users/donisaac/Documents/bun/bun2/src/deps/zlib.posix.zig -Masync=/Users/donisaac/Documents/bun/bun2/src/async/posix_event_loop.zig -MZigGeneratedClasses=/Users/donisaac/Documents/bun/bun2/build/release-ci/codegen/ZigGeneratedClasses.zig -MResolvedSourceTag=/Users/donisaac/Documents/bun/bun2/build/release-ci/codegen/ResolvedSourceTag.zig -MErrorCode=/Users/donisaac/Documents/bun/bun2/build/release-ci/codegen/ErrorCode.zig -Mruntime.out.js=/Users/donisaac/Documents/bun/bun2/build/release-ci/codegen/runtime.out.js -Mbake-codegen/bake.client.js=/Users/donisaac/Documents/bun/bun2/build/release-ci/codegen/bake.client.js -Mbake-codegen/bake.error.js=/Users/donisaac/Documents/bun/bun2/build/release-ci/codegen/bake.error.js -Mbake-codegen/bake.server.js=/Users/donisaac/Documents/bun/bun2/build/release-ci/codegen/bake.server.js -Mbun-error/index.js=/Users/donisaac/Documents/bun/bun2/build/release-ci/codegen/bun-error/index.js -Mbun-error/bun-error.css=/Users/donisaac/Documents/bun/bun2/build/release-ci/codegen/bun-error/bun-error.css -Mfallback-decoder.js=/Users/donisaac/Documents/bun/bun2/build/release-ci/codegen/fallback-decoder.js -Mnode-fallbacks/react-refresh.js=/Users/donisaac/Documents/bun/bun2/build/release-ci/codegen/node-fallbacks/react-refresh.js -Mnode-fallbacks/assert.js=/Users/donisaac/Documents/bun/bun2/build/release-ci/codegen/node-fallbacks/assert.js -Mnode-fallbacks/buffer.js=/Users/donisaac/Documents/bun/bun2/build/release-ci/codegen/node-fallbacks/buffer.js -Mnode-fallbacks/console.js=/Users/donisaac/Documents/bun/bun2/build/release-ci/codegen/node-fallbacks/console.js -Mnode-fallbacks/constants.js=/Users/donisaac/Documents/bun/bun2/build/release-ci/codegen/node-fallbacks/constants.js -Mnode-fallbacks/crypto.js=/Users/donisaac/Documents/bun/bun2/build/release-ci/codegen/node-fallbacks/crypto.js -Mnode-fallbacks/domain.js=/Users/donisaac/Documents/bun/bun2/build/release-ci/codegen/node-fallbacks/domain.js -Mnode-fallbacks/events.js=/Users/donisaac/Documents/bun/bun2/build/release-ci/codegen/node-fallbacks/events.js -Mnode-fallbacks/http.js=/Users/donisaac/Documents/bun/bun2/build/release-ci/codegen/node-fallbacks/http.js -Mnode-fallbacks/https.js=/Users/donisaac/Documents/bun/bun2/build/release-ci/codegen/node-fallbacks/https.js -Mnode-fallbacks/net.js=/Users/donisaac/Documents/bun/bun2/build/release-ci/codegen/node-fallbacks/net.js -Mnode-fallbacks/os.js=/Users/donisaac/Documents/bun/bun2/build/release-ci/codegen/node-fallbacks/os.js -Mnode-fallbacks/path.js=/Users/donisaac/Documents/bun/bun2/build/release-ci/codegen/node-fallbacks/path.js -Mnode-fallbacks/process.js=/Users/donisaac/Documents/bun/bun2/build/release-ci/codegen/node-fallbacks/process.js -Mnode-fallbacks/punycode.js=/Users/donisaac/Documents/bun/bun2/build/release-ci/codegen/node-fallbacks/punycode.js -Mnode-fallbacks/querystring.js=/Users/donisaac/Documents/bun/bun2/build/release-ci/codegen/node-fallbacks/querystring.js -Mnode-fallbacks/stream.js=/Users/donisaac/Documents/bun/bun2/build/release-ci/codegen/node-fallbacks/stream.js -Mnode-fallbacks/string_decoder.js=/Users/donisaac/Documents/bun/bun2/build/release-ci/codegen/node-fallbacks/string_decoder.js -Mnode-fallbacks/sys.js=/Users/donisaac/Documents/bun/bun2/build/release-ci/codegen/node-fallbacks/sys.js -Mnode-fallbacks/timers.js=/Users/donisaac/Documents/bun/bun2/build/release-ci/codegen/node-fallbacks/timers.js -Mnode-fallbacks/tty.js=/Users/donisaac/Documents/bun/bun2/build/release-ci/codegen/node-fallbacks/tty.js -Mnode-fallbacks/url.js=/Users/donisaac/Documents/bun/bun2/build/release-ci/codegen/node-fallbacks/url.js -Mnode-fallbacks/util.js=/Users/donisaac/Documents/bun/bun2/build/release-ci/codegen/node-fallbacks/util.js -Mnode-fallbacks/zlib.js=/Users/donisaac/Documents/bun/bun2/build/release-ci/codegen/node-fallbacks/zlib.js -Mcompletions-bash=/Users/donisaac/Documents/bun/bun2/completions/bun.bash -Mcompletions-zsh=/Users/donisaac/Documents/bun/bun2/completions/bun.zsh -Mcompletions-fish=/Users/donisaac/Documents/bun/bun2/completions/bun.fish -Mbuild_options=/Users/donisaac/Documents/bun/bun2/build/release-ci/cache/zig/local/c/1300b61a4f700af0e47ea055f220241f/options.zig -ODebug -target aarch64-macos.13.0-none -mcpu apple_m1 -Mtranslated-c-headers=/Users/donisaac/Documents/bun/bun2/build/release-ci/cache/zig/local/o/2d86c93958694287aa09bee1a3024484/c-headers-for-zig.zig -lc++ -lc --test-runner /Users/donisaac/Documents/bun/bun2/src/main_test.zig -ffunction-sections -fdata-sections -fallow-shlib-undefined --cache-dir /Users/donisaac/Documents/bun/bun2/build/release-ci/cache/zig/local --global-cache-dir /Users/donisaac/Documents/bun/bun2/build/release-ci/cache/zig/global --name bun-test -fno-compiler-rt -fno-ubsan-rt --zig-lib-dir /Users/donisaac/Documents/bun/bun2/vendor/zig/lib/ --listen=- 

I was unfortunately unable to narrow this down to a more minimal repro, sorry about that.

Steps

  1. Clone the Bun repo and follow the setup guide in CONTRIBUTING.md
  2. Check out this branch
  3. (optionally) modify cmake/scripts/DownloadZig.cmake:31 to download a ReleaseSafe build. This is only available on macos aarch64. You could aldo stick your own debug build of the Zig compiler there.
set(ZIG_NAME bootstrap-${ZIG_ARCH}-${ZIG_OS_ABI}-ReleaseSafe)
  1. run bun build:ci:test

Additional Information

  • Changing the optimize mode has no effect. Happens when compiling for Debug, ReleaseFast, and ReleaseSafe
  • Building tests in other cmake profiles works fine. e.g. bun zig:test and bun zig:test:release

Expected Behavior

Code compiles without panicking.

@DonIsaac DonIsaac added the bug Observed behavior contradicts documented or intended behavior label Mar 17, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Observed behavior contradicts documented or intended behavior
Projects
None yet
Development

No branches or pull requests

1 participant