2026-04-03 11:36.13: New job: test ocaml-multicore/domainslib https://github.com/ocaml-multicore/domainslib.git#refs/heads/heartbeat (4834996c3c3d6900d53909df53430889bc387ec4) (linux-x86_64:(lint-doc)) Base: ocaml/opam:debian-13-ocaml-5.0@sha256:e2260d92d8f11ec5b35586d61607fefc24875ef162111572fa2de6c7ff2e0810 Opam project lint documentation To reproduce locally: git clone --recursive "https://github.com/ocaml-multicore/domainslib.git" -b "heartbeat" && cd "domainslib" && git reset --hard 4834996c cat > Dockerfile <<'END-OF-DOCKERFILE' FROM ocaml/opam:debian-13-ocaml-5.0@sha256:e2260d92d8f11ec5b35586d61607fefc24875ef162111572fa2de6c7ff2e0810 # debian-13-5.0_opam-2.5 USER 1000:1000 ENV CLICOLOR_FORCE="1" ENV OPAMCOLOR="always" WORKDIR /src RUN sudo ln -f /usr/bin/opam-2.2 /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 d06cfb1853afceb1dc127f88edaac3f8110bf6cc || git fetch origin master) && git reset -q --hard d06cfb1853afceb1dc127f88edaac3f8110bf6cc && git log --no-decorate -n1 --oneline && opam update -u COPY --chown=1000:1000 domainslib.opam ./ RUN opam pin add -yn domainslib.dev './' RUN echo '(lang dune 3.0)' > './dune-project' ENV DEPS="backoff.0.1.1 base-bigarray.base base-domains.base base-nnp.base base-threads.base base-unix.base csexp.1.5.2 domain-local-await.1.0.1 domain-local-timeout.1.0.1 dune.3.22.1 dune-configurator.3.22.1 kcas.0.7.0 mirage-clock.4.2.0 mirage-clock-unix.4.2.0 mtime.2.1.0 multicore-magic.2.3.2 ocaml.5.0.0 ocaml-base-compiler.5.0.0 ocaml-config.3 ocaml-options-vanilla.1 ocamlbuild.0.16.1 ocamlfind.1.9.8 psq.0.2.1 qcheck-core.0.91 qcheck-multicoretests-util.0.10 qcheck-stm.0.10 saturn.0.5.0 saturn_lockfree.0.5.0 seq.base thread-table.1.0.0 topkg.1.1.1" ENV CI="true" ENV OCAMLCI="true" RUN opam update --depexts && opam install --cli=2.2 --depext-only -y domainslib.dev $DEPS RUN opam install $DEPS RUN opam install --yes dune 'odoc>=1.5.0' COPY --chown=1000:1000 . /src/ RUN ODOC_WARN_ERROR=false opam exec -- dune build @doc || (echo "dune build @doc failed"; exit 2) END-OF-DOCKERFILE docker build . END-REPRO-BLOCK 2026-04-03 11:36.13: Using cache hint "ocaml-multicore/domainslib-ocaml/opam:debian-13-ocaml-5.0@sha256:e2260d92d8f11ec5b35586d61607fefc24875ef162111572fa2de6c7ff2e0810-debian-13-5.0_opam-2.5-faaf967eff491b12cdc4405bf6a18941" 2026-04-03 11:36.13: Using OBuilder spec: ((from ocaml/opam:debian-13-ocaml-5.0@sha256:e2260d92d8f11ec5b35586d61607fefc24875ef162111572fa2de6c7ff2e0810) (comment debian-13-5.0_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.2 /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 d06cfb1853afceb1dc127f88edaac3f8110bf6cc || git fetch origin master) && git reset -q --hard d06cfb1853afceb1dc127f88edaac3f8110bf6cc && git log --no-decorate -n1 --oneline && opam update -u")) (copy (src domainslib.opam) (dst ./)) (run (network host) (shell "opam pin add -yn domainslib.dev './'")) (run (shell "echo '(lang dune 3.0)' > './dune-project'")) (env DEPS "backoff.0.1.1 base-bigarray.base base-domains.base base-nnp.base base-threads.base base-unix.base csexp.1.5.2 domain-local-await.1.0.1 domain-local-timeout.1.0.1 dune.3.22.1 dune-configurator.3.22.1 kcas.0.7.0 mirage-clock.4.2.0 mirage-clock-unix.4.2.0 mtime.2.1.0 multicore-magic.2.3.2 ocaml.5.0.0 ocaml-base-compiler.5.0.0 ocaml-config.3 ocaml-options-vanilla.1 ocamlbuild.0.16.1 ocamlfind.1.9.8 psq.0.2.1 qcheck-core.0.91 qcheck-multicoretests-util.0.10 qcheck-stm.0.10 saturn.0.5.0 saturn_lockfree.0.5.0 seq.base thread-table.1.0.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.2 --depext-only -y domainslib.dev $DEPS")) (run (cache (opam-archives (target /home/opam/.opam/download-cache))) (network host) (shell "opam install $DEPS")) (run (cache (opam-archives (target /home/opam/.opam/download-cache))) (network host) (shell "opam install --yes dune 'odoc>=1.5.0'")) (copy (src .) (dst /src/)) (run (shell "ODOC_WARN_ERROR=false opam exec -- dune build @doc || (echo \"dune build @doc failed\"; exit 2)")) ) 2026-04-03 11:36.13: Waiting for resource in pool OCluster 2026-04-03 14:00.45: Waiting for worker… 2026-04-03 14:11.04: Got resource from pool OCluster Building on toxis.caelum.ci.dev All commits already cached HEAD is now at 4834996 Added basic heartbeat implementation (from ocaml/opam:debian-13-ocaml-5.0@sha256:e2260d92d8f11ec5b35586d61607fefc24875ef162111572fa2de6c7ff2e0810) 2026-04-03 14:11.05 ---> using "1af97956665d2efc3902489efa6840429d2fffc402d2f09afa7ae10086cc57e5" from cache /: (comment debian-13-5.0_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.2 /usr/bin/opam")) 2026-04-03 14:11.05 ---> saved as "fffa85b6a8a0725b128381cdb5cd42bb4ab2b7ded1d9f884959e27e7a19a7ccc" /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 development 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 Format upgrade done. <><> Updating repositories ><><><><><><><><><><><><><><><><><><><><><><><><><><> [default] Initialised 2026-04-03 14:11.40 ---> saved as "190ae1a208c33d0ef1fdcc82fdd0305aa8dee8d7c9ac498c4b77d28a983ce473" /src: (run (shell "uname -rs && opam exec -- ocaml -version && opam --version")) Linux 5.15.0-173-generic The OCaml toplevel, version 5.0.0 2.2.1 2026-04-03 14:11.41 ---> saved as "3a3996d9771cccd6b412ed9f00f8f213d0ca373e700f30560b44a5f1df417699" /src: (workdir /src) /src: (run (shell "sudo chown opam /src")) 2026-04-03 14:11.41 ---> saved as "3e1fcac470e6d6083e0bda58d5cbe414fa61f9577da59577d1e9450041d266e2" /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 ffb54b9bdd..2a4b439041 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 (run with --verbose to show unavailable upgrades). However, you may "opam upgrade" these packages explicitly, which will ask permission to downgrade or uninstall the conflicting packages. Nothing to do. # Run eval $(opam env) to update the current shell environment 2026-04-03 14:12.22 ---> saved as "10ca56223f949a7d0582c7ca73872d4dc11904db2387ac1ed897af024dfb1d56" /src: (copy (src domainslib.opam) (dst ./)) 2026-04-03 14:12.23 ---> saved as "8efe3edd25cd0516c233e78ce17640b4720e7a44f3d230141a0b72fc66ff3f43" /src: (run (network host) (shell "opam pin add -yn domainslib.dev './'")) [domainslib.dev] synchronised (file:///src) domainslib is now pinned to file:///src (version dev) 2026-04-03 14:12.25 ---> saved as "c205070f684affc6252c9925286fe3188ac0f99c59adca4f4fd57593107735ab" /src: (run (shell "echo '(lang dune 3.0)' > './dune-project'")) 2026-04-03 14:12.26 ---> saved as "26c2ddbed96ce5f0ac795a268b493797552a3b3651f3df07cda6fdca52db026a" /src: (env DEPS "backoff.0.1.1 base-bigarray.base base-domains.base base-nnp.base base-threads.base base-unix.base csexp.1.5.2 domain-local-await.1.0.1 domain-local-timeout.1.0.1 dune.3.22.1 dune-configurator.3.22.1 kcas.0.7.0 mirage-clock.4.2.0 mirage-clock-unix.4.2.0 mtime.2.1.0 multicore-magic.2.3.2 ocaml.5.0.0 ocaml-base-compiler.5.0.0 ocaml-config.3 ocaml-options-vanilla.1 ocamlbuild.0.16.1 ocamlfind.1.9.8 psq.0.2.1 qcheck-core.0.91 qcheck-multicoretests-util.0.10 qcheck-stm.0.10 saturn.0.5.0 saturn_lockfree.0.5.0 seq.base thread-table.1.0.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.2 --depext-only -y domainslib.dev $DEPS")) + /usr/bin/sudo "apt-get" "update" - Get:1 http://deb.debian.org/debian trixie InRelease [140 kB] - Get:2 http://deb.debian.org/debian trixie-updates InRelease [47.3 kB] - Get:3 http://deb.debian.org/debian-security trixie-security InRelease [43.4 kB] - Get:4 http://deb.debian.org/debian trixie/main amd64 Packages [9671 kB] - Get:5 http://deb.debian.org/debian-security trixie-security/main amd64 Packages [119 kB] - Fetched 10.0 MB in 31s (327 kB/s) - Reading package lists... - <><> Synchronising pinned packages ><><><><><><><><><><><><><><><><><><><><><><> [domainslib.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 3). [NOTE] Package ocaml-base-compiler is already installed (current version is 5.0.0). [NOTE] Package ocaml is already installed (current version is 5.0.0). [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-nnp is already installed (current version is base). [NOTE] Package base-domains is already installed (current version is base). [NOTE] Package base-bigarray is already installed (current version is base). 2026-04-03 14:13.18 ---> saved as "71f79e839f157d82ed13b8c0bd1b86fdf461dab0c3ce9ba93160d6d59fba3861" /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 3). [NOTE] Package ocaml-base-compiler is already installed (current version is 5.0.0). [NOTE] Package ocaml is already installed (current version is 5.0.0). [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-nnp is already installed (current version is base). [NOTE] Package base-domains 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 22 packages - install backoff 0.1.1 - install csexp 1.5.2 - install domain-local-await 1.0.1 - install domain-local-timeout 1.0.1 - install dune 3.22.1 - install dune-configurator 3.22.1 - install kcas 0.7.0 - install mirage-clock 4.2.0 - install mirage-clock-unix 4.2.0 - install mtime 2.1.0 - install multicore-magic 2.3.2 - install ocamlbuild 0.16.1 - install ocamlfind 1.9.8 - install psq 0.2.1 - install qcheck-core 0.91 - install qcheck-multicoretests-util 0.10 - install qcheck-stm 0.10 - install saturn 0.5.0 - install saturn_lockfree 0.5.0 - install seq base - install thread-table 1.0.0 - install topkg 1.1.1 <><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><> -> retrieved backoff.0.1.1 (cached) -> retrieved csexp.1.5.2 (cached) -> retrieved domain-local-await.1.0.1 (cached) -> retrieved domain-local-timeout.1.0.1 (cached) -> retrieved kcas.0.7.0 (cached) -> retrieved mirage-clock.4.2.0, mirage-clock-unix.4.2.0 (cached) -> retrieved mtime.2.1.0 (cached) -> retrieved multicore-magic.2.3.2 (cached) -> retrieved ocamlbuild.0.16.1 (cached) -> retrieved ocamlfind.1.9.8 (cached) -> retrieved psq.0.2.1 (cached) -> retrieved qcheck-core.0.91 (cached) -> retrieved qcheck-multicoretests-util.0.10, qcheck-stm.0.10 (cached) -> retrieved seq.base (cached) -> installed seq.base -> retrieved saturn.0.5.0, saturn_lockfree.0.5.0 (cached) -> retrieved thread-table.1.0.0 (cached) -> retrieved topkg.1.1.1 (cached) -> retrieved dune.3.22.1, dune-configurator.3.22.1 (cached) -> installed ocamlbuild.0.16.1 -> installed ocamlfind.1.9.8 -> installed topkg.1.1.1 -> installed mtime.2.1.0 -> installed dune.3.22.1 -> installed mirage-clock.4.2.0 -> installed backoff.0.1.1 -> installed csexp.1.5.2 -> installed multicore-magic.2.3.2 -> installed psq.0.2.1 -> installed thread-table.1.0.0 -> installed domain-local-timeout.1.0.1 -> installed domain-local-await.1.0.1 -> installed saturn_lockfree.0.5.0 -> installed qcheck-core.0.91 -> installed kcas.0.7.0 -> installed saturn.0.5.0 -> installed qcheck-multicoretests-util.0.10 -> installed dune-configurator.3.22.1 -> installed qcheck-stm.0.10 -> installed mirage-clock-unix.4.2.0 Done. # Run eval $(opam env) to update the current shell environment 2026-04-03 14:14.31 ---> saved as "7568891cad680bc15d71d998feb320e7628db0350023efc96abef304993e8325" /src: (run (cache (opam-archives (target /home/opam/.opam/download-cache))) (network host) (shell "opam install --yes dune 'odoc>=1.5.0'")) [NOTE] Package dune is already installed (current version is 3.22.1). The following actions will be performed: === install 13 packages - install astring 0.8.5 [required by odoc] - install camlp-streams 5.0.1 [required by odoc-parser] - install cmdliner 2.1.0 [required by odoc] - install cppo 1.8.0 [required by odoc] - install crunch 4.0.0 [required by odoc] - install fmt 0.11.0 [required by odoc] - install fpath 0.7.3 [required by odoc] - install odoc 3.1.0 - install odoc-parser 3.1.0 [required by odoc] - install ptime 1.2.0 [required by crunch] - install re 1.14.0 [required by tyxml] - install tyxml 4.6.0 [required by odoc] - install uutf 1.0.4 [required by tyxml] <><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><> -> retrieved camlp-streams.5.0.1 (cached) -> retrieved astring.0.8.5 (cached) -> retrieved cmdliner.2.1.0 (cached) -> retrieved cppo.1.8.0 (cached) -> retrieved crunch.4.0.0 (cached) -> retrieved fmt.0.11.0 (cached) -> retrieved fpath.0.7.3 (cached) -> retrieved ptime.1.2.0 (cached) -> retrieved re.1.14.0 (cached) -> retrieved tyxml.4.6.0 (cached) -> retrieved uutf.1.0.4 (cached) -> installed camlp-streams.5.0.1 -> retrieved odoc.3.1.0, odoc-parser.3.1.0 (cached) -> installed cppo.1.8.0 -> installed ptime.1.2.0 -> installed astring.0.8.5 -> installed re.1.14.0 -> installed fpath.0.7.3 -> installed odoc-parser.3.1.0 -> installed cmdliner.2.1.0 -> installed crunch.4.0.0 -> installed uutf.1.0.4 -> installed fmt.0.11.0 -> installed tyxml.4.6.0 -> installed odoc.3.1.0 Done. # Run eval $(opam env) to update the current shell environment 2026-04-03 14:15.21 ---> saved as "75788dd3f16cb3696963432817de1bff6819d392dfa8b0e8a4e3b31f5f9de6c6" /src: (copy (src .) (dst /src/)) 2026-04-03 14:15.21 ---> saved as "2a18babd1527d968776259576a92bc179c33c8945cba701aa4821ac84f226d6c" /src: (run (shell "ODOC_WARN_ERROR=false opam exec -- dune build @doc || (echo \"dune build @doc failed\"; exit 2)")) (cd _build/default && /home/opam/.opam/5.0/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 -g -bin-annot -I lib/.domainslib.objs/byte -I /home/opam/.opam/5.0/lib/backoff -I /home/opam/.opam/5.0/lib/domain-local-await -I /home/opam/.opam/5.0/lib/multicore-magic -I /home/opam/.opam/5.0/lib/ocaml/unix -I /home/opam/.opam/5.0/lib/saturn -I /home/opam/.opam/5.0/lib/saturn_lockfree -I /home/opam/.opam/5.0/lib/thread-table -no-alias-deps -opaque -open Domainslib__ -o lib/.domainslib.objs/byte/domainslib__Multi_channel.cmo -c -impl lib/multi_channel.ml) File "lib/multi_channel.ml", line 38, characters 15-25: 38 | channels: 'a Ws_deque.t array; ^^^^^^^^^^ Error: Unbound type constructor Ws_deque.t dune build @doc failed "/usr/bin/env" "bash" "-c" "ODOC_WARN_ERROR=false opam exec -- dune build @doc || (echo "dune build @doc failed"; exit 2)" failed with exit status 2 2026-04-03 14:15.22: Job failed: Failed: Build failed