oven-sh / bun

Incredibly fast JavaScript runtime, bundler, test runner, and package manager – all in one
https://bun.sh
Other
73.6k stars 2.72k forks source link

Bunx segfaults since 1.1.0 #10018

Closed shyim closed 4 months ago

shyim commented 6 months ago

What version of Bun is running?

1.1.2

What platform is your computer?

Linux 5.15.146.1-microsoft-standard-WSL2 x86_64 unknown

What steps can reproduce the bug?

We compile bun like the instructions, see here the few lines: https://github.com/wolfi-dev/os/blob/a23c2001a7dfd1b3d1df06484b94ab9bc4f5888b/bun.yaml#L46-L64

and since 1.1.0 we get a segfault while running bun x prettier

What is the expected behavior?

bun x prettier

works like before

What do you see instead?

No response

Additional information

gdb with bun-debug

(gdb) bt
#0  0x00007f0ec75c588c in __pthread_kill_implementation () from /lib/libc.so.6
#1  0x00007f0ec7579772 in raise () from /lib/libc.so.6
#2  0x00005589fa0c6bbf in src.__global.raiseIgnoringPanicHandler__anon_110041 (sig=6 '\006') at /home/build/src/__global.zig:124
#3  0x00005589f9e4e971 in src.cli.run_command.RunCommand.runBinaryWithoutBunxPath (ctx=..., executable=..., executableZ=0x558a00eba728 <src.cli.bunx_command.BunxCommand.path_buf> "/tmp/bunx-0-prettier@latest/node_modules/.bin/prettier", cwd=..., env=0x20000010000, passthrough=..., original_script_for_bun_run=...)
    at /home/build/src/cli/run_command.zig:592
#4  0x00005589f9d8e8bf in src.cli.run_command.RunCommand.runBinary (ctx=<error reading variable: Cannot access memory at address 0x3a>, executable=..., executableZ=..., cwd=..., env=0x20000010000, passthrough=..., original_script_for_bun_run=...) at /home/build/src/cli/run_command.zig:476
#5  0x00005589f9d8b6d5 in src.cli.bunx_command.BunxCommand.exec (ctx_=..., argv=...) at /home/build/src/cli/bunx_command.zig:519
#6  0x00005589f9e68a42 in src.cli.Command.start (allocator=..., log=0x558a00eba6e8 <src.cli.Cli.log_>) at /home/build/src/cli.zig:1442
#7  0x00005589f99c3d33 in src.cli.Cli.start__anon_5137 (allocator=...) at /home/build/src/cli.zig:59
#8  0x00005589f99c0b12 in src.main.main () at /home/build/src/main.zig:55
#9  0x00005589f99c0645 in start.callMain () at /home/build/src/deps/zig/lib/std/start.zig:575
#10 start.initEventLoopAndCallMain () at /home/build/src/deps/zig/lib/std/start.zig:519
#11 start.callMainWithArgs () at /home/build/src/deps/zig/lib/std/start.zig:469
#12 main (c_argc=3, c_argv=0x7ffeb11e97e8, c_envp=0x7ffeb11e9808) at /home/build/src/deps/zig/lib/std/start.zig:484

using bun-debug

bun-debug x prettier
[bunx] initial_bin_name: prettier
[bunx] package_fmt: prettier@latest
[bunx] install_param: prettier@latest
[bunx] result_package_name: prettier
[bunx] bunx_cache_dir: /tmp/bunx-0-prettier@latest
[SYS] openat(3[/], node_modules/prettier/package.json) = 18446744073709551614
[SYS] openat(-100, /tmp/bunx-0-prettier@latest/package.json) = 18446744073709551614
[bunx] installing package: /usr/bin/bun-debug add prettier@latest --no-summary --no-cache --force
[SYS] posix_spawn_bun(/usr/bin/bun-debug) = 0 (13)
[SYS] read(3[/usr/bin/bun-debug], 4096) = 4096 (0.059ms)
[SYS] close(3[/usr/bin/bun-debug])
[SYS] openat(-100, /root/.bunfig.toml) = 18446744073709551614
[SYS] openat(-100, /tmp/bunx-0-prettier@latest/bunfig.toml) = 18446744073709551614
[SYS] openat(-100, /tmp/bunx-0-prettier@latest) = 8
[SYS] openat(-100, bun.lockb) = 18446744073709551614
[OverrideMap] parsed 0 overrides
[OverrideMap] looking up override for 8db92bb252305edc
  🔍 Resolving [1/1] [uws] connect(registry.npmjs.org, 443)
[fetch] onStart: 10.879ms
[fetch] Processed 1 tasks
[fetch] Connected https://registry.npmjs.org/prettier 
[uws] us_socket_write(src.deps.boringssl.translated.SSL@200020651c0, 223) = 0
[uws] us_socket_write(src.deps.boringssl.translated.SSL@200020651c0, 223) = 0
[fetch] onHandshake(0x000014F090004E20) authorized: true error: 
[uws] us_socket_write(src.deps.boringssl.translated.SSL@200020651c0, 223) = 223
[fetch] onData 459
[fetch] handleResponseMetadata: content_length is null and transfer_encoding src.http.Encoding.chunked
[fetch] onData 1369
[fetch] onData 5555
[fetch] onData 1369
[fetch] onData 3981
[fetch] onData 8214
[fetch] onData 4107
[fetch] onData 2089
[fetch] onData 6845
[fetch] onData 2738
[fetch] onData 6997
[fetch] onData 1369
[fetch] onData 6845
[fetch] onData 7464
[fetch] onData 4229
[fetch] onData 9399
[fetch] Decompressing 72512 bytes
[alloc] new() = src.brotli.BrotliReaderArrayList@200022926f0
[fetch] progressUpdate true
[fetch] releaseSocket(0x000014F090004E20)
[fetch] Keep-Alive release registry.npmjs.org:443 (0x23023440645664)
[alloc] destroy(src.brotli.BrotliReaderArrayList@200022926f0)
[fetch] onAsyncHTTPCallback: 73.388ms
[OverrideMap] looking up override for 8db92bb252305edc
[fetch] + Keep-Alive reuse registry.npmjs.org:443
[fetch] Connected https://registry.npmjs.org/prettier/-/prettier-3.2.5.tgz 
[uws] us_socket_write(src.deps.boringssl.translated.SSL@200020651c0, 175) = 175
[fetch] onStart: 91.748ms
[fetch] Processed 1 tasks
[fetch] onData 12687
[fetch] handleResponseMetadata: content_length is 2160605 and transfer_encoding src.http.Encoding.identity
[fetch] onData 8458
[fetch] onData 36907
[fetch] onData 15852
[fetch] onData 8458
[fetch] onData 12687
[fetch] onData 11623
[fetch] onData 16916
[fetch] onData 7394
[fetch] onData 16384
[fetch] onData 49152
[fetch] onData 49152
[fetch] onData 16384
[fetch] onData 32768
[fetch] onData 16384
[fetch] onData 16384
[fetch] onData 49152
[fetch] onData 49152
[fetch] onData 16384
[fetch] onData 49152
[fetch] onData 32768
[fetch] onData 16384
[fetch] onData 49152
[fetch] onData 49152
[fetch] onData 16384
[fetch] onData 32768
[fetch] onData 16384
[fetch] onData 32768
[fetch] onData 65536
[fetch] onData 49152
[fetch] onData 49152
[fetch] onData 16384
[fetch] onData 32768
[fetch] onData 16384
[fetch] onData 32768
[fetch] onData 32768
[fetch] onData 16384
[fetch] onData 49152
[fetch] onData 65536
[fetch] onData 49152
[fetch] onData 49152
[fetch] onData 65536
[fetch] onData 32768
[fetch] onData 16384
[fetch] onData 32768
[fetch] onData 16384
[fetch] onData 32768
[fetch] onData 16384
[fetch] onData 49152
[fetch] onData 16384
[fetch] onData 32768
[fetch] onData 16384
[fetch] onData 32768
[fetch] onData 49152
[fetch] onData 32768
[fetch] onData 32768
[fetch] onData 32768
[fetch] onData 49152
[fetch] onData 32768
[fetch] onData 32768
[fetch] onData 49152
[fetch] onData 32768
[fetch] onData 40686
[fetch] onData 32768
[fetch] onData 32768
[fetch] onData 49152
[fetch] onData 39689
[fetch] progressUpdate true
[fetch] releaseSocket(0x000014F090004E20)
[fetch] Keep-Alive release registry.npmjs.org:443 (0x23023440645664)
[fetch] onAsyncHTTPCallback: 58.438ms
[SYS] close(16[/tmp/.77fbffda936af833-00000001.prettier/LICENSE])
[SYS] close(16[/tmp/.77fbffda936af833-00000001.prettier/index.cjs])
[SYS] close(16[/tmp/.77fbffda936af833-00000001.prettier/bin/prettier.cjs])
[SYS] close(16[/tmp/.77fbffda936af833-00000001.prettier/plugins/acorn.js])
[SYS] close(16[/tmp/.77fbffda936af833-00000001.prettier/plugins/angular.js])
[SYS] close(16[/tmp/.77fbffda936af833-00000001.prettier/plugins/babel.js])
[SYS] close(16[/tmp/.77fbffda936af833-00000001.prettier/doc.js])
[SYS] close(16[/tmp/.77fbffda936af833-00000001.prettier/plugins/estree.js])
[SYS] close(16[/tmp/.77fbffda936af833-00000001.prettier/plugins/flow.js])
[SYS] close(16[/tmp/.77fbffda936af833-00000001.prettier/plugins/glimmer.js])
[SYS] close(16[/tmp/.77fbffda936af833-00000001.prettier/plugins/graphql.js])
[SYS] close(16[/tmp/.77fbffda936af833-00000001.prettier/plugins/html.js])
[SYS] close(16[/tmp/.77fbffda936af833-00000001.prettier/plugins/markdown.js])
[SYS] close(16[/tmp/.77fbffda936af833-00000001.prettier/plugins/meriyah.js])
[SYS] close(16[/tmp/.77fbffda936af833-00000001.prettier/plugins/postcss.js])
[SYS] close(16[/tmp/.77fbffda936af833-00000001.prettier/standalone.js])
[SYS] close(16[/tmp/.77fbffda936af833-00000001.prettier/plugins/typescript.js])
[SYS] close(16[/tmp/.77fbffda936af833-00000001.prettier/plugins/yaml.js])
[SYS] close(16[/tmp/.77fbffda936af833-00000001.prettier/package.json])
[SYS] close(16[/tmp/.77fbffda936af833-00000001.prettier/README.md])
[SYS] close(16[/tmp/.77fbffda936af833-00000001.prettier/plugins/acorn.mjs])
[SYS] close(16[/tmp/.77fbffda936af833-00000001.prettier/plugins/angular.mjs])
[SYS] close(16[/tmp/.77fbffda936af833-00000001.prettier/plugins/babel.mjs])
[SYS] close(16[/tmp/.77fbffda936af833-00000001.prettier/internal/cli.mjs])
[SYS] close(16[/tmp/.77fbffda936af833-00000001.prettier/doc.mjs])
[SYS] close(16[/tmp/.77fbffda936af833-00000001.prettier/plugins/estree.mjs])
[SYS] close(16[/tmp/.77fbffda936af833-00000001.prettier/plugins/flow.mjs])
[SYS] close(16[/tmp/.77fbffda936af833-00000001.prettier/plugins/glimmer.mjs])
[SYS] close(16[/tmp/.77fbffda936af833-00000001.prettier/plugins/graphql.mjs])
[SYS] close(16[/tmp/.77fbffda936af833-00000001.prettier/plugins/html.mjs])
[SYS] close(16[/tmp/.77fbffda936af833-00000001.prettier/index.mjs])
[SYS] close(16[/tmp/.77fbffda936af833-00000001.prettier/plugins/markdown.mjs])
[SYS] close(16[/tmp/.77fbffda936af833-00000001.prettier/plugins/meriyah.mjs])
[SYS] close(16[/tmp/.77fbffda936af833-00000001.prettier/plugins/postcss.mjs])
[SYS] close(16[/tmp/.77fbffda936af833-00000001.prettier/standalone.mjs])
[SYS] close(16[/tmp/.77fbffda936af833-00000001.prettier/plugins/typescript.mjs])
[SYS] close(16[/tmp/.77fbffda936af833-00000001.prettier/plugins/yaml.mjs])
[SYS] close(16[/tmp/.77fbffda936af833-00000001.prettier/plugins/acorn.d.ts])
[SYS] close(16[/tmp/.77fbffda936af833-00000001.prettier/plugins/angular.d.ts])
[SYS] close(16[/tmp/.77fbffda936af833-00000001.prettier/plugins/babel.d.ts])
[SYS] close(16[/tmp/.77fbffda936af833-00000001.prettier/doc.d.ts])
[SYS] close(16[/tmp/.77fbffda936af833-00000001.prettier/plugins/estree.d.ts])
[SYS] close(16[/tmp/.77fbffda936af833-00000001.prettier/plugins/flow.d.ts])
[SYS] close(16[/tmp/.77fbffda936af833-00000001.prettier/plugins/glimmer.d.ts])
[SYS] close(16[/tmp/.77fbffda936af833-00000001.prettier/plugins/graphql.d.ts])
[SYS] close(16[/tmp/.77fbffda936af833-00000001.prettier/plugins/html.d.ts])
[SYS] close(16[/tmp/.77fbffda936af833-00000001.prettier/index.d.ts])
[SYS] close(16[/tmp/.77fbffda936af833-00000001.prettier/plugins/markdown.d.ts])
[SYS] close(16[/tmp/.77fbffda936af833-00000001.prettier/plugins/meriyah.d.ts])
[SYS] close(16[/tmp/.77fbffda936af833-00000001.prettier/plugins/postcss.d.ts])
[SYS] close(16[/tmp/.77fbffda936af833-00000001.prettier/standalone.d.ts])
[SYS] close(16[/tmp/.77fbffda936af833-00000001.prettier/plugins/typescript.d.ts])
[SYS] close(16[/tmp/.77fbffda936af833-00000001.prettier/plugins/yaml.d.ts])
[SYS] renameat2(13[/tmp], .77fbffda936af833-00000001.prettier, 6[/root/.bun/install/cache], prettier@3.2.5) = 0
[SYS] openat(6[/root/.bun/install/cache], prettier@3.2.5) = 15
[SYS] openat(-100, node_modules) = 18446744073709551614
[SYS] openat(-100, node_modules) = 15
[SYS] openat(6[/root/.bun/install/cache], prettier@3.2.5) = 17
  🔒 Saving lockfile... [SYS] openat(-100, .lockb-16ddaf18844da507.tmp) = 17
[SYS] write(17[/tmp/bunx-0-prettier@latest/.lockb-16ddaf18844da507.tmp], 1240) = 1240 0.020ms
[SYS] renameat(-100, .lockb-16ddaf18844da507.tmp, -100, bun.lockb) = 0
[SYS] close(17[/tmp/bunx-0-prettier@latest/bun.lockb])
[SYS] close(6[anon_inode:[pidfd]])
[SYS] posix_spawn_bun(/tmp/bunx-0-prettier@latest/node_modules/.bin/prettier) = 0 (18)
[SYS] openat(-100, bunfig.toml) = 18446744073709551614
[SYS] close(4[/])
[SYS] close(5[/])
[SYS] close(6[anon_inode:[pidfd]])
Aborted
Electroid commented 6 months ago

Are you able to reproduce this with an official release of Bun?

nektro commented 4 months ago

As we were unable to reproduce this I'm going to close this for now. if this is still impacting you please let us know and I'd be happy to take a look.