2026-01-16 11:37.00: New job: test ocurrent/bun https://github.com/ocurrent/bun.git#refs/heads/primary (edb099ddce28a538412a62564b419879c278c403) (linux-x86_64:debian-12-4.14_opam-2.5) Base: ocaml/opam:debian-12-ocaml-4.14@sha256:a53df5177072d740150fd7867bf57ab82a04bbcdb53a31eb989e5210feb6a8fe Opam project build To reproduce locally: git clone --recursive "https://github.com/ocurrent/bun.git" -b "primary" && cd "bun" && git reset --hard edb099dd cat > Dockerfile <<'END-OF-DOCKERFILE' FROM ocaml/opam:debian-12-ocaml-4.14@sha256:a53df5177072d740150fd7867bf57ab82a04bbcdb53a31eb989e5210feb6a8fe # debian-12-4.14_opam-2.5 USER 1000:1000 ENV CLICOLOR_FORCE="1" ENV OPAMCOLOR="always" WORKDIR /src RUN sudo ln -f /usr/bin/opam-2.5 /usr/bin/opam RUN opam init --reinit -ni RUN uname -rs && opam exec -- ocaml -version && opam --version WORKDIR /src RUN sudo chown opam /src RUN cd ~/opam-repository && (git cat-file -e 873cb18c37b308713d11ad3894c4bb78d73fb3e7 || git fetch origin master) && git reset -q --hard 873cb18c37b308713d11ad3894c4bb78d73fb3e7 && git log --no-decorate -n1 --oneline && opam update -u COPY --chown=1000:1000 bun.opam ./ RUN opam pin add -yn bun.dev './' RUN echo '(lang dune 3.0)' > './dune-project' ENV DEPS="afl.2.52b afl-persistent.1.4 astring.0.8.5 base-bigarray.base base-bytes.base base-threads.base base-unix.base bos.0.2.1 cmdliner.2.1.0 cppo.1.8.0 crowbar.0.2.2 csexp.1.5.2 dune.3.21.0 dune-configurator.3.21.0 fmt.0.11.0 fpath.0.7.3 logs.0.10.0 lwt.6.0.0 ocaml.4.14.2 ocaml-base-compiler.4.14.2 ocaml-config.2 ocaml-options-vanilla.1 ocamlbuild.0.16.1 ocamlfind.1.9.8 ocplib-endian.1.2 rresult.0.7.0 topkg.1.1.1" ENV CI="true" ENV OCAMLCI="true" RUN opam update --depexts && opam install --cli=2.5 --depext-only -y bun.dev $DEPS RUN opam install $DEPS COPY --chown=1000:1000 . /src RUN opam exec -- dune build @install @check @runtest && rm -rf _build END-OF-DOCKERFILE docker build . END-REPRO-BLOCK 2026-01-16 11:37.00: Using cache hint "ocurrent/bun-ocaml/opam:debian-12-ocaml-4.14@sha256:a53df5177072d740150fd7867bf57ab82a04bbcdb53a31eb989e5210feb6a8fe-debian-12-4.14_opam-2.5-ea96a1d6ff66001b24ea88807bbcc281" 2026-01-16 11:37.00: Using OBuilder spec: ((from ocaml/opam:debian-12-ocaml-4.14@sha256:a53df5177072d740150fd7867bf57ab82a04bbcdb53a31eb989e5210feb6a8fe) (comment debian-12-4.14_opam-2.5) (user (uid 1000) (gid 1000)) (env CLICOLOR_FORCE 1) (env OPAMCOLOR always) (workdir /src) (run (shell "sudo ln -f /usr/bin/opam-2.5 /usr/bin/opam")) (run (shell "opam init --reinit -ni")) (run (shell "uname -rs && opam exec -- ocaml -version && opam --version")) (workdir /src) (run (shell "sudo chown opam /src")) (run (cache (opam-archives (target /home/opam/.opam/download-cache))) (network host) (shell "cd ~/opam-repository && (git cat-file -e 873cb18c37b308713d11ad3894c4bb78d73fb3e7 || git fetch origin master) && git reset -q --hard 873cb18c37b308713d11ad3894c4bb78d73fb3e7 && git log --no-decorate -n1 --oneline && opam update -u")) (copy (src bun.opam) (dst ./)) (run (network host) (shell "opam pin add -yn bun.dev './'")) (run (network host) (shell "echo '(lang dune 3.0)' > './dune-project'")) (env DEPS "afl.2.52b afl-persistent.1.4 astring.0.8.5 base-bigarray.base base-bytes.base base-threads.base base-unix.base bos.0.2.1 cmdliner.2.1.0 cppo.1.8.0 crowbar.0.2.2 csexp.1.5.2 dune.3.21.0 dune-configurator.3.21.0 fmt.0.11.0 fpath.0.7.3 logs.0.10.0 lwt.6.0.0 ocaml.4.14.2 ocaml-base-compiler.4.14.2 ocaml-config.2 ocaml-options-vanilla.1 ocamlbuild.0.16.1 ocamlfind.1.9.8 ocplib-endian.1.2 rresult.0.7.0 topkg.1.1.1") (env CI true) (env OCAMLCI true) (run (cache (opam-archives (target /home/opam/.opam/download-cache))) (network host) (shell "opam update --depexts && opam install --cli=2.5 --depext-only -y bun.dev $DEPS")) (run (cache (opam-archives (target /home/opam/.opam/download-cache))) (network host) (shell "opam install $DEPS")) (copy (src .) (dst /src)) (run (shell "opam exec -- dune build @install @check @runtest && rm -rf _build")) ) 2026-01-16 11:37.00: Waiting for resource in pool OCluster 2026-01-16 12:24.21: Waiting for worker… 2026-01-16 12:28.14: Got resource from pool OCluster Building on clete All commits already cached HEAD is now at edb099d Merge pull request #32 from ocurrent/revert-31-patch-1 (from ocaml/opam:debian-12-ocaml-4.14@sha256:a53df5177072d740150fd7867bf57ab82a04bbcdb53a31eb989e5210feb6a8fe) Unable to find image 'ocaml/opam:debian-12-ocaml-4.14@sha256:a53df5177072d740150fd7867bf57ab82a04bbcdb53a31eb989e5210feb6a8fe' locally docker.io/ocaml/opam@sha256:a53df5177072d740150fd7867bf57ab82a04bbcdb53a31eb989e5210feb6a8fe: Pulling from ocaml/opam c8443a297fa4: Already exists 3117594fcbaa: Already exists 85ca0e82a234: Already exists 1c1f02d52226: Already exists fe9d3c2e10e2: Already exists 2217026faa73: Already exists 1fef585d5a09: Already exists 0d0070c18c6d: Already exists c51172af0160: Already exists df8875cc93ac: Already exists 67847aef0407: Already exists 36beb7078293: Already exists 191136a5f5c0: Already exists 714757d72e7f: Already exists 68234c5c011d: Already exists 8df6961c36fa: Already exists afa495f7821e: Already exists 5f9643dc0d5e: Already exists c5cd204c27b0: Already exists 7a188148750f: Already exists 0c4a275107e2: Already exists 3ce9f77add31: Already exists 4f4fb700ef54: Already exists 9b27f4cec1f5: Already exists f13f8b8a6ebe: Already exists 7347d8d6169e: Already exists d0faf52955c3: Already exists 02b89d433f3e: Already exists 1f88f6e46b0c: Already exists 345b324af9bd: Already exists a95711b9c003: Already exists f874b80e803a: Already exists 82c952ade8b1: Already exists 8c8b9ca5e561: Already exists b34ef319e463: Already exists 888dc0bf1f1f: Already exists 083ae27b8914: Already exists 529d05c22b93: Already exists 0b92011566a7: Already exists 3e1d10060b32: Already exists ee8d3043c790: Already exists e3a60f552012: Already exists 653f55382a5b: Already exists 8d14638d4c9a: Already exists ff60b4d2cd24: Already exists Digest: sha256:a53df5177072d740150fd7867bf57ab82a04bbcdb53a31eb989e5210feb6a8fe Status: Downloaded newer image for ocaml/opam@sha256:a53df5177072d740150fd7867bf57ab82a04bbcdb53a31eb989e5210feb6a8fe 2026-01-16 12:28.15 ---> using "ec68c8b6664fb3aba59d0ad783bcdc1eb1d65a5507850508cc1bdde5936f87fd" from cache /: (comment debian-12-4.14_opam-2.5) /: (user (uid 1000) (gid 1000)) /: (env CLICOLOR_FORCE 1) /: (env OPAMCOLOR always) /: (workdir /src) /src: (run (shell "sudo ln -f /usr/bin/opam-2.5 /usr/bin/opam")) 2026-01-16 12:28.15 ---> using "6904a47df833707962bb1f36157d861a2ead392496ef0d0eb6787eeedecbbedd" from cache /src: (run (shell "opam init --reinit -ni")) Configuring from /home/opam/.opamrc and then from built-in defaults. Checking for available remotes: rsync and local, git. - you won't be able to use mercurial repositories unless you install the hg command on your system. - you won't be able to use darcs repositories unless you install the darcs command on your system. This version of opam requires an update to the layout of /home/opam/.opam from version 2.0 to version 2.2, which can't be reverted. You may want to back it up before going further. Continue? [Y/n] y [NOTE] The 'jobs' option was reset, its value was 255 and its new value will vary according to the current number of cores on your machine. You can restore the fixed value using: opam option jobs=255 --global Format upgrade done. <><> Updating repositories ><><><><><><><><><><><><><><><><><><><><><><><><><><> [default] Initialised 2026-01-16 12:28.15 ---> using "c852358e5bf202a887a7bff52fbe86206e84fb8c9381d24636bfecbb2f5a38b8" from cache /src: (run (shell "uname -rs && opam exec -- ocaml -version && opam --version")) Linux 6.8.0-90-generic The OCaml toplevel, version 4.14.2 2.5.0 2026-01-16 12:28.15 ---> using "e3798ce077c0b3785b77b0e9576de88e82d7972ac1b256e30b4db0081d95f814" from cache /src: (workdir /src) /src: (run (shell "sudo chown opam /src")) 2026-01-16 12:28.15 ---> using "5aceebb8c1931d493d24a245f4c6006ab690dfb69f3082dd7fbf55b83092d8ff" from cache /src: (run (cache (opam-archives (target /home/opam/.opam/download-cache))) (network host) (shell "cd ~/opam-repository && (git cat-file -e 873cb18c37b308713d11ad3894c4bb78d73fb3e7 || git fetch origin master) && git reset -q --hard 873cb18c37b308713d11ad3894c4bb78d73fb3e7 && git log --no-decorate -n1 --oneline && opam update -u")) From https://github.com/ocaml/opam-repository * branch master -> FETCH_HEAD 235b964523..873cb18c37 master -> origin/master 873cb18c37 Merge pull request #29216 from shonfeder/release-dune-3.21.0 <><> Updating package repositories ><><><><><><><><><><><><><><><><><><><><><><> [default] synchronised from git+file:///home/opam/opam-repository Everything as up-to-date as possible (run with --verbose to show unavailable upgrades). However, you may "opam upgrade" these packages explicitly at these versions (e.g. "opam upgrade ocaml.5.4.0"), which will ask permission to downgrade or uninstall the conflicting packages. Nothing to do. # To update the current shell environment, run: eval $(opam env) 2026-01-16 12:28.15 ---> using "7e4d6a064071eea8b0eb60fb25b03dcf9803a57fab4899483e5e2630c2eaef33" from cache /src: (copy (src bun.opam) (dst ./)) 2026-01-16 12:28.15 ---> using "7109981607631149903c3dd04a9d643bae6faa9a4c920dd8ce1cca6520e41cf8" from cache /src: (run (network host) (shell "opam pin add -yn bun.dev './'")) [bun.dev] synchronised (file:///src) bun is now pinned to file:///src (version dev) 2026-01-16 12:28.15 ---> using "02d9107bb76528638eec1bb901d4095329b3619c4d2dfecc73882eec2d6feebe" from cache /src: (run (network host) (shell "echo '(lang dune 3.0)' > './dune-project'")) 2026-01-16 12:28.15 ---> using "cc26e72cb020c8fbd2bc968827ebcb6ab1f7e5cf4afc979c8dc7c5a3ae8365cc" from cache /src: (env DEPS "afl.2.52b afl-persistent.1.4 astring.0.8.5 base-bigarray.base base-bytes.base base-threads.base base-unix.base bos.0.2.1 cmdliner.2.1.0 cppo.1.8.0 crowbar.0.2.2 csexp.1.5.2 dune.3.21.0 dune-configurator.3.21.0 fmt.0.11.0 fpath.0.7.3 logs.0.10.0 lwt.6.0.0 ocaml.4.14.2 ocaml-base-compiler.4.14.2 ocaml-config.2 ocaml-options-vanilla.1 ocamlbuild.0.16.1 ocamlfind.1.9.8 ocplib-endian.1.2 rresult.0.7.0 topkg.1.1.1") /src: (env CI true) /src: (env OCAMLCI true) /src: (run (cache (opam-archives (target /home/opam/.opam/download-cache))) (network host) (shell "opam update --depexts && opam install --cli=2.5 --depext-only -y bun.dev $DEPS")) + /usr/bin/sudo "apt-get" "update" - Get:1 http://deb.debian.org/debian bookworm InRelease [151 kB] - Get:2 http://deb.debian.org/debian bookworm-updates InRelease [55.4 kB] - Get:3 http://deb.debian.org/debian-security bookworm-security InRelease [48.0 kB] - Get:4 http://deb.debian.org/debian bookworm/main amd64 Packages [8792 kB] - Get:5 http://deb.debian.org/debian-security bookworm-security/main amd64 Packages [291 kB] - Fetched 9337 kB in 3s (3623 kB/s) - Reading package lists... - <><> Synchronising pinned packages ><><><><><><><><><><><><><><><><><><><><><><> [bun.dev] synchronised (file:///src) [NOTE] Package ocaml-options-vanilla is already installed (current version is 1). [NOTE] Package ocaml-config is already installed (current version is 2). [NOTE] Package ocaml-base-compiler is already installed (current version is 4.14.2). [NOTE] Package ocaml is already installed (current version is 4.14.2). [NOTE] Package base-unix is already installed (current version is base). [NOTE] Package base-threads is already installed (current version is base). [NOTE] Package base-bigarray is already installed (current version is base). # To update the current shell environment, run: eval $(opam env) 2026-01-16 12:28.15 ---> using "d10079e0ffa93c9e0a957018c885fb3699c70cbe2b5dd14ca5abb135d8480324" from cache /src: (run (cache (opam-archives (target /home/opam/.opam/download-cache))) (network host) (shell "opam install $DEPS")) [NOTE] Package ocaml-options-vanilla is already installed (current version is 1). [NOTE] Package ocaml-config is already installed (current version is 2). [NOTE] Package ocaml-base-compiler is already installed (current version is 4.14.2). [NOTE] Package ocaml is already installed (current version is 4.14.2). [NOTE] Package base-unix is already installed (current version is base). [NOTE] Package base-threads is already installed (current version is base). [NOTE] Package base-bigarray is already installed (current version is base). The following actions will be performed: === install 20 packages - install afl 2.52b - install afl-persistent 1.4 - install astring 0.8.5 - install base-bytes base - install bos 0.2.1 - install cmdliner 2.1.0 - install cppo 1.8.0 - install crowbar 0.2.2 - install csexp 1.5.2 - install dune 3.21.0 - install dune-configurator 3.21.0 - install fmt 0.11.0 - install fpath 0.7.3 - install logs 0.10.0 - install lwt 6.0.0 - install ocamlbuild 0.16.1 - install ocamlfind 1.9.8 - install ocplib-endian 1.2 - install rresult 0.7.0 - install topkg 1.1.1 <><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><> -> retrieved afl.2.52b (cached) -> retrieved afl-persistent.1.4 (cached) -> retrieved astring.0.8.5 (cached) -> retrieved bos.0.2.1 (cached) -> retrieved crowbar.0.2.2 (cached) -> retrieved cppo.1.8.0 (cached) -> retrieved cmdliner.2.1.0 (cached) -> retrieved csexp.1.5.2 (cached) -> retrieved fmt.0.11.0 (cached) -> retrieved fpath.0.7.3 (cached) -> retrieved logs.0.10.0 (cached) -> retrieved lwt.6.0.0 (cached) -> retrieved ocamlbuild.0.16.1 (cached) -> retrieved ocamlfind.1.9.8 (cached) -> retrieved ocplib-endian.1.2 (cached) -> retrieved rresult.0.7.0 (cached) -> retrieved topkg.1.1.1 (cached) -> retrieved dune.3.21.0, dune-configurator.3.21.0 (cached) -> installed cmdliner.2.1.0 -> installed ocamlbuild.0.16.1 -> installed ocamlfind.1.9.8 -> installed base-bytes.base -> installed afl.2.52b -> installed topkg.1.1.1 -> installed rresult.0.7.0 -> installed fmt.0.11.0 -> installed astring.0.8.5 -> installed fpath.0.7.3 -> installed dune.3.21.0 -> installed afl-persistent.1.4 -> installed csexp.1.5.2 -> installed cppo.1.8.0 -> installed crowbar.0.2.2 -> installed ocplib-endian.1.2 -> installed dune-configurator.3.21.0 -> installed lwt.6.0.0 -> installed logs.0.10.0 -> installed bos.0.2.1 Done. <><> afl-persistent.1.4 installed successfully ><><><><><><><><><><><><><><><><> => afl-persistent is installed, but since the current OCaml compiler does not enable AFL instrumentation by default, most packages will not be instrumented and fuzzing with afl-fuzz may not be effective. To globally enable AFL instrumentation, create an OCaml switch like: opam switch create 4.14.2+afl ocaml-variants.4.14.2+options ocaml-option-afl # To update the current shell environment, run: eval $(opam env) 2026-01-16 12:29.54 ---> saved as "14c0256150133c206eccd940b03e5d1316a588af4e74354e33876a6f4851af09" /src: (copy (src .) (dst /src)) 2026-01-16 12:29.54 ---> saved as "5780f940f75c0001c0b3722bf70f2589265b7ff536685664f49d6d54741742d6" /src: (run (shell "opam exec -- dune build @install @check @runtest && rm -rf _build")) (cd _build/default/test && /usr/bin/bash -e -u -o pipefail -c '! timeout 30s ../src/bun.exe -vv --max-cores=2 ./short.exe') > _build/default/test/shorttest-output 12:29.56:[EXEC:55]['afl-gotcpu'] 12:29.56:[EXEC:56]['grep' 'more processes on '] 12:29.57:[DEBUG]cores line: 2 to 6 cores. <<< 12:29.57:[INFO]2 available cores detected! 12:29.57:[INFO]Executing /home/opam/.opam/4.14/bin/afl-fuzz -m 200 -i input -o output -M 1 -- ./short.exe @@ 12:29.57:[INFO]/home/opam/.opam/4.14/bin/afl-fuzz launched: PID 129 12:29.57:[INFO]Executing /home/opam/.opam/4.14/bin/afl-fuzz -m 200 -i input -o output -S 2 -- ./short.exe @@ 12:29.57:[INFO]/home/opam/.opam/4.14/bin/afl-fuzz launched: PID 130 12:29.58:[EXEC:138]['base64' '-w' '0' 'output/2/crashes/id:000000,sig:06,src:000000,op:havoc,rep:64'] 12:29.58:[INFO]Terminating fuzzer 1 (pid=129) 12:29.58:[INFO]Fuzzer 1 (pid=129) shut down, as requested bun: All fuzzers finished, but some crashes were found! (cd _build/default/test && /usr/bin/bash -e -u -o pipefail -c 'grep '\''Crashes found!'\'' shorttest-output || (cat shorttest-output; echo FAILED; exit 1)') Crashes found! Take a look; copy/paste to save for reproduction: 12:29.57:Fuzzers launched: [1 (pid=129); 2 (pid=130)]. afl-fuzz 2.52b by <lcamtuf@google.com> [+] Disabling the UI because AFL_NO_UI is set. [+] You have 72 CPU cores and 142 runnable tasks (utilization: 197%). [!] WARNING: System under apparent load, performance may be spotty. [!] WARNING: Not binding to a CPU core (AFL_NO_AFFINITY set). [*] Checking core_pattern... [*] Setting up output directories... [*] Scanning 'input'... [+] No auto-generated dictionary tokens to reuse. [*] Creating hard links for all input files... [*] Validating target binary... [+] Persistent mode binary detected. [*] Attempting dry run with 'id:000000,orig:bun_autogenerated_seed'... [*] Spinning up the fork server... [+] All right - fork server is up. len = 396, map size = 1, exec speed = 284 us [+] All test cases processed. [+] Here are some useful stats: Test case count : 1 favored, 0 variable, 1 total Bitmap range : 1 to 1 bits (average: 1.00 bits) Exec timing : 284 to 284 us (average: 284 us) [*] No -t option specified, so I'll use exec timeout of 20 ms. [+] All set and ready to roll! [*] Entering queue cycle 1. [*] Fuzzing test case #0 (1 total, 0 uniq crashes found)... afl-fuzz 2.52b by <lcamtuf@google.com> [+] Disabling the UI because AFL_NO_UI is set. [+] You have 72 CPU cores and 142 runnable tasks (utilization: 197%). [!] WARNING: System under apparent load, performance may be spotty. [!] WARNING: Not binding to a CPU core (AFL_NO_AFFINITY set). [*] Checking core_pattern... [*] Setting up output directories... [*] Scanning 'input'... [+] No auto-generated dictionary tokens to reuse. [*] Creating hard links for all input files... [*] Validating target binary... [+] Persistent mode binary detected. [*] Attempting dry run with 'id:000000,orig:bun_autogenerated_seed'... [*] Spinning up the fork server... [+] All right - fork server is up. len = 396, map size = 1, exec speed = 303 us [+] All test cases processed. [+] Here are some useful stats: Test case count : 1 favored, 0 variable, 1 total Bitmap range : 1 to 1 bits (average: 1.00 bits) Exec timing : 303 to 303 us (average: 303 us) [*] No -t option specified, so I'll use exec timeout of 20 ms. [+] All set and ready to roll! [*] Entering queue cycle 1. [*] Fuzzing test case #0 (1 total, 0 uniq crashes found)... [*] Entering queue cycle 2. [*] Fuzzing test case #0 (1 total, 1 uniq crashes found)... [*] Entering queue cycle 3. [*] Fuzzing test case #0 (1 total, 1 uniq crashes found)... +++ Testing aborted programmatically +++ [+] We're done here. Have a nice day! 12:29.58:Fuzzer 2 (pid=130) finished Crashes found! Take a look; copy/paste to save for reproduction: echo AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALkAAAAAAAAAAAAAAAAAAAAAAAAAAAA= | base64 -d > crash_0.$(date -u +%s) 2026-01-16 12:29.58 ---> saved as "c02d67c63c0394fba6a218a7f28cd1f2875245a8608710ba78dbf02a46189517" Job succeeded 2026-01-16 12:29.58: Job succeeded