2026-01-16 11:41.35: New job: test mirage/arp https://github.com/mirage/arp.git#refs/pull/33/head (21c6f077b7ce8450e7ebf8dc624ab6d01a3b266f) (macos-x86_64:macos-homebrew-4.14_opam-2.5) Base: macos-homebrew-ocaml-4.14 Opam project build To reproduce locally: git clone --recursive "https://github.com/mirage/arp.git" && cd "arp" && git fetch origin "refs/pull/33/head" && git reset --hard 21c6f077 cat > Dockerfile <<'END-OF-DOCKERFILE' FROM macos-homebrew-ocaml-4.14 # macos-homebrew-4.14_opam-2.5 USER 1000:1000 ENV CLICOLOR_FORCE="1" ENV OPAMCOLOR="always" RUN ln -f ~/local/bin/opam-2.5 ~/local/bin/opam RUN opam init --reinit -ni RUN uname -rs && opam exec -- ocaml -version && opam --version 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 arp.opam ./src/./ RUN opam pin add -yn arp.dev './src/./' RUN echo '(lang dune 3.0)' > './src/./dune-project' ENV DEPS="alcotest.1.9.1 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 csexp.1.5.2 cstruct.6.2.0 domain-name.0.5.0 dune.3.21.0 dune-configurator.3.21.0 duration.0.2.1 ethernet.3.2.0 fmt.0.11.0 fpath.0.7.3 ipaddr.5.6.1 logs.0.10.0 lru.0.3.1 lwt.6.0.0 macaddr.5.6.1 mirage-net.4.0.0 mirage-sleep.4.1.0 mirage-vnetif.0.6.2 ocaml.4.14.2 ocaml-base-compiler.4.14.2 ocaml-config.2 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocamlbuild.0.16.1 ocamlfind.1.9.8 ocplib-endian.1.2 psq.0.2.1 re.1.14.0 rresult.0.7.0 seq.base stdlib-shims.0.3.0 topkg.1.1.1 uutf.1.0.4" ENV CI="true" ENV OCAMLCI="true" RUN opam update --depexts && opam install --cli=2.5 --depext-only -y arp.dev $DEPS RUN opam install $DEPS COPY --chown=1000:1000 . ./src RUN cd ./src && opam exec -- dune build @install @check @runtest && rm -rf _build END-OF-DOCKERFILE docker build . END-REPRO-BLOCK 2026-01-16 11:41.35: Using cache hint "mirage/arp-macos-homebrew-ocaml-4.14-macos-homebrew-4.14_opam-2.5-2ae2dc702385c83739adcdc25ca78cd3" 2026-01-16 11:41.35: Using OBuilder spec: ((from macos-homebrew-ocaml-4.14) (comment macos-homebrew-4.14_opam-2.5) (user (uid 1000) (gid 1000)) (env CLICOLOR_FORCE 1) (env OPAMCOLOR always) (run (shell "ln -f ~/local/bin/opam-2.5 ~/local/bin/opam")) (run (shell "opam init --reinit -ni")) (run (shell "uname -rs && opam exec -- ocaml -version && opam --version")) (run (cache (opam-archives (target /Users/mac1000/.opam/download-cache)) (homebrew (target /Users/mac1000/Library/Caches/Homebrew))) (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 arp.opam) (dst ./src/./)) (run (network host) (shell "opam pin add -yn arp.dev './src/./'")) (run (network host) (shell "echo '(lang dune 3.0)' > './src/./dune-project'")) (env DEPS "alcotest.1.9.1 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 csexp.1.5.2 cstruct.6.2.0 domain-name.0.5.0 dune.3.21.0 dune-configurator.3.21.0 duration.0.2.1 ethernet.3.2.0 fmt.0.11.0 fpath.0.7.3 ipaddr.5.6.1 logs.0.10.0 lru.0.3.1 lwt.6.0.0 macaddr.5.6.1 mirage-net.4.0.0 mirage-sleep.4.1.0 mirage-vnetif.0.6.2 ocaml.4.14.2 ocaml-base-compiler.4.14.2 ocaml-config.2 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocamlbuild.0.16.1 ocamlfind.1.9.8 ocplib-endian.1.2 psq.0.2.1 re.1.14.0 rresult.0.7.0 seq.base stdlib-shims.0.3.0 topkg.1.1.1 uutf.1.0.4") (env CI true) (env OCAMLCI true) (run (cache (opam-archives (target /Users/mac1000/.opam/download-cache)) (homebrew (target /Users/mac1000/Library/Caches/Homebrew))) (network host) (shell "opam update --depexts && opam install --cli=2.5 --depext-only -y arp.dev $DEPS")) (run (cache (opam-archives (target /Users/mac1000/.opam/download-cache)) (homebrew (target /Users/mac1000/Library/Caches/Homebrew))) (network host) (shell "opam install $DEPS")) (copy (src .) (dst ./src)) (run (shell "cd ./src && opam exec -- dune build @install @check @runtest && rm -rf _build")) ) 2026-01-16 11:41.35: Waiting for resource in pool OCluster 2026-01-17 02:34.48: Waiting for worker… 2026-01-17 05:02.17: Got resource from pool OCluster Building on i7-worker-02 All commits already cached HEAD is now at 21c6f07 improve ARP cache logic (from macos-homebrew-ocaml-4.14) 2026-01-17 05:02.18 ---> using "0c60f117aee57abea8364cb033d47bb1d63ff0f68e5ee97378e032498e8442af" from cache /: (comment macos-homebrew-4.14_opam-2.5) /: (user (uid 1000) (gid 1000)) /: (env CLICOLOR_FORCE 1) /: (env OPAMCOLOR always) /: (run (shell "ln -f ~/local/bin/opam-2.5 ~/local/bin/opam")) 2026-01-17 05:02.19 ---> using "75b1629629d7f21c50a7e1e39b2ef83e2edb8ace81aab34254c0c8782b814749" from cache /: (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 /Users/mac1000/.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:///Users/mac1000/opam-repository 2026-01-17 05:02.19 ---> using "a61e945ab7671a6fff400f946e3fe88df4d67a783ea1f56fa59dc21595ef1b19" from cache /: (run (shell "uname -rs && opam exec -- ocaml -version && opam --version")) Darwin 24.5.0 The OCaml toplevel, version 4.14.2 2.5.0 2026-01-17 05:02.19 ---> using "11a9923a4c4f0ab256d15330129e4c4938459d2e6239eb4f7bdf0f2620300e09" from cache /: (run (cache (opam-archives (target /Users/mac1000/.opam/download-cache)) (homebrew (target /Users/mac1000/Library/Caches/Homebrew))) (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 4c9d80b731..873cb18c37 master -> origin/master 873cb18c37 Merge pull request #29216 from shonfeder/release-dune-3.21.0 <><> Updating package repositories ><><><><><><><><><><><><><><><><><><><><><><> [default] synchronised from git+file:///Users/mac1000/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.4.0 - ocaml-config.3 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-17 05:02.20 ---> using "9b174de0df1fe4f719027b2d8af70cb0e7a030ac562162893d628018ce2218f6" from cache /: (copy (src arp.opam) (dst ./src/./)) 2026-01-17 05:02.20 ---> using "1169e46ccaa91352985454d52ed2f6779b97a2b044c3b2c8cdbda1b680b6e2c9" from cache /: (run (network host) (shell "opam pin add -yn arp.dev './src/./'")) [arp.dev] synchronised (file:///Users/mac1000/src) arp is now pinned to file:///Users/mac1000/src (version dev) 2026-01-17 05:02.21 ---> using "787543e71ce981c2e728dabbcb39393bdd51fe242a4f134ea104b8fc55ddb2da" from cache /: (run (network host) (shell "echo '(lang dune 3.0)' > './src/./dune-project'")) 2026-01-17 05:02.21 ---> using "25989451cc3ad2df72ea2e941fbb3179a53b63c986ae0978797f0114e5ff44f3" from cache /: (env DEPS "alcotest.1.9.1 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 csexp.1.5.2 cstruct.6.2.0 domain-name.0.5.0 dune.3.21.0 dune-configurator.3.21.0 duration.0.2.1 ethernet.3.2.0 fmt.0.11.0 fpath.0.7.3 ipaddr.5.6.1 logs.0.10.0 lru.0.3.1 lwt.6.0.0 macaddr.5.6.1 mirage-net.4.0.0 mirage-sleep.4.1.0 mirage-vnetif.0.6.2 ocaml.4.14.2 ocaml-base-compiler.4.14.2 ocaml-config.2 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocamlbuild.0.16.1 ocamlfind.1.9.8 ocplib-endian.1.2 psq.0.2.1 re.1.14.0 rresult.0.7.0 seq.base stdlib-shims.0.3.0 topkg.1.1.1 uutf.1.0.4") /: (env CI true) /: (env OCAMLCI true) /: (run (cache (opam-archives (target /Users/mac1000/.opam/download-cache)) (homebrew (target /Users/mac1000/Library/Caches/Homebrew))) (network host) (shell "opam update --depexts && opam install --cli=2.5 --depext-only -y arp.dev $DEPS")) + /usr/local/bin/brew "update" - ==> Updating Homebrew... - Already up-to-date. <><> Synchronising pinned packages ><><><><><><><><><><><><><><><><><><><><><><> [arp.dev] synchronised (file:///Users/mac1000/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-17 05:02.22 ---> using "ee197716150eef401fbd4ae6633270d59a82d6cc0039667bf064516e4ffa6d31" from cache /: (run (cache (opam-archives (target /Users/mac1000/.opam/download-cache)) (homebrew (target /Users/mac1000/Library/Caches/Homebrew))) (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 34 packages - install alcotest 1.9.1 - 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 csexp 1.5.2 - install cstruct 6.2.0 - install domain-name 0.5.0 - install dune 3.21.0 - install dune-configurator 3.21.0 - install duration 0.2.1 - install ethernet 3.2.0 - install fmt 0.11.0 - install fpath 0.7.3 - install ipaddr 5.6.1 - install logs 0.10.0 - install lru 0.3.1 - install lwt 6.0.0 - install macaddr 5.6.1 - install mirage-net 4.0.0 - install mirage-sleep 4.1.0 - install mirage-vnetif 0.6.2 - install ocaml-syntax-shims 1.0.0 - install ocamlbuild 0.16.1 - install ocamlfind 1.9.8 - install ocplib-endian 1.2 - install psq 0.2.1 - install re 1.14.0 - install rresult 0.7.0 - install seq base - install stdlib-shims 0.3.0 - install topkg 1.1.1 - install uutf 1.0.4 <><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><> -> retrieved bos.0.2.1 (cached) -> retrieved astring.0.8.5 (cached) -> retrieved alcotest.1.9.1 (cached) -> retrieved cppo.1.8.0 (cached) -> retrieved csexp.1.5.2 (cached) -> retrieved cmdliner.2.1.0 (cached) -> retrieved domain-name.0.5.0 (cached) -> retrieved cstruct.6.2.0 (cached) -> retrieved duration.0.2.1 (cached) -> retrieved ethernet.3.2.0 (cached) -> retrieved fmt.0.11.0 (cached) -> retrieved fpath.0.7.3 (cached) -> retrieved ipaddr.5.6.1, macaddr.5.6.1 (cached) -> retrieved logs.0.10.0 (cached) -> retrieved lru.0.3.1 (cached) -> retrieved mirage-net.4.0.0 (cached) -> retrieved mirage-sleep.4.1.0 (cached) -> retrieved mirage-vnetif.0.6.2 (cached) -> retrieved lwt.6.0.0 (cached) -> retrieved ocaml-syntax-shims.1.0.0 (cached) -> retrieved ocamlfind.1.9.8 (cached) -> retrieved ocplib-endian.1.2 (cached) -> retrieved ocamlbuild.0.16.1 (cached) -> retrieved re.1.14.0 (cached) -> retrieved psq.0.2.1 (cached) -> retrieved seq.base (cached) -> installed seq.base -> retrieved rresult.0.7.0 (cached) -> retrieved stdlib-shims.0.3.0 (cached) -> retrieved uutf.1.0.4 (cached) -> retrieved topkg.1.1.1 (cached) -> retrieved dune.3.21.0, dune-configurator.3.21.0 (cached) -> installed ocamlbuild.0.16.1 -> installed cmdliner.2.1.0 -> installed ocamlfind.1.9.8 -> installed base-bytes.base -> installed topkg.1.1.1 -> installed rresult.0.7.0 -> installed uutf.1.0.4 -> installed fmt.0.11.0 -> installed astring.0.8.5 -> installed fpath.0.7.3 -> installed dune.3.21.0 -> installed stdlib-shims.0.3.0 -> installed duration.0.2.1 -> installed csexp.1.5.2 -> installed re.1.14.0 -> installed psq.0.2.1 -> installed ocaml-syntax-shims.1.0.0 -> installed macaddr.5.6.1 -> installed domain-name.0.5.0 -> installed cstruct.6.2.0 -> installed cppo.1.8.0 -> installed lru.0.3.1 -> installed ocplib-endian.1.2 -> installed ipaddr.5.6.1 -> installed dune-configurator.3.21.0 -> installed alcotest.1.9.1 -> installed lwt.6.0.0 -> installed mirage-net.4.0.0 -> installed mirage-sleep.4.1.0 -> installed logs.0.10.0 -> installed mirage-vnetif.0.6.2 -> installed ethernet.3.2.0 -> installed bos.0.2.1 Done. # To update the current shell environment, run: eval $(opam env) 2026-01-17 05:02.22 ---> using "bb09b324f42f5d62556de14b9f3642fbd673db1e1bd55924d1acabf8fe3f8a93" from cache /: (copy (src .) (dst ./src)) 2026-01-17 05:02.24 ---> saved as "bfbfb2a8dc7509303124cb0ec3dc396b04de0e81ee00aa551b93223cad60163d" /: (run (shell "cd ./src && opam exec -- dune build @install @check @runtest && rm -rf _build")) (cd _build/default/test && ./tests.exe) Testing `ARP tests'. This run has ID `J225W2T5'. [OK] Coder 0 valid arp decoding. [OK] Coder 1 unhandled arp decoding. [OK] Coder 2 short arp decoding. [OK] Coder 3 invalid operation decoding. [OK] Coder 4 decoding is inverse of encoding. [OK] Coder 5 encode_into works. [OK] Coder 6 encode_into fails with small bufs. [OK] Handler 0 create raises. [OK] Handler 1 basic tests. [OK] Handler 2 remove test. [OK] Handler 3 remove no test. [OK] Handler 4 alias test. [OK] Handler 5 alias remove test. [OK] Handler 6 static test. [OK] Handler 7 static alias test. [OK] Handler 8 more tests. [OK] Handler 9 handle good. [OK] Handler 10 handle generates req. [OK] Handler 11 handle generates req, next doesn't. [OK] Handler 12 alias wakes. [OK] Handler 13 static wakes. [OK] Handler 14 handle timeout. [OK] Handler 15 request send before timeout. [OK] Handler 16 multiple requests are send. [OK] Handler 17 multiple requests are send 2. [OK] Handler 18 handle reply. [OK] Handler 19 handle garp. [OK] Handler 20 answers broadcast request. [OK] Handler 21 answers unicast request. [OK] Handler 22 not answering random request. [OK] Handler 23 ignoring random. [OK] Handler 24 reply does not harm static entries. [OK] Handler 25 reply is in cache. [OK] Handler 26 dynamic entry can be queried. [OK] Handler 27 reply times out. [OK] Handler 28 dynamic entry overriden by same. [OK] Handler 29 dynamic entry overriden by other. [OK] Handler 30 dynamic entry is not advertised. [OK] Handler 31 reply wakes tasks. [OK] Handler 32 stale to dynamic on same MAC reply. [OK] Handler 33 stale stays stale on different MAC reply. [OK] Handler 34 probing to dynamic on same MAC reply. [OK] Handler 35 probing to stale on different MAC reply. Full test results in `~/src/_build/default/test/_build/_tests/ARP tests'. Test Successful in 0.090s. 43 tests run. (cd _build/default/test/mirage && ./tests.exe) Testing `arp'. This run has ID `LV9MEC0D'. [OK] arp 0 conversions neither lose nor gain information. [OK] arp 1 nonsense requests are ignored. [OK] arp 2 requests are responded to. [OK] arp 3 entries expire. [OK] arp 4 irrelevant requests are ignored. [OK] arp 5 set_ip sets ip, sends GARP. [OK] arp 6 add_ip, get_ip and remove_ip as advertised. [OK] arp 7 GARPs are heard and not cached. [OK] arp 8 unsolicited unicast replies are heard and no... [OK] arp 9 solicited unicast replies resolve pending th... [OK] arp 10 entries are replaced with new information. [OK] arp 11 unreachable IPs time out. [OK] arp 12 queries are tried repeatedly before timing out. Full test results in `~/src/_build/default/test/mirage/_build/_tests/arp'. Test Successful in 20.881s. 13 tests run. 2026-01-17 05:02.48 ---> saved as "5510dc3cb997084d041013affd8f6fb2019319b1dd7b1541292005a111f2903d" Job succeeded 2026-01-17 05:02.55: Job succeeded