2026-04-03 11:35.30: New job: test backtracking/bitv https://github.com/backtracking/bitv.git#refs/heads/persistent-bit-vectors (459b76d4286b3fd31297aa41766da2762554a426) (freebsd-x86_64:freebsd-14.3-4.14_opam-2.5) Base: freebsd-14.3-ocaml-4.14 Opam project build To reproduce locally: git clone --recursive "https://github.com/backtracking/bitv.git" -b "persistent-bit-vectors" && cd "bitv" && git reset --hard 459b76d4 cat > Dockerfile <<'END-OF-DOCKERFILE' FROM freebsd-14.3-ocaml-4.14 # freebsd-14.3-4.14_opam-2.5 USER 1000:1000 ENV CLICOLOR_FORCE="1" ENV OPAMCOLOR="always" WORKDIR /src RUN sudo ln -f /usr/local/bin/opam-2.5 /usr/local/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 d06cfb1853afceb1dc127f88edaac3f8110bf6cc || git fetch origin master) && git reset -q --hard d06cfb1853afceb1dc127f88edaac3f8110bf6cc && git log --no-decorate -n1 --oneline && opam update -u COPY --chown=1000:1000 bitv.opam ./ RUN opam pin add -yn bitv.dev './' RUN echo '(lang dune 3.0)' > './dune-project' ENV DEPS="base-bigarray.base base-threads.base base-unix.base dune.3.22.1 ocaml.4.14.2 ocaml-base-compiler.4.14.2 ocaml-config.2 ocaml-options-vanilla.1" ENV CI="true" ENV OCAMLCI="true" RUN opam update --depexts && opam install --cli=2.5 --depext-only -y bitv.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-04-03 11:35.30: Using cache hint "backtracking/bitv-freebsd-14.3-ocaml-4.14-freebsd-14.3-4.14_opam-2.5-fa30f036ab67ee4b487207bc0d6e12de" 2026-04-03 11:35.30: Using OBuilder spec: ((from freebsd-14.3-ocaml-4.14) (comment freebsd-14.3-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/local/bin/opam-2.5 /usr/local/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 d06cfb1853afceb1dc127f88edaac3f8110bf6cc || git fetch origin master) && git reset -q --hard d06cfb1853afceb1dc127f88edaac3f8110bf6cc && git log --no-decorate -n1 --oneline && opam update -u")) (copy (src bitv.opam) (dst ./)) (run (network host) (shell "opam pin add -yn bitv.dev './'")) (run (shell "echo '(lang dune 3.0)' > './dune-project'")) (env DEPS "base-bigarray.base base-threads.base base-unix.base dune.3.22.1 ocaml.4.14.2 ocaml-base-compiler.4.14.2 ocaml-config.2 ocaml-options-vanilla.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 bitv.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-04-03 11:35.30: Waiting for resource in pool OCluster 2026-04-03 11:35.30: Waiting for worker… 2026-04-03 11:41.01: Got resource from pool OCluster Building on rosemary All commits already cached HEAD is now at 459b76d sets over a given universe (from freebsd-14.3-ocaml-4.14) 2026-04-03 11:37.00 ---> using "7e5247e9853d1c2fb95ef9ffdfdb895ef70516f48155f08a9b10db936cb8c6c6" from cache /: (comment freebsd-14.3-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/local/bin/opam-2.5 /usr/local/bin/opam")) 2026-04-03 11:37.02 ---> using "cc65ce37998b2d98fc767b9dc7c3b5c83138e1952bec339ac27a7bb4d9d920d3" from cache /src: (run (shell "opam init --reinit -ni")) No configuration file found, using 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.1 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 1 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=1 --global Format upgrade done. <><> Updating repositories ><><><><><><><><><><><><><><><><><><><><><><><><><><> [default] no changes from git+file:///home/opam/opam-repository 2026-04-03 11:37.03 ---> using "87889fea7d09081125d96054d270a07df14f9b2a5c081c0c9434b9f215ecc218" from cache /src: (run (shell "uname -rs && opam exec -- ocaml -version && opam --version")) FreeBSD 14.3-RELEASE-p3 The OCaml toplevel, version 4.14.2 2.5.0 2026-04-03 11:37.04 ---> using "4a6e16f39bb2fab11842c96050ea21902749c68aefdffcd64774b8b7640a3492" from cache /src: (workdir /src) /src: (run (shell "sudo chown opam /src")) 2026-04-03 11:37.05 ---> using "ca1b89b4fcfce73b3b6ab80b797b154eda5f870ad814c498da3e18daf8f4b36f" from cache /src: (run (cache (opam-archives (target /home/opam/.opam/download-cache))) (network host) (shell "cd ~/opam-repository && (git cat-file -e d06cfb1853afceb1dc127f88edaac3f8110bf6cc || git fetch origin master) && git reset -q --hard d06cfb1853afceb1dc127f88edaac3f8110bf6cc && git log --no-decorate -n1 --oneline && opam update -u")) From https://github.com/ocaml/opam-repository * branch master -> FETCH_HEAD 71325ac6ed..d06cfb1853 master -> origin/master d06cfb1853 Merge pull request #29632 from shonfeder/release-dune-3.22.1 <><> Updating package repositories ><><><><><><><><><><><><><><><><><><><><><><> [default] synchronised from git+file:///home/opam/opam-repository Everything as up-to-date as possible The following packages are not being upgraded because the new versions conflict with other installed packages: - ocaml.5.5.0 - ocaml-config.3 However, you may "opam upgrade" these packages explicitly at these versions (e.g. "opam upgrade ocaml.5.5.0"), which will ask permission to downgrade or uninstall the conflicting packages. Nothing to do. 2026-04-03 11:37.07 ---> using "f22dce47c0a1066198731eefb235ab27b514e7b42aec30838253d64212ec7cd0" from cache /src: (copy (src bitv.opam) (dst ./)) 2026-04-03 11:37.11 ---> saved as "6d3627817df16fd8eec66b702934c1edda7e58f74c09c741c3d3b6c6b391c389" /src: (run (network host) (shell "opam pin add -yn bitv.dev './'")) [bitv.dev] synchronised (file:///src) bitv is now pinned to file:///src (version dev) 2026-04-03 11:37.16 ---> saved as "e15d6c407c5dbcb8f23b7e757d3885375991d8a412ba6e679ecb4df4ef1030f2" /src: (run (shell "echo '(lang dune 3.0)' > './dune-project'")) 2026-04-03 11:37.19 ---> saved as "694c0ab478a683404ab98999f5167f18b22f4f7e1b589a7d1161e4f68287fb8e" /src: (env DEPS "base-bigarray.base base-threads.base base-unix.base dune.3.22.1 ocaml.4.14.2 ocaml-base-compiler.4.14.2 ocaml-config.2 ocaml-options-vanilla.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 bitv.dev $DEPS")) [WARNING] Unknown update command for bsd, skipping system update <><> Synchronising pinned packages ><><><><><><><><><><><><><><><><><><><><><><> [bitv.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). 2026-04-03 11:37.30 ---> saved as "52d50133897b4ac50ef7275a119e31893f6118fba1f8cf7de0c349206b00a3b3" /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 1 package ∗ dune 3.22.1 <><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><> ⬇ retrieved dune.3.22.1 (cached) ∗ installed dune.3.22.1 Done. 2026-04-03 11:38.46 ---> saved as "3c1e4c9e62d48437b264110571c50bf71ef0a06b41e90e5d28594e52a6099085" /src: (copy (src .) (dst /src)) 2026-04-03 11:38.52 ---> saved as "6923bb0ac8798639661e779d53f89e720984d084e7b4acc23b312c5be1884731" /src: (run (shell "opam exec -- dune build @install @check @runtest && rm -rf _build")) (cd _build/default && /home/opam/.opam/4.14.2/bin/ocamlc.opt -w @1..3@5..28@30..39@43@46..47@49..57@61..62-40 -strict-sequence -strict-formats -short-paths -keep-locs -w -32 -g -bin-annot -I .test_pbv.eobjs/byte -I .bitv.objs/byte -no-alias-deps -opaque -o .test_pbv.eobjs/byte/dune__exe__Test_pbv.cmo -c -impl test_pbv.ml) File "test_pbv.ml", lines 149-152, characters 13-4: 149 | .............Make(struct 150 | include String 151 | let print = Format.pp_print_string 152 | end) Error: Modules do not match: sig type t = string val make : int -> char -> t val init : int -> (int -> char) -> t val empty : t val of_bytes : bytes -> t val to_bytes : t -> bytes external length : t -> int = "%string_length" external get : t -> int -> char = "%string_safe_get" val concat : t -> t list -> t val cat : t -> t -> t val equal : t -> t -> bool val compare : t -> t -> int val starts_with : prefix:t -> t -> bool val ends_with : suffix:t -> t -> bool val contains_from : t -> int -> char -> bool val rcontains_from : t -> int -> char -> bool val contains : t -> char -> bool val sub : t -> int -> int -> t val split_on_char : char -> t -> t list val map : (char -> char) -> t -> t val mapi : (int -> char -> char) -> t -> t val fold_left : ('a -> char -> 'a) -> 'a -> t -> 'a val fold_right : (char -> 'a -> 'a) -> t -> 'a -> 'a val for_all : (char -> bool) -> t -> bool val exists : (char -> bool) -> t -> bool val trim : t -> t val escaped : t -> t val uppercase_ascii : t -> t val lowercase_ascii : t -> t val capitalize_ascii : t -> t val uncapitalize_ascii : t -> t val iter : (char -> unit) -> t -> unit val iteri : (int -> char -> unit) -> t -> unit val index_from : t -> int -> char -> int val index_from_opt : t -> int -> char -> int option val rindex_from : t -> int -> char -> int val rindex_from_opt : t -> int -> char -> int option val index : t -> char -> int val index_opt : t -> char -> int option val rindex : t -> char -> int val rindex_opt : t -> char -> int option val to_seq : t -> char Seq.t val to_seqi : t -> (int * char) Seq.t val of_seq : char Seq.t -> t val get_utf_8_uchar : t -> int -> Uchar.utf_decode val is_valid_utf_8 : t -> bool val get_utf_16be_uchar : t -> int -> Uchar.utf_decode val is_valid_utf_16be : t -> bool val get_utf_16le_uchar : t -> int -> Uchar.utf_decode val is_valid_utf_16le : t -> bool external create : int -> bytes = "caml_create_string" external set : bytes -> int -> char -> unit = "%string_safe_set" val blit : t -> int -> bytes -> int -> int -> unit val copy : t -> t val fill : bytes -> int -> int -> char -> unit val uppercase : t -> t val lowercase : t -> t val capitalize : t -> t val uncapitalize : t -> t val get_uint8 : t -> int -> int val get_int8 : t -> int -> int val get_uint16_ne : t -> int -> int val get_uint16_be : t -> int -> int val get_uint16_le : t -> int -> int val get_int16_ne : t -> int -> int val get_int16_be : t -> int -> int val get_int16_le : t -> int -> int val get_int32_ne : t -> int -> int32 val get_int32_be : t -> int -> int32 val get_int32_le : t -> int -> int32 val get_int64_ne : t -> int -> int64 val get_int64_be : t -> int -> int64 val get_int64_le : t -> int -> int64 external unsafe_get : t -> int -> char = "%string_unsafe_get" external unsafe_set : bytes -> int -> char -> unit = "%string_unsafe_set" external unsafe_blit : t -> int -> bytes -> int -> int -> unit = "caml_blit_string" [@@noalloc] external unsafe_fill : bytes -> int -> int -> char -> unit = "caml_fill_string" [@@noalloc] val print : Format.formatter -> t -> unit end is not included in Bitv__Pbv.UNIVERSE The value `hash' is required but not provided File "pbv.mli", line 141, characters 2-20: Expected declaration jail: /usr/bin/su -l opam -c cd '/src' && env OCAMLCI='true' CI='true' DEPS='base-bigarray.base base-threads.base base-unix.base dune.3.22.1 ocaml.4.14.2 ocaml-base-compiler.4.14.2 ocaml-config.2 ocaml-options-vanilla.1' OPAMCOLOR='always' CLICOLOR_FORCE='1' '/usr/bin/env' 'bash' '-c' 'opam exec -- dune build @install @check @runtest && rm -rf _build': failed "jail" "-c" "name=obuilder_1974_124444" "mount.devfs" "path=/obuilder/result/0cde6326aa3fd9463e9faa1b12026b07d9702af8099fe549fab4d94355e71e6b/rootfs" "vnet" "exec.start=/sbin/ifconfig lo0 127.0.0.1/8" "command=/usr/bin/su" "-l" "opam" "-c" "cd '/src' && env OCAMLCI='true' CI='true' DEPS='base-bigarray.base base-threads.base base-unix.base dune.3.22.1 ocaml.4.14.2 ocaml-base-compiler.4.14.2 ocaml-config.2 ocaml-options-vanilla.1' OPAMCOLOR='always' CLICOLOR_FORCE='1' '/usr/bin/env' 'bash' '-c' 'opam exec -- dune build @install @check @runtest && rm -rf _build'" failed with exit status 1 2026-04-03 11:43.13: Job failed: Failed: Build failed