Build:
  1. 0
2025-12-11 02:47.49: New job: test index.1.3.1 with dune.3.21.0~alpha3, using opam dev
                              from https://github.com/ocaml/opam-repository.git#refs/pull/29070/head (a95df9014bc79103fde668cf2adbe6680fd2f9cf)
                              on debian-13-ocaml-5.4/amd64

To reproduce locally:

cd $(mktemp -d)
git clone --recursive "https://github.com/ocaml/opam-repository.git" && cd "opam-repository" && git fetch origin "refs/pull/29070/head" && git reset --hard a95df901
git fetch origin master
git merge --no-edit 810e1f14b7fa6411c66a3549f4c2aff47c52fc36
cat > ../Dockerfile <<'END-OF-DOCKERFILE'
FROM ocaml/opam:debian-13-ocaml-5.4@sha256:8c62cc7b043f64833949d4049211997093b28a2f1b98377748d3e185ae301c04
USER 1000:1000
WORKDIR /home/opam
RUN sudo ln -f /usr/bin/opam-dev /usr/bin/opam
RUN opam init --reinit -ni
RUN opam option solver=builtin-0install && opam config report
ENV OPAMDOWNLOADJOBS="1"
ENV OPAMERRLOGLEN="0"
ENV OPAMPRECISETRACKING="1"
ENV CI="true"
ENV OPAM_REPO_CI="true"
RUN rm -rf opam-repository/
COPY --chown=1000:1000 . opam-repository/
RUN opam repository set-url --strict default opam-repository/
RUN opam update --depexts || true
RUN opam pin add -k version -yn dune.3.21.0~alpha3 3.21.0~alpha3
RUN opam reinstall dune.3.21.0~alpha3; \
    res=$?; \
    test "$res" != 31 && exit "$res"; \
    export OPAMCLI=2.0; \
    build_dir=$(opam var prefix)/.opam-switch/build; \
    failed=$(ls "$build_dir"); \
    partial_fails=""; \
    for pkg in $failed; do \
    if opam show -f x-ci-accept-failures: "$pkg" | grep -qF "\"debian-13\""; then \
    echo "A package failed and has been disabled for CI using the 'x-ci-accept-failures' field."; \
    fi; \
    test "$pkg" != 'dune.3.21.0~alpha3' && partial_fails="$partial_fails $pkg"; \
    done; \
    test "${partial_fails}" != "" && echo "opam-repo-ci detected dependencies failing: ${partial_fails}"; \
    exit 1
RUN opam reinstall index.1.3.1; \
    res=$?; \
    test "$res" != 31 && exit "$res"; \
    export OPAMCLI=2.0; \
    build_dir=$(opam var prefix)/.opam-switch/build; \
    failed=$(ls "$build_dir"); \
    partial_fails=""; \
    for pkg in $failed; do \
    if opam show -f x-ci-accept-failures: "$pkg" | grep -qF "\"debian-13\""; then \
    echo "A package failed and has been disabled for CI using the 'x-ci-accept-failures' field."; \
    fi; \
    test "$pkg" != 'index.1.3.1' && partial_fails="$partial_fails $pkg"; \
    done; \
    test "${partial_fails}" != "" && echo "opam-repo-ci detected dependencies failing: ${partial_fails}"; \
    exit 1
RUN (opam reinstall --with-test index.1.3.1) || true
RUN opam reinstall --with-test --verbose index.1.3.1; \
    res=$?; \
    test "$res" != 31 && exit "$res"; \
    export OPAMCLI=2.0; \
    build_dir=$(opam var prefix)/.opam-switch/build; \
    failed=$(ls "$build_dir"); \
    partial_fails=""; \
    for pkg in $failed; do \
    if opam show -f x-ci-accept-failures: "$pkg" | grep -qF "\"debian-13\""; then \
    echo "A package failed and has been disabled for CI using the 'x-ci-accept-failures' field."; \
    fi; \
    test "$pkg" != 'index.1.3.1' && partial_fails="$partial_fails $pkg"; \
    done; \
    test "${partial_fails}" != "" && echo "opam-repo-ci detected dependencies failing: ${partial_fails}"; \
    exit 1

END-OF-DOCKERFILE
docker build -f ../Dockerfile .

2025-12-11 02:47.49: Using cache hint "ocaml/opam:debian-13-ocaml-5.4@sha256:8c62cc7b043f64833949d4049211997093b28a2f1b98377748d3e185ae301c04-dune.3.21.0~alpha3-index.1.3.1-a95df9014bc79103fde668cf2adbe6680fd2f9cf"
2025-12-11 02:47.49: Using OBuilder spec:
((from ocaml/opam:debian-13-ocaml-5.4@sha256:8c62cc7b043f64833949d4049211997093b28a2f1b98377748d3e185ae301c04)
 (user (uid 1000) (gid 1000))
 (workdir /home/opam)
 (run (shell "sudo ln -f /usr/bin/opam-dev /usr/bin/opam"))
 (run (network host)
      (shell "opam init --reinit --config .opamrc-sandbox -ni"))
 (run (shell "opam option solver=builtin-0install && opam config report"))
 (env OPAMDOWNLOADJOBS 1)
 (env OPAMERRLOGLEN 0)
 (env OPAMPRECISETRACKING 1)
 (env CI true)
 (env OPAM_REPO_CI true)
 (run (shell "rm -rf opam-repository/"))
 (copy (src .) (dst opam-repository/))
 (run (shell "opam repository set-url --strict default opam-repository/"))
 (run (network host)
      (shell "opam update --depexts || true"))
 (run (shell "opam pin add -k version -yn dune.3.21.0~alpha3 3.21.0~alpha3"))
 (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
      (network host)
      (shell  "opam reinstall dune.3.21.0~alpha3;\
             \n        res=$?;\
             \n        test \"$res\" != 31 && exit \"$res\";\
             \n        export OPAMCLI=2.0;\
             \n        build_dir=$(opam var prefix)/.opam-switch/build;\
             \n        failed=$(ls \"$build_dir\");\
             \n        partial_fails=\"\";\
             \n        for pkg in $failed; do\
             \n          if opam show -f x-ci-accept-failures: \"$pkg\" | grep -qF \"\\\"debian-13\\\"\"; then\
             \n            echo \"A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\";\
             \n          fi;\
             \n          test \"$pkg\" != 'dune.3.21.0~alpha3' && partial_fails=\"$partial_fails $pkg\";\
             \n        done;\
             \n        test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
             \n        exit 1"))
 (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
      (network host)
      (shell  "opam reinstall index.1.3.1;\
             \n        res=$?;\
             \n        test \"$res\" != 31 && exit \"$res\";\
             \n        export OPAMCLI=2.0;\
             \n        build_dir=$(opam var prefix)/.opam-switch/build;\
             \n        failed=$(ls \"$build_dir\");\
             \n        partial_fails=\"\";\
             \n        for pkg in $failed; do\
             \n          if opam show -f x-ci-accept-failures: \"$pkg\" | grep -qF \"\\\"debian-13\\\"\"; then\
             \n            echo \"A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\";\
             \n          fi;\
             \n          test \"$pkg\" != 'index.1.3.1' && partial_fails=\"$partial_fails $pkg\";\
             \n        done;\
             \n        test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
             \n        exit 1"))
 (run (network host)
      (shell "(opam reinstall --with-test index.1.3.1) || true"))
 (run (shell  "opam reinstall --with-test --verbose index.1.3.1;\
             \n        res=$?;\
             \n        test \"$res\" != 31 && exit \"$res\";\
             \n        export OPAMCLI=2.0;\
             \n        build_dir=$(opam var prefix)/.opam-switch/build;\
             \n        failed=$(ls \"$build_dir\");\
             \n        partial_fails=\"\";\
             \n        for pkg in $failed; do\
             \n          if opam show -f x-ci-accept-failures: \"$pkg\" | grep -qF \"\\\"debian-13\\\"\"; then\
             \n            echo \"A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\";\
             \n          fi;\
             \n          test \"$pkg\" != 'index.1.3.1' && partial_fails=\"$partial_fails $pkg\";\
             \n        done;\
             \n        test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
             \n        exit 1"))
)

2025-12-11 02:47.49: Waiting for resource in pool OCluster
2025-12-11 13:58.48: Waiting for worker…
2025-12-11 14:02.10: Got resource from pool OCluster
Building on odawa.caelum.ci.dev
All commits already cached
HEAD is now at 810e1f14b7 Merge pull request #29066 from gares/release-elpi-v3.4.4
Updating 810e1f14b7..a95df9014b
Fast-forward
 .../chrome-trace/chrome-trace.3.21.0~alpha3/opam   | 41 ++++++++++++
 .../dune-action-plugin.3.21.0~alpha3/opam          | 54 ++++++++++++++++
 .../dune-build-info.3.21.0~alpha3/opam             | 47 ++++++++++++++
 .../dune-configurator.3.21.0~alpha3/opam           | 51 +++++++++++++++
 packages/dune-glob/dune-glob.3.21.0~alpha3/opam    | 44 +++++++++++++
 .../dune-private-libs.3.21.0~alpha3/opam           | 52 +++++++++++++++
 .../dune-rpc-lwt/dune-rpc-lwt.3.21.0~alpha3/opam   | 43 +++++++++++++
 packages/dune-rpc/dune-rpc.3.21.0~alpha3/opam      | 46 +++++++++++++
 packages/dune-site/dune-site.3.21.0~alpha3/opam    | 39 +++++++++++
 packages/dune/dune.3.21.0~alpha3/opam              | 75 ++++++++++++++++++++++
 packages/dyn/dyn.3.21.0~alpha3/opam                | 42 ++++++++++++
 packages/fs-io/fs-io.3.21.0~alpha3/opam            | 40 ++++++++++++
 packages/ocamlc-loc/ocamlc-loc.3.21.0~alpha3/opam  | 45 +++++++++++++
 packages/ordering/ordering.3.21.0~alpha3/opam      | 40 ++++++++++++
 packages/stdune/stdune.3.21.0~alpha3/opam          | 48 ++++++++++++++
 .../top-closure/top-closure.3.21.0~alpha3/opam     | 39 +++++++++++
 packages/xdg/xdg.3.21.0~alpha3/opam                | 41 ++++++++++++
 17 files changed, 787 insertions(+)
 create mode 100644 packages/chrome-trace/chrome-trace.3.21.0~alpha3/opam
 create mode 100644 packages/dune-action-plugin/dune-action-plugin.3.21.0~alpha3/opam
 create mode 100644 packages/dune-build-info/dune-build-info.3.21.0~alpha3/opam
 create mode 100644 packages/dune-configurator/dune-configurator.3.21.0~alpha3/opam
 create mode 100644 packages/dune-glob/dune-glob.3.21.0~alpha3/opam
 create mode 100644 packages/dune-private-libs/dune-private-libs.3.21.0~alpha3/opam
 create mode 100644 packages/dune-rpc-lwt/dune-rpc-lwt.3.21.0~alpha3/opam
 create mode 100644 packages/dune-rpc/dune-rpc.3.21.0~alpha3/opam
 create mode 100644 packages/dune-site/dune-site.3.21.0~alpha3/opam
 create mode 100644 packages/dune/dune.3.21.0~alpha3/opam
 create mode 100644 packages/dyn/dyn.3.21.0~alpha3/opam
 create mode 100644 packages/fs-io/fs-io.3.21.0~alpha3/opam
 create mode 100644 packages/ocamlc-loc/ocamlc-loc.3.21.0~alpha3/opam
 create mode 100644 packages/ordering/ordering.3.21.0~alpha3/opam
 create mode 100644 packages/stdune/stdune.3.21.0~alpha3/opam
 create mode 100644 packages/top-closure/top-closure.3.21.0~alpha3/opam
 create mode 100644 packages/xdg/xdg.3.21.0~alpha3/opam

(from ocaml/opam:debian-13-ocaml-5.4@sha256:8c62cc7b043f64833949d4049211997093b28a2f1b98377748d3e185ae301c04)
2025-12-11 14:02.19 ---> using "5f87df8c1f6f0886e7311dfd3df40b8bbb961cc34c83c0d033c6dd248c84bc7d" from cache

/: (user (uid 1000) (gid 1000))

/: (workdir /home/opam)

/home/opam: (run (shell "sudo ln -f /usr/bin/opam-dev /usr/bin/opam"))
2025-12-11 14:02.19 ---> using "f1296791f2d76481058db697105a569091a6b6345f05c94bbc5a650f1a364f9a" from cache

/home/opam: (run (network host)
                 (shell "opam init --reinit --config .opamrc-sandbox -ni"))
Configuring from /home/opam/.opamrc-sandbox, then /home/opam/.opamrc, and finally 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 71 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=71 --global
Format upgrade done.

<><> Updating repositories ><><><><><><><><><><><><><><><><><><><><><><><><><><>
[default] Initialised
2025-12-11 14:02.19 ---> using "0cac9a31b4750e6a46df8ed8d2f68352091a988199fdf62c52779549510cd6bf" from cache

/home/opam: (run (shell "opam option solver=builtin-0install && opam config report"))
Set to 'builtin-0install' the field solver in global configuration
# opam config report
# opam-version         2.5.0
# self-upgrade         no
# system               arch=x86_64 os=linux os-distribution=debian os-version=13
# solver               builtin-0install
# install-criteria     -changed,-count[avoid-version,solution]
# upgrade-criteria     -count[avoid-version,solution]
# jobs                 255
# repositories         1 (version-controlled)
# pinned               1 (version)
# current-switch       5.4
# invariant            ["ocaml-base-compiler" {>= "5.4.0"}]
# compiler-packages    ocaml-base-compiler.5.4.0, ocaml-compiler.5.4.0, ocaml-options-vanilla.1
# ocaml:native         true
# ocaml:native-tools   true
# ocaml:native-dynlink true
# ocaml:stubsdir       /home/opam/.opam/5.4/lib/ocaml/stublibs:/home/opam/.opam/5.4/lib/ocaml
# ocaml:preinstalled   false
# ocaml:compiler       5.4.0
2025-12-11 14:02.19 ---> using "1deb91dc3badca969976ed6f3bc5fe7c443d73a2cfa957be662fd6f93e30aa7b" from cache

/home/opam: (env OPAMDOWNLOADJOBS 1)

/home/opam: (env OPAMERRLOGLEN 0)

/home/opam: (env OPAMPRECISETRACKING 1)

/home/opam: (env CI true)

/home/opam: (env OPAM_REPO_CI true)

/home/opam: (run (shell "rm -rf opam-repository/"))
2025-12-11 14:02.19 ---> using "1a02438c8753bf7228a9eb625e65b7af26778a022b9ce0b16be5ef4f294c58cd" from cache

/home/opam: (copy (src .) (dst opam-repository/))
2025-12-11 14:02.20 ---> using "558efc5d1dade30f771ff827a323991d3b5dc8b22610995de52463f4460db41d" from cache

/home/opam: (run (shell "opam repository set-url --strict default opam-repository/"))
[default] Initialised
2025-12-11 14:02.20 ---> using "58e0c9dd5022cd1436b8b1510f482b6baa4e8929f778f88439cff37971729a44" from cache

/home/opam: (run (network host)
                 (shell "opam update --depexts || true"))
+ /usr/bin/sudo "apt-get" "update"
- Hit:1 http://deb.debian.org/debian trixie InRelease
- 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-security trixie-security/main amd64 Packages [82.1 kB]
- Fetched 173 kB in 0s (1237 kB/s)
- Reading package lists...
2025-12-11 14:02.20 ---> using "de5cbb4e0f295ac93b57d57eef12f594db675884c8bd7983430c50e2fdd12f64" from cache

/home/opam: (run (shell "opam pin add -k version -yn dune.3.21.0~alpha3 3.21.0~alpha3"))
dune is now pinned to version 3.21.0~alpha3
2025-12-11 14:02.20 ---> using "af6cbda9e692e53fa8a8206602afe48a116f589a7ff1dcf8f7ba5c92367c3e3e" from cache

/home/opam: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
                 (network host)
                 (shell  "opam reinstall dune.3.21.0~alpha3;\
                        \n        res=$?;\
                        \n        test \"$res\" != 31 && exit \"$res\";\
                        \n        export OPAMCLI=2.0;\
                        \n        build_dir=$(opam var prefix)/.opam-switch/build;\
                        \n        failed=$(ls \"$build_dir\");\
                        \n        partial_fails=\"\";\
                        \n        for pkg in $failed; do\
                        \n          if opam show -f x-ci-accept-failures: \"$pkg\" | grep -qF \"\\\"debian-13\\\"\"; then\
                        \n            echo \"A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\";\
                        \n          fi;\
                        \n          test \"$pkg\" != 'dune.3.21.0~alpha3' && partial_fails=\"$partial_fails $pkg\";\
                        \n        done;\
                        \n        test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
                        \n        exit 1"))
dune.3.21.0~alpha3 is not installed. Install it? [Y/n] y
The following actions will be performed:
=== install 1 package
  - install dune 3.21.0~alpha3 (pinned)

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved dune.3.21.0~alpha3  (cached)
-> installed dune.3.21.0~alpha3
Done.
# To update the current shell environment, run: eval $(opam env)
2025-12-11 14:02.20 ---> using "4087a133b295dba0068b3ab8cbcc1fe3f8be9e05017b236fa624fde6f6bb2578" from cache

/home/opam: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
                 (network host)
                 (shell  "opam reinstall index.1.3.1;\
                        \n        res=$?;\
                        \n        test \"$res\" != 31 && exit \"$res\";\
                        \n        export OPAMCLI=2.0;\
                        \n        build_dir=$(opam var prefix)/.opam-switch/build;\
                        \n        failed=$(ls \"$build_dir\");\
                        \n        partial_fails=\"\";\
                        \n        for pkg in $failed; do\
                        \n          if opam show -f x-ci-accept-failures: \"$pkg\" | grep -qF \"\\\"debian-13\\\"\"; then\
                        \n            echo \"A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\";\
                        \n          fi;\
                        \n          test \"$pkg\" != 'index.1.3.1' && partial_fails=\"$partial_fails $pkg\";\
                        \n        done;\
                        \n        test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
                        \n        exit 1"))
index.1.3.1 is not installed. Install it? [Y/n] y
The following actions will be performed:
=== install 25 packages
  - install base64              3.5.2   [required by repr]
  - install cmdliner            1.3.0   [required by index]
  - install cppo                1.8.0   [required by ppx_deriving]
  - install either              1.0.0   [required by repr]
  - install fmt                 0.11.0  [required by index]
  - install index               1.3.1
  - install jsonm               1.0.2   [required by index]
  - install logs                0.10.0  [required by index]
  - install mtime               1.3.0   [required by index]
  - install ocaml-compiler-libs v0.17.0 [required by ppxlib]
  - install ocamlbuild          0.16.1  [required by logs, fmt, jsonm, mtime]
  - install ocamlfind           1.9.8   [required by logs, fmt, jsonm, mtime]
  - install optint              0.3.0   [required by repr]
  - install ppx_derivers        1.2.1   [required by ppx_deriving]
  - install ppx_deriving        6.1.1   [required by ppx_repr]
  - install ppx_repr            0.8.0   [required by index]
  - install ppxlib              0.37.0  [required by ppx_repr]
  - install progress            0.1.1   [required by index]
  - install repr                0.8.0   [required by index]
  - install semaphore-compat    1.0.2   [required by index]
  - install sexplib0            v0.17.0 [required by ppxlib]
  - install stdlib-shims        0.3.0   [required by index]
  - install terminal_size       0.2.0   [required by progress]
  - install topkg               1.1.1   [required by logs, fmt, jsonm, mtime]
  - install uutf                1.0.4   [required by jsonm]

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved base64.3.5.2  (cached)
-> retrieved cmdliner.1.3.0  (cached)
-> retrieved cppo.1.8.0  (cached)
-> retrieved either.1.0.0  (cached)
-> retrieved fmt.0.11.0  (cached)
-> retrieved index.1.3.1  (cached)
-> retrieved jsonm.1.0.2  (cached)
-> retrieved logs.0.10.0  (cached)
-> retrieved mtime.1.3.0  (cached)
-> retrieved ocaml-compiler-libs.v0.17.0  (cached)
-> retrieved ocamlbuild.0.16.1  (cached)
-> retrieved ocamlfind.1.9.8  (cached)
-> installed base64.3.5.2
-> retrieved optint.0.3.0  (cached)
-> retrieved ppx_derivers.1.2.1  (cached)
-> retrieved ppx_deriving.6.1.1  (cached)
-> installed either.1.0.0
-> retrieved ppx_repr.0.8.0, repr.0.8.0  (cached)
-> installed ppx_derivers.1.2.1
-> retrieved ppxlib.0.37.0  (cached)
-> installed optint.0.3.0
-> retrieved progress.0.1.1  (cached)
-> retrieved semaphore-compat.1.0.2  (cached)
-> retrieved sexplib0.v0.17.0  (cached)
-> retrieved stdlib-shims.0.3.0  (cached)
-> retrieved terminal_size.0.2.0  (cached)
-> retrieved topkg.1.1.1  (cached)
-> retrieved uutf.1.0.4  (cached)
-> installed terminal_size.0.2.0
-> installed semaphore-compat.1.0.2
-> installed stdlib-shims.0.3.0
-> installed cppo.1.8.0
-> installed ocaml-compiler-libs.v0.17.0
-> installed sexplib0.v0.17.0
-> installed cmdliner.1.3.0
-> installed ocamlfind.1.9.8
-> installed ocamlbuild.0.16.1
-> installed topkg.1.1.1
-> installed uutf.1.0.4
-> installed mtime.1.3.0
-> installed fmt.0.11.0
-> installed progress.0.1.1
-> installed jsonm.1.0.2
-> installed logs.0.10.0
-> installed ppxlib.0.37.0
-> installed repr.0.8.0
-> installed ppx_deriving.6.1.1
-> installed ppx_repr.0.8.0
-> installed index.1.3.1
Done.
# To update the current shell environment, run: eval $(opam env)
2025-12-11 14:02.42 ---> saved as "decd71fa50150a3b9cce287bc5166eae120eea340d51de4dcd485528726e9d8e"

/home/opam: (run (network host)
                 (shell "(opam reinstall --with-test index.1.3.1) || true"))
The following actions will be performed:
=== downgrade 4 packages
  - downgrade cmdliner           1.3.0 to 1.0.4  [required by index]
  - downgrade fmt                0.11.0 to 0.9.0 [required by index]
  - downgrade logs               0.10.0 to 0.7.0 [required by index]
  - downgrade uutf               1.0.4 to 1.0.3  [uses cmdliner]
=== recompile 4 packages
  - recompile index              1.3.1
  - recompile jsonm              1.0.2           [uses uutf]
  - recompile ppx_repr           0.8.0           [uses fmt]
  - recompile repr               0.8.0           [uses fmt]
=== install 8 packages
  - install   afl-persistent     1.4             [required by crowbar]
  - install   alcotest           1.5.0           [required by index]
  - install   astring            0.8.5           [required by alcotest]
  - install   base-bytes         base            [required by ocplib-endian]
  - install   crowbar            0.2             [required by index]
  - install   ocaml-syntax-shims 1.0.0           [required by alcotest]
  - install   ocplib-endian      1.2             [required by crowbar]
  - install   re                 1.14.0          [required by index]

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved afl-persistent.1.4  (https://opam.ocaml.org/cache)
-> retrieved alcotest.1.5.0  (https://opam.ocaml.org/cache)
-> retrieved astring.0.8.5  (https://opam.ocaml.org/cache)
-> installed base-bytes.base
-> installed afl-persistent.1.4
-> retrieved cmdliner.1.0.4  (https://opam.ocaml.org/cache)
-> retrieved crowbar.0.2  (https://opam.ocaml.org/cache)
-> retrieved fmt.0.9.0  (https://opam.ocaml.org/cache)
-> retrieved index.1.3.1  (https://opam.ocaml.org/cache)
-> retrieved jsonm.1.0.2  (https://opam.ocaml.org/cache)
-> retrieved logs.0.7.0  (https://opam.ocaml.org/cache)
-> retrieved ocaml-syntax-shims.1.0.0  (https://opam.ocaml.org/cache)
-> retrieved ocplib-endian.1.2  (https://opam.ocaml.org/cache)
-> retrieved ppx_repr.0.8.0, repr.0.8.0  (https://opam.ocaml.org/cache)
-> retrieved re.1.14.0  (https://opam.ocaml.org/cache)
-> installed ocplib-endian.1.2
-> retrieved uutf.1.0.3  (https://opam.ocaml.org/cache)
-> installed astring.0.8.5
-> installed ocaml-syntax-shims.1.0.0
-> removed   index.1.3.1
-> removed   logs.0.10.0
-> removed   ppx_repr.0.8.0
-> removed   repr.0.8.0
-> removed   fmt.0.11.0
-> removed   jsonm.1.0.2
-> removed   uutf.1.0.4
-> removed   cmdliner.1.3.0
-> installed re.1.14.0
-> installed cmdliner.1.0.4
-> installed crowbar.0.2
-> installed uutf.1.0.3
-> installed fmt.0.9.0
-> installed alcotest.1.5.0
-> installed jsonm.1.0.2
-> installed logs.0.7.0
-> installed repr.0.8.0
-> installed ppx_repr.0.8.0
[ERROR] The compilation of index.1.3.1 failed at "dune runtest -p index".

#=== ERROR while compiling index.1.3.1 ========================================#
# context              2.5.0 | linux/x86_64 | ocaml-base-compiler.5.4.0 | file:///home/opam/opam-repository
# path                 ~/.opam/5.4/.opam-switch/build/index.1.3.1
# command              ~/.opam/opam-init/hooks/sandbox.sh build dune runtest -p index
# exit-code            1
# env-file             ~/.opam/log/index-7-36f2e8.env
# output-file          ~/.opam/log/index-7-36f2e8.out
### output ###
# Internal error, please report upstream including the contents of _build/log.
# Description:
#   ("unable to serialize exception",
#    { exn = "Failure(\"lexing: empty token\")" })
# Raised by primitive operation at Stdlib__Lexing.engine in file "lexing.ml",
#   line 65, characters 15-37
# Called from
#   Dune_rules__Cram_lexer.__ocaml_lex_eol_then_continue_or_finish_rec in file
#   "_boot/dune_rules__Cram_lexer.ml", line 480, characters 8-65
# Called from Dune_rules__Cram_lexer.__ocaml_lex_eol_then_command_or_finish_rec
#   in file "src/dune_rules/cram/cram_lexer.mll", line 78, characters 40-73
# Called from Dune_rules__Cram_lexer.block in file
#   "_boot/dune_rules__Cram_lexer.ml" (inlined), line 156, characters 3-33
# Called from Dune_rules__Cram_exec.cram_stanzas.(fun).loop in file
#   "dune_rules__Cram_exec.ml", line 74, characters 12-35
# Called from Dune_rules__Cram_exec.Make_script.Spec.action in file
#   "dune_rules__Cram_exec.ml", lines 651-653, characters 8-41
# Called from Action_ext.Make.Spec.action in file "action_ext.ml", line 34,
#   characters 16-36
# Called from Dune_engine__Action_exec.exec in file
#   "dune_engine__Action_exec.ml", line 262, characters 48-77
# Called from Dune_engine__Action_exec.exec_until_all_deps_ready.loop in file
#   "dune_engine__Action_exec.ml", line 357, characters 18-36
# Called from Dune_engine__Action_exec.exec_until_all_deps_ready in file
#   "dune_engine__Action_exec.ml", line 372, characters 55-70
# Called from Fiber__Scheduler.exec in file "fiber__Scheduler.ml", line 77,
#   characters 8-11
# Re-raised at Stdune__Exn.raise_with_backtrace in file "stdune__Exn.ml"
#   (inlined), line 39, characters 27-56
# Called from Stdune__Exn_with_backtrace.reraise in file
#   "stdune__Exn_with_backtrace.ml", line 21, characters 33-71
# Called from Fiber__Scheduler.exec in file "fiber__Scheduler.ml", line 77,
#   characters 8-11
# Re-raised at Stdune__Exn.raise_with_backtrace in file "stdune__Exn.ml"
#   (inlined), line 39, characters 27-56
# Called from Stdune__Exn_with_backtrace.reraise in file
#   "stdune__Exn_with_backtrace.ml", line 21, characters 33-71
# Called from Fiber__Scheduler.exec in file "fiber__Scheduler.ml", line 77,
#   characters 8-11
# -> required by
#    ("execute-rule",
#     { id = 7
#     ; info =
#         From_dune_file
#           { pos_fname = "<none>"
#           ; start = { pos_lnum = 1; pos_bol = 0; pos_cnum = 0 }
#           ; stop = { pos_lnum = 1; pos_bol = 0; pos_cnum = 0 }
#           }
#     })
# -> required by ("<unnamed>", ())
# -> required by
#    ("build-file", In_build_dir "default/test/cli/.cram.stat.t/cram.sh")
# -> required by ("Rule.make", ())
# -> required by
#    ("execute-rule",
#     { id = 8
#     ; info =
#         From_dune_file
#           { pos_fname = "<none>"
#           ; start = { pos_lnum = 1; pos_bol = 0; pos_cnum = 0 }
#           ; stop = { pos_lnum = 1; pos_bol = 0; pos_cnum = 0 }
#           }
#     })
# -> required by ("<unnamed>", ())
# -> required by
#    ("build-file", In_build_dir "default/test/cli/.cram.stat.t/cram.out")
# -> required by ("<unnamed>", ())
# -> required by
#    ("build-alias", { dir = In_build_dir "default/test/cli"; name = "stat" })
# -> required by ("<unnamed>", ())
# -> required by
#    ("build-alias",
#     { dir = In_build_dir "default/test/cli"; name = "runtest" })
# -> required by ("toplevel", ())
# 
# I must not crash.  Uncertainty is the mind-killer. Exceptions are the
# little-death that brings total obliteration.  I will fully express my cases. 
# Execution will pass over me and through me.  And when it has gone past, I
# will unwind the stack along its path.  Where the cases are handled there will
# be nothing.  Only I will remain.
# (cd _build/default && /home/opam/.opam/5.4/bin/ocamlc.opt -w -40 -g -bin-annot -bin-annot-occurrences -I test/cli/.generate.eobjs/byte -I src/.index.objs/byte -I src/unix/.index_unix.objs/byte -no-alias-deps -o test/cli/.generate.eobjs/byte/dune__exe__Generate.cmo -c -impl test/cli/generate.ml)
# File "_none_", line 1:
# Alert ocaml_deprecated_auto_include: 
# OCaml's lib directory layout changed in 5.0. The unix subdirectory has been
# automatically added to the search path, but you should add -I +unix to the
# command-line to silence this alert (e.g. by adding unix to the list of
# libraries in your dune file, or adding use_unix to your _tags file for
# ocamlbuild, or using -package unix for ocamlfind).
# (cd _build/default && /home/opam/.opam/5.4/bin/ocamlopt.opt -w -40 -g -I test/cli/.generate.eobjs/byte -I test/cli/.generate.eobjs/native -I src/.index.objs/byte -I src/.index.objs/native -I src/unix/.index_unix.objs/byte -I src/unix/.index_unix.objs/native -cmi-file test/cli/.generate.eobjs/byte/dune__exe__Generate.cmi -no-alias-deps -o test/cli/.generate.eobjs/native/dune__exe__Generate.cmx -c -impl test/cli/generate.ml)
# File "_none_", line 1:
# Alert ocaml_deprecated_auto_include: 
# OCaml's lib directory layout changed in 5.0. The unix subdirectory has been
# automatically added to the search path, but you should add -I +unix to the
# command-line to silence this alert (e.g. by adding unix to the list of
# libraries in your dune file, or adding use_unix to your _tags file for
# ocamlbuild, or using -package unix for ocamlfind).
# (cd _build/default && /home/opam/.opam/5.4/bin/ocamlopt.opt -w -40 -g -I test/unix/.main.eobjs/byte -I test/unix/.main.eobjs/native -I /home/opam/.opam/5.4/lib/alcotest -I /home/opam/.opam/5.4/lib/fmt -I /home/opam/.opam/5.4/lib/logs -I /home/opam/.opam/5.4/lib/ocaml/threads -I /home/opam/.opam/5.4/lib/optint -I /home/opam/.opam/5.4/lib/re -I /home/opam/.opam/5.4/lib/repr -I /home/opam/.opam/5.4/lib/semaphore-compat -I /home/opam/.opam/5.4/lib/stdlib-shims -I src/.index.objs/byte -I src/.index.objs/native -I src/unix/.index_unix.objs/byte -I src/unix/.index_unix.objs/native -cmi-file test/unix/.main.eobjs/byte/dune__exe__Common.cmi -no-alias-deps -open Dune__exe -o test/unix/.main.eobjs/native/dune__exe__Common.cmx -c -impl test/unix/common.ml)
# File "_none_", line 1:
# Alert ocaml_deprecated_auto_include: 
# OCaml's lib directory layout changed in 5.0. The unix subdirectory has been
# automatically added to the search path, but you should add -I +unix to the
# command-line to silence this alert (e.g. by adding unix to the list of
# libraries in your dune file, or adding use_unix to your _tags file for
# ocamlbuild, or using -package unix for ocamlfind).
# (cd _build/default && /home/opam/.opam/5.4/bin/ocamlopt.opt -w -40 -g -I test/unix/.main.eobjs/byte -I test/unix/.main.eobjs/native -I /home/opam/.opam/5.4/lib/alcotest -I /home/opam/.opam/5.4/lib/fmt -I /home/opam/.opam/5.4/lib/logs -I /home/opam/.opam/5.4/lib/ocaml/threads -I /home/opam/.opam/5.4/lib/optint -I /home/opam/.opam/5.4/lib/re -I /home/opam/.opam/5.4/lib/repr -I /home/opam/.opam/5.4/lib/semaphore-compat -I /home/opam/.opam/5.4/lib/stdlib-shims -I src/.index.objs/byte -I src/.index.objs/native -I src/unix/.index_unix.objs/byte -I src/unix/.index_unix.objs/native -cmi-file test/unix/.main.eobjs/byte/dune__exe__Io_array.cmi -no-alias-deps -open Dune__exe -o test/unix/.main.eobjs/native/dune__exe__Io_array.cmx -c -impl test/unix/io_array.ml)
# File "test/unix/io_array.ml", line 57, characters 7-15:
# 57 |       (Fmt.strf "Inserted key at index %i is accessible" i)
#             ^^^^^^^^
# Alert deprecated: Fmt.strf
# use Fmt.str instead.
# 
# File "test/unix/io_array.ml", line 72, characters 7-15:
# 72 |       (Fmt.strf "Inserted key at index %i is accessible" i)
#             ^^^^^^^^
# Alert deprecated: Fmt.strf
# use Fmt.str instead.
# (cd _build/default && /home/opam/.opam/5.4/bin/ocamlopt.opt -w -40 -g -I test/unix/.main.eobjs/byte -I test/unix/.main.eobjs/native -I /home/opam/.opam/5.4/lib/alcotest -I /home/opam/.opam/5.4/lib/fmt -I /home/opam/.opam/5.4/lib/logs -I /home/opam/.opam/5.4/lib/ocaml/threads -I /home/opam/.opam/5.4/lib/optint -I /home/opam/.opam/5.4/lib/re -I /home/opam/.opam/5.4/lib/repr -I /home/opam/.opam/5.4/lib/semaphore-compat -I /home/opam/.opam/5.4/lib/stdlib-shims -I src/.index.objs/byte -I src/.index.objs/native -I src/unix/.index_unix.objs/byte -I src/unix/.index_unix.objs/native -cmi-file test/unix/.main.eobjs/byte/dune__exe__Force_merge.cmi -no-alias-deps -open Dune__exe -o test/unix/.main.eobjs/native/dune__exe__Force_merge.cmx -c -impl test/unix/force_merge.ml)
# File "_none_", line 1:
# Alert ocaml_deprecated_auto_include: 
# OCaml's lib directory layout changed in 5.0. The unix subdirectory has been
# automatically added to the search path, but you should add -I +unix to the
# command-line to silence this alert (e.g. by adding unix to the list of
# libraries in your dune file, or adding use_unix to your _tags file for
# ocamlbuild, or using -package unix for ocamlfind).
# (cd _build/default && /home/opam/.opam/5.4/bin/ocamlopt.opt -w -40 -g -I test/unix/.main.eobjs/byte -I test/unix/.main.eobjs/native -I /home/opam/.opam/5.4/lib/alcotest -I /home/opam/.opam/5.4/lib/fmt -I /home/opam/.opam/5.4/lib/logs -I /home/opam/.opam/5.4/lib/ocaml/threads -I /home/opam/.opam/5.4/lib/optint -I /home/opam/.opam/5.4/lib/re -I /home/opam/.opam/5.4/lib/repr -I /home/opam/.opam/5.4/lib/semaphore-compat -I /home/opam/.opam/5.4/lib/stdlib-shims -I src/.index.objs/byte -I src/.index.objs/native -I src/unix/.index_unix.objs/byte -I src/unix/.index_unix.objs/native -cmi-file test/unix/.main.eobjs/byte/dune__exe__Main.cmi -no-alias-deps -open Dune__exe -o test/unix/.main.eobjs/native/dune__exe__Main.cmx -c -impl test/unix/main.ml)
# File "test/unix/main.ml", line 278, characters 29-37:
# 278 |       Alcotest.check_raises (Fmt.strf "Find %s key after clearing." k) Not_found
#                                    ^^^^^^^^
# Alert deprecated: Fmt.strf
# use Fmt.str instead.
# (cd _build/default/test && ./main.exe)
# Testing `index'.
# This run has ID `QGSHHMQL'.
# 
#   [OK]          cache           0   noop.
#   [OK]          cache           1   unbounded.
#   [OK]          search          0   unique.
#   [OK]          search          1   constant metric.
# 
# Full test results in `~/.opam/5.4/.opam-switch/build/index.1.3.1/_build/default/test/_build/_tests/index'.
# Test Successful in 0.003s. 4 tests run.
# (cd _build/default/test/unix && ./main.exe)
# Testing `index.unix'.
# This run has ID `O2RZEGZD'.
# 
#   [OK]          io_array                0   fresh.
#   [OK]          io_array                1   prefetch.
#   [OK]          merge                   0   readonly in sequence.
#   [OK]          merge                   1   readonly interleaved.
#   [OK]          merge                   2   interleaved merge.
#   [OK]          merge                   3   write at the end of merge.
#   [OK]          merge                   4   write in log_async.
#   [OK]          merge                   5   find while merging.
#   [OK]          merge                   6   find in async without log.
#   [OK]          merge                   7   find in async with log.
#   [OK]          merge                   8   sync and find after log cleared.
#   [OK]          merge                   9   merge during ro sync.
#   [OK]          merge                  10   is_merging.
#   [OK]          merge                  11   clear is not blocking.
#   [OK]          merge                  12   `clear` aborts merge.
#   [OK]          merge                  13   `close ~immediately` aborts merge.
#   [OK]          live                    0   find (present).
#   [OK]          live                    1   find (absent).
#   [OK]          live                    2   replace.
#   [OK]          live                    3   fail add (key).
#   [OK]          live                    4   fail add (value).
#   [OK]          live                    5   membership.
#   [OK]          live                    6   clear and iter.
#   [OK]          live                    7   clear and find.
#   [OK]          live                    8   open after clear.
#   [OK]          live                    9   files on disk after clear.
#   [OK]          live                   10   duplicate entries.
#   [OK]          on restart              0   find (present).
#   [OK]          on restart              1   find (absent).
#   [OK]          on restart              2   replace.
#   [OK]          on restart              3   membership.
#   [OK]          on restart              4   fail restart readonly fresh.
#   [OK]          on restart              5   in sync.
#   [OK]          on restart              6   duplicate entries in log.
#   [OK]          readonly                0   add.
#   [OK]          readonly                1   read after clear.
#   [OK]          readonly                2   snapshot isolation.
#   [OK]          readonly                3   Readonly v after replace.
#   [OK]          readonly                4   add not allowed.
#   [OK]          readonly                5   fail read if no flush.
#   [OK]          readonly                6   readonly v is in sync.
#   [OK]          readonly                7   read values added in log before c...
#   [OK]          readonly                8   read values added in index before...
#   [OK]          readonly                9   read old values in log after clear.
#   [OK]          readonly               10   read old values in index after cl...
#   [OK]          readonly               11   readonly open after clear.
#   [OK]          readonly               12   race between sync and merge.
#   [OK]          readonly               13   race between sync and clear.
#   [OK]          readonly               14   race between sync and end of merge.
#   [OK]          readonly               15   reload log and log async.
#   [OK]          close                   0   close and reopen.
#   [OK]          close                   1   find (absent).
#   [OK]          close                   2   replace.
#   [OK]          close                   3   open two instances, close one.
#   [OK]          close                   4   close and reopen on readonly.
#   [OK]          close                   5   non-close operations fail after c...
#   [OK]          close                   6   double close.
#   [OK]          close                   7   double restart.
#   [OK]          close                   8   aborted merge.
#   [OK]          filter                  0   filter none.
#   [OK]          filter                  1   filter all.
#   [OK]          filter                  2   filter one.
#   [OK]          filter                  3   clone then filter.
#   [OK]          filter                  4   filter then clone.
#   [OK]          filter                  5   empty after filter+fresh.
#   [OK]          flush_callback          0   close.
#   [OK]          flush_callback          1   flush.
#   [OK]          flush_callback          2   replace.
#   [OK]          throttle                0   force merge.
#   [OK]          throttle                1   implicit merge.
# 
# Full test results in `~/.opam/5.4/.opam-switch/build/index.1.3.1/_build/default/test/unix/_build/_tests/index.unix'.
# Test Successful in 1.007s. 70 tests run.



<><> Error report <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
+- The following actions failed
| - build index 1.3.1
+- 
+- The following changes have been performed
| - remove    index              1.3.1
| - downgrade cmdliner           1.3.0 to 1.0.4
| - downgrade fmt                0.11.0 to 0.9.0
| - downgrade logs               0.10.0 to 0.7.0
| - downgrade uutf               1.0.4 to 1.0.3
| - recompile jsonm              1.0.2
| - recompile ppx_repr           0.8.0
| - recompile repr               0.8.0
| - install   afl-persistent     1.4
| - install   alcotest           1.5.0
| - install   astring            0.8.5
| - install   base-bytes         base
| - install   crowbar            0.2
| - install   ocaml-syntax-shims 1.0.0
| - install   ocplib-endian      1.2
| - install   re                 1.14.0
+- 

<><> 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 5.4.0+afl ocaml-variants.5.4.0+options ocaml-option-afl
# To update the current shell environment, run: eval $(opam env)

The former state can be restored with:
    /usr/bin/opam switch import "/home/opam/.opam/5.4/.opam-switch/backup/state-20251211140243.export"
Or you can retry to install your package selection with:
    /usr/bin/opam install --restore
2025-12-11 14:03.01 ---> saved as "eaa912a88decd3ff99b85904d3f36d75c2d03e26cd57b21ddcfa6ce34c28bd7a"

/home/opam: (run (shell  "opam reinstall --with-test --verbose index.1.3.1;\
                        \n        res=$?;\
                        \n        test \"$res\" != 31 && exit \"$res\";\
                        \n        export OPAMCLI=2.0;\
                        \n        build_dir=$(opam var prefix)/.opam-switch/build;\
                        \n        failed=$(ls \"$build_dir\");\
                        \n        partial_fails=\"\";\
                        \n        for pkg in $failed; do\
                        \n          if opam show -f x-ci-accept-failures: \"$pkg\" | grep -qF \"\\\"debian-13\\\"\"; then\
                        \n            echo \"A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\";\
                        \n          fi;\
                        \n          test \"$pkg\" != 'index.1.3.1' && partial_fails=\"$partial_fails $pkg\";\
                        \n        done;\
                        \n        test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
                        \n        exit 1"))
index.1.3.1 is not installed. Install it? [Y/n] y
The following actions will be performed:
=== install 1 package
  - install index 1.3.1

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
Processing  1/3: [index.1.3.1: extract]
-> retrieved index.1.3.1  (cached)
Processing  2/3: [index: dune build]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "dune" "build" "-p" "index" "-j" "255" (CWD=/home/opam/.opam/5.4/.opam-switch/build/index.1.3.1)
- (cd _build/default && /home/opam/.opam/5.4/bin/ocamlc.opt -w -40 -g -bin-annot -bin-annot-occurrences -I src/unix/.index_unix.objs/byte -I /home/opam/.opam/5.4/lib/fmt -I /home/opam/.opam/5.4/lib/logs -I /home/opam/.opam/5.4/lib/mtime -I /home/opam/.opam/5.4/lib/mtime/os -I /home/opam/.opam/5.4/lib/ocaml/threads -I /home/opam/.opam/5.4/lib/ocaml/unix -I /home/opam/.opam/5.4/lib/semaphore-compat -I src/.index.objs/byte -cmi-file src/unix/.index_unix.objs/byte/index_unix.cmi -no-alias-deps -open Index_unix__ -o src/unix/.index_unix.objs/byte/index_unix.cmo -c -impl src/unix/index_unix.ml)
- File "src/unix/index_unix.ml", line 139, characters 8-48:
- 139 |         (aux [@tailcall]) (Filename.dirname dir) @@ fun () ->
-               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 51 [wrong-tailcall-expectation]: expected tailcall
- (cd _build/default && /home/opam/.opam/5.4/bin/ocamlc.opt -w -40 -g -bin-annot -bin-annot-occurrences -I src/.index.objs/byte -I /home/opam/.opam/5.4/lib/cmdliner -I /home/opam/.opam/5.4/lib/fmt -I /home/opam/.opam/5.4/lib/jsonm -I /home/opam/.opam/5.4/lib/logs -I /home/opam/.opam/5.4/lib/mtime -I /home/opam/.opam/5.4/lib/mtime/os -I /home/opam/.opam/5.4/lib/optint -I /home/opam/.opam/5.4/lib/ppx_repr -I /home/opam/.opam/5.4/lib/progress -I /home/opam/.opam/5.4/lib/progress/unix -I /home/opam/.opam/5.4/lib/repr -I /home/opam/.opam/5.4/lib/stdlib-shims -cmi-file src/.index.objs/byte/index.cmi -no-alias-deps -open Index__ -o src/.index.objs/byte/index.cmo -c -impl src/index.pp.ml)
- File "src/index.ml", line 696, characters 14-22:
- 696 |     let msg = Fmt.strf "merge { id=%d }" merge_id in
-                     ^^^^^^^^
- Alert deprecated: Fmt.strf
- use Fmt.str instead.
- (cd _build/default && /home/opam/.opam/5.4/bin/ocamlopt.opt -w -40 -g -I src/.index.objs/byte -I src/.index.objs/native -I /home/opam/.opam/5.4/lib/cmdliner -I /home/opam/.opam/5.4/lib/fmt -I /home/opam/.opam/5.4/lib/jsonm -I /home/opam/.opam/5.4/lib/logs -I /home/opam/.opam/5.4/lib/mtime -I /home/opam/.opam/5.4/lib/mtime/os -I /home/opam/.opam/5.4/lib/optint -I /home/opam/.opam/5.4/lib/ppx_repr -I /home/opam/.opam/5.4/lib/progress -I /home/opam/.opam/5.4/lib/progress/unix -I /home/opam/.opam/5.4/lib/repr -I /home/opam/.opam/5.4/lib/stdlib-shims -cmi-file src/.index.objs/byte/index.cmi -no-alias-deps -open Index__ -o src/.index.objs/native/index.cmx -c -impl src/index.pp.ml)
- File "src/index.ml", line 696, characters 14-22:
- 696 |     let msg = Fmt.strf "merge { id=%d }" merge_id in
-                     ^^^^^^^^
- Alert deprecated: Fmt.strf
- use Fmt.str instead.
Processing  2/3: [index: dune runtest]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "dune" "runtest" "-p" "index" (CWD=/home/opam/.opam/5.4/.opam-switch/build/index.1.3.1)
- Internal error, please report upstream including the contents of _build/log.
- Description:
-   ("unable to serialize exception",
-    { exn = "Failure(\"lexing: empty token\")" })
- Raised by primitive operation at Stdlib__Lexing.engine in file "lexing.ml",
-   line 65, characters 15-37
- Called from
-   Dune_rules__Cram_lexer.__ocaml_lex_eol_then_continue_or_finish_rec in file
-   "_boot/dune_rules__Cram_lexer.ml", line 480, characters 8-65
- Called from Dune_rules__Cram_lexer.__ocaml_lex_eol_then_command_or_finish_rec
-   in file "src/dune_rules/cram/cram_lexer.mll", line 78, characters 40-73
- Called from Dune_rules__Cram_lexer.block in file
-   "_boot/dune_rules__Cram_lexer.ml" (inlined), line 156, characters 3-33
- Called from Dune_rules__Cram_exec.cram_stanzas.(fun).loop in file
-   "dune_rules__Cram_exec.ml", line 74, characters 12-35
- Called from Dune_rules__Cram_exec.Make_script.Spec.action in file
-   "dune_rules__Cram_exec.ml", lines 651-653, characters 8-41
- Called from Action_ext.Make.Spec.action in file "action_ext.ml", line 34,
-   characters 16-36
- Called from Dune_engine__Action_exec.exec in file
-   "dune_engine__Action_exec.ml", line 262, characters 48-77
- Called from Dune_engine__Action_exec.exec_until_all_deps_ready.loop in file
-   "dune_engine__Action_exec.ml", line 357, characters 18-36
- Called from Dune_engine__Action_exec.exec_until_all_deps_ready in file
-   "dune_engine__Action_exec.ml", line 372, characters 55-70
- Called from Fiber__Scheduler.exec in file "fiber__Scheduler.ml", line 77,
-   characters 8-11
- Re-raised at Stdune__Exn.raise_with_backtrace in file "stdune__Exn.ml"
-   (inlined), line 39, characters 27-56
- Called from Stdune__Exn_with_backtrace.reraise in file
-   "stdune__Exn_with_backtrace.ml", line 21, characters 33-71
- Called from Fiber__Scheduler.exec in file "fiber__Scheduler.ml", line 77,
-   characters 8-11
- Re-raised at Stdune__Exn.raise_with_backtrace in file "stdune__Exn.ml"
-   (inlined), line 39, characters 27-56
- Called from Stdune__Exn_with_backtrace.reraise in file
-   "stdune__Exn_with_backtrace.ml", line 21, characters 33-71
- Called from Fiber__Scheduler.exec in file "fiber__Scheduler.ml", line 77,
-   characters 8-11
- -> required by
-    ("execute-rule",
-     { id = 7
-     ; info =
-         From_dune_file
-           { pos_fname = "<none>"
-           ; start = { pos_lnum = 1; pos_bol = 0; pos_cnum = 0 }
-           ; stop = { pos_lnum = 1; pos_bol = 0; pos_cnum = 0 }
-           }
-     })
- -> required by ("<unnamed>", ())
- -> required by
-    ("build-file", In_build_dir "default/test/cli/.cram.stat.t/cram.sh")
- -> required by ("Rule.make", ())
- -> required by
-    ("execute-rule",
-     { id = 8
-     ; info =
-         From_dune_file
-           { pos_fname = "<none>"
-           ; start = { pos_lnum = 1; pos_bol = 0; pos_cnum = 0 }
-           ; stop = { pos_lnum = 1; pos_bol = 0; pos_cnum = 0 }
-           }
-     })
- -> required by ("<unnamed>", ())
- -> required by
-    ("build-file", In_build_dir "default/test/cli/.cram.stat.t/cram.out")
- -> required by ("<unnamed>", ())
- -> required by
-    ("build-alias", { dir = In_build_dir "default/test/cli"; name = "stat" })
- -> required by ("<unnamed>", ())
- -> required by
-    ("build-alias",
-     { dir = In_build_dir "default/test/cli"; name = "runtest" })
- -> required by ("toplevel", ())
- 
- I must not crash.  Uncertainty is the mind-killer. Exceptions are the
- little-death that brings total obliteration.  I will fully express my cases. 
- Execution will pass over me and through me.  And when it has gone past, I
- will unwind the stack along its path.  Where the cases are handled there will
- be nothing.  Only I will remain.
- (cd _build/default && /home/opam/.opam/5.4/bin/ocamlc.opt -w -40 -g -bin-annot -bin-annot-occurrences -I test/cli/.generate.eobjs/byte -I src/.index.objs/byte -I src/unix/.index_unix.objs/byte -no-alias-deps -o test/cli/.generate.eobjs/byte/dune__exe__Generate.cmo -c -impl test/cli/generate.ml)
- File "_none_", line 1:
- Alert ocaml_deprecated_auto_include: 
- OCaml's lib directory layout changed in 5.0. The unix subdirectory has been
- automatically added to the search path, but you should add -I +unix to the
- command-line to silence this alert (e.g. by adding unix to the list of
- libraries in your dune file, or adding use_unix to your _tags file for
- ocamlbuild, or using -package unix for ocamlfind).
- (cd _build/default && /home/opam/.opam/5.4/bin/ocamlopt.opt -w -40 -g -I test/cli/.generate.eobjs/byte -I test/cli/.generate.eobjs/native -I src/.index.objs/byte -I src/.index.objs/native -I src/unix/.index_unix.objs/byte -I src/unix/.index_unix.objs/native -cmi-file test/cli/.generate.eobjs/byte/dune__exe__Generate.cmi -no-alias-deps -o test/cli/.generate.eobjs/native/dune__exe__Generate.cmx -c -impl test/cli/generate.ml)
- File "_none_", line 1:
- Alert ocaml_deprecated_auto_include: 
- OCaml's lib directory layout changed in 5.0. The unix subdirectory has been
- automatically added to the search path, but you should add -I +unix to the
- command-line to silence this alert (e.g. by adding unix to the list of
- libraries in your dune file, or adding use_unix to your _tags file for
- ocamlbuild, or using -package unix for ocamlfind).
- (cd _build/default && /home/opam/.opam/5.4/bin/ocamlopt.opt -w -40 -g -I test/unix/.main.eobjs/byte -I test/unix/.main.eobjs/native -I /home/opam/.opam/5.4/lib/alcotest -I /home/opam/.opam/5.4/lib/fmt -I /home/opam/.opam/5.4/lib/logs -I /home/opam/.opam/5.4/lib/ocaml/threads -I /home/opam/.opam/5.4/lib/optint -I /home/opam/.opam/5.4/lib/re -I /home/opam/.opam/5.4/lib/repr -I /home/opam/.opam/5.4/lib/semaphore-compat -I /home/opam/.opam/5.4/lib/stdlib-shims -I src/.index.objs/byte -I src/.index.objs/native -I src/unix/.index_unix.objs/byte -I src/unix/.index_unix.objs/native -cmi-file test/unix/.main.eobjs/byte/dune__exe__Common.cmi -no-alias-deps -open Dune__exe -o test/unix/.main.eobjs/native/dune__exe__Common.cmx -c -impl test/unix/common.ml)
- File "_none_", line 1:
- Alert ocaml_deprecated_auto_include: 
- OCaml's lib directory layout changed in 5.0. The unix subdirectory has been
- automatically added to the search path, but you should add -I +unix to the
- command-line to silence this alert (e.g. by adding unix to the list of
- libraries in your dune file, or adding use_unix to your _tags file for
- ocamlbuild, or using -package unix for ocamlfind).
- (cd _build/default && /home/opam/.opam/5.4/bin/ocamlopt.opt -w -40 -g -I test/unix/.main.eobjs/byte -I test/unix/.main.eobjs/native -I /home/opam/.opam/5.4/lib/alcotest -I /home/opam/.opam/5.4/lib/fmt -I /home/opam/.opam/5.4/lib/logs -I /home/opam/.opam/5.4/lib/ocaml/threads -I /home/opam/.opam/5.4/lib/optint -I /home/opam/.opam/5.4/lib/re -I /home/opam/.opam/5.4/lib/repr -I /home/opam/.opam/5.4/lib/semaphore-compat -I /home/opam/.opam/5.4/lib/stdlib-shims -I src/.index.objs/byte -I src/.index.objs/native -I src/unix/.index_unix.objs/byte -I src/unix/.index_unix.objs/native -cmi-file test/unix/.main.eobjs/byte/dune__exe__Io_array.cmi -no-alias-deps -open Dune__exe -o test/unix/.main.eobjs/native/dune__exe__Io_array.cmx -c -impl test/unix/io_array.ml)
- File "test/unix/io_array.ml", line 57, characters 7-15:
- 57 |       (Fmt.strf "Inserted key at index %i is accessible" i)
-             ^^^^^^^^
- Alert deprecated: Fmt.strf
- use Fmt.str instead.
- 
- File "test/unix/io_array.ml", line 72, characters 7-15:
- 72 |       (Fmt.strf "Inserted key at index %i is accessible" i)
-             ^^^^^^^^
- Alert deprecated: Fmt.strf
- use Fmt.str instead.
- (cd _build/default && /home/opam/.opam/5.4/bin/ocamlopt.opt -w -40 -g -I test/unix/.main.eobjs/byte -I test/unix/.main.eobjs/native -I /home/opam/.opam/5.4/lib/alcotest -I /home/opam/.opam/5.4/lib/fmt -I /home/opam/.opam/5.4/lib/logs -I /home/opam/.opam/5.4/lib/ocaml/threads -I /home/opam/.opam/5.4/lib/optint -I /home/opam/.opam/5.4/lib/re -I /home/opam/.opam/5.4/lib/repr -I /home/opam/.opam/5.4/lib/semaphore-compat -I /home/opam/.opam/5.4/lib/stdlib-shims -I src/.index.objs/byte -I src/.index.objs/native -I src/unix/.index_unix.objs/byte -I src/unix/.index_unix.objs/native -cmi-file test/unix/.main.eobjs/byte/dune__exe__Force_merge.cmi -no-alias-deps -open Dune__exe -o test/unix/.main.eobjs/native/dune__exe__Force_merge.cmx -c -impl test/unix/force_merge.ml)
- File "_none_", line 1:
- Alert ocaml_deprecated_auto_include: 
- OCaml's lib directory layout changed in 5.0. The unix subdirectory has been
- automatically added to the search path, but you should add -I +unix to the
- command-line to silence this alert (e.g. by adding unix to the list of
- libraries in your dune file, or adding use_unix to your _tags file for
- ocamlbuild, or using -package unix for ocamlfind).
- (cd _build/default && /home/opam/.opam/5.4/bin/ocamlopt.opt -w -40 -g -I test/unix/.main.eobjs/byte -I test/unix/.main.eobjs/native -I /home/opam/.opam/5.4/lib/alcotest -I /home/opam/.opam/5.4/lib/fmt -I /home/opam/.opam/5.4/lib/logs -I /home/opam/.opam/5.4/lib/ocaml/threads -I /home/opam/.opam/5.4/lib/optint -I /home/opam/.opam/5.4/lib/re -I /home/opam/.opam/5.4/lib/repr -I /home/opam/.opam/5.4/lib/semaphore-compat -I /home/opam/.opam/5.4/lib/stdlib-shims -I src/.index.objs/byte -I src/.index.objs/native -I src/unix/.index_unix.objs/byte -I src/unix/.index_unix.objs/native -cmi-file test/unix/.main.eobjs/byte/dune__exe__Main.cmi -no-alias-deps -open Dune__exe -o test/unix/.main.eobjs/native/dune__exe__Main.cmx -c -impl test/unix/main.ml)
- File "test/unix/main.ml", line 278, characters 29-37:
- 278 |       Alcotest.check_raises (Fmt.strf "Find %s key after clearing." k) Not_found
-                                    ^^^^^^^^
- Alert deprecated: Fmt.strf
- use Fmt.str instead.
- (cd _build/default/test && ./main.exe)
- Testing `index'.
- This run has ID `HCLE8U5M'.
- 
-   [OK]          cache           0   noop.
-   [OK]          cache           1   unbounded.
-   [OK]          search          0   unique.
-   [OK]          search          1   constant metric.
- 
- Full test results in `~/.opam/5.4/.opam-switch/build/index.1.3.1/_build/default/test/_build/_tests/index'.
- Test Successful in 0.003s. 4 tests run.
- (cd _build/default/test/unix && ./main.exe)
- Testing `index.unix'.
- This run has ID `K1ZIL6GP'.
- 
-   [OK]          io_array                0   fresh.
-   [OK]          io_array                1   prefetch.
-   [OK]          merge                   0   readonly in sequence.
-   [OK]          merge                   1   readonly interleaved.
-   [OK]          merge                   2   interleaved merge.
-   [OK]          merge                   3   write at the end of merge.
-   [OK]          merge                   4   write in log_async.
-   [OK]          merge                   5   find while merging.
-   [OK]          merge                   6   find in async without log.
-   [OK]          merge                   7   find in async with log.
-   [OK]          merge                   8   sync and find after log cleared.
-   [OK]          merge                   9   merge during ro sync.
-   [OK]          merge                  10   is_merging.
-   [OK]          merge                  11   clear is not blocking.
-   [OK]          merge                  12   `clear` aborts merge.
-   [OK]          merge                  13   `close ~immediately` aborts merge.
-   [OK]          live                    0   find (present).
-   [OK]          live                    1   find (absent).
-   [OK]          live                    2   replace.
-   [OK]          live                    3   fail add (key).
-   [OK]          live                    4   fail add (value).
-   [OK]          live                    5   membership.
-   [OK]          live                    6   clear and iter.
-   [OK]          live                    7   clear and find.
-   [OK]          live                    8   open after clear.
-   [OK]          live                    9   files on disk after clear.
-   [OK]          live                   10   duplicate entries.
-   [OK]          on restart              0   find (present).
-   [OK]          on restart              1   find (absent).
-   [OK]          on restart              2   replace.
-   [OK]          on restart              3   membership.
-   [OK]          on restart              4   fail restart readonly fresh.
-   [OK]          on restart              5   in sync.
-   [OK]          on restart              6   duplicate entries in log.
-   [OK]          readonly                0   add.
-   [OK]          readonly                1   read after clear.
-   [OK]          readonly                2   snapshot isolation.
-   [OK]          readonly                3   Readonly v after replace.
-   [OK]          readonly                4   add not allowed.
-   [OK]          readonly                5   fail read if no flush.
-   [OK]          readonly                6   readonly v is in sync.
-   [OK]          readonly                7   read values added in log before c...
-   [OK]          readonly                8   read values added in index before...
-   [OK]          readonly                9   read old values in log after clear.
-   [OK]          readonly               10   read old values in index after cl...
-   [OK]          readonly               11   readonly open after clear.
-   [OK]          readonly               12   race between sync and merge.
-   [OK]          readonly               13   race between sync and clear.
-   [OK]          readonly               14   race between sync and end of merge.
-   [OK]          readonly               15   reload log and log async.
-   [OK]          close                   0   close and reopen.
-   [OK]          close                   1   find (absent).
-   [OK]          close                   2   replace.
-   [OK]          close                   3   open two instances, close one.
-   [OK]          close                   4   close and reopen on readonly.
-   [OK]          close                   5   non-close operations fail after c...
-   [OK]          close                   6   double close.
-   [OK]          close                   7   double restart.
-   [OK]          close                   8   aborted merge.
-   [OK]          filter                  0   filter none.
-   [OK]          filter                  1   filter all.
-   [OK]          filter                  2   filter one.
-   [OK]          filter                  3   clone then filter.
-   [OK]          filter                  4   filter then clone.
-   [OK]          filter                  5   empty after filter+fresh.
-   [OK]          flush_callback          0   close.
-   [OK]          flush_callback          1   flush.
-   [OK]          flush_callback          2   replace.
-   [OK]          throttle                0   force merge.
-   [OK]          throttle                1   implicit merge.
- 
- Full test results in `~/.opam/5.4/.opam-switch/build/index.1.3.1/_build/default/test/unix/_build/_tests/index.unix'.
- Test Successful in 0.890s. 70 tests run.
[ERROR] The compilation of index.1.3.1 failed at "dune runtest -p index".

#=== ERROR while compiling index.1.3.1 ========================================#
# context              2.5.0 | linux/x86_64 | ocaml-base-compiler.5.4.0 | file:///home/opam/opam-repository
# path                 ~/.opam/5.4/.opam-switch/build/index.1.3.1
# command              ~/.opam/opam-init/hooks/sandbox.sh build dune runtest -p index
# exit-code            1
# env-file             ~/.opam/log/index-7-25592e.env
# output-file          ~/.opam/log/index-7-25592e.out
### output ###
# Internal error, please report upstream including the contents of _build/log.
# Description:
#   ("unable to serialize exception",
#    { exn = "Failure(\"lexing: empty token\")" })
# Raised by primitive operation at Stdlib__Lexing.engine in file "lexing.ml",
#   line 65, characters 15-37
# Called from
#   Dune_rules__Cram_lexer.__ocaml_lex_eol_then_continue_or_finish_rec in file
#   "_boot/dune_rules__Cram_lexer.ml", line 480, characters 8-65
# Called from Dune_rules__Cram_lexer.__ocaml_lex_eol_then_command_or_finish_rec
#   in file "src/dune_rules/cram/cram_lexer.mll", line 78, characters 40-73
# Called from Dune_rules__Cram_lexer.block in file
#   "_boot/dune_rules__Cram_lexer.ml" (inlined), line 156, characters 3-33
# Called from Dune_rules__Cram_exec.cram_stanzas.(fun).loop in file
#   "dune_rules__Cram_exec.ml", line 74, characters 12-35
# Called from Dune_rules__Cram_exec.Make_script.Spec.action in file
#   "dune_rules__Cram_exec.ml", lines 651-653, characters 8-41
# Called from Action_ext.Make.Spec.action in file "action_ext.ml", line 34,
#   characters 16-36
# Called from Dune_engine__Action_exec.exec in file
#   "dune_engine__Action_exec.ml", line 262, characters 48-77
# Called from Dune_engine__Action_exec.exec_until_all_deps_ready.loop in file
#   "dune_engine__Action_exec.ml", line 357, characters 18-36
# Called from Dune_engine__Action_exec.exec_until_all_deps_ready in file
#   "dune_engine__Action_exec.ml", line 372, characters 55-70
# Called from Fiber__Scheduler.exec in file "fiber__Scheduler.ml", line 77,
#   characters 8-11
# Re-raised at Stdune__Exn.raise_with_backtrace in file "stdune__Exn.ml"
#   (inlined), line 39, characters 27-56
# Called from Stdune__Exn_with_backtrace.reraise in file
#   "stdune__Exn_with_backtrace.ml", line 21, characters 33-71
# Called from Fiber__Scheduler.exec in file "fiber__Scheduler.ml", line 77,
#   characters 8-11
# Re-raised at Stdune__Exn.raise_with_backtrace in file "stdune__Exn.ml"
#   (inlined), line 39, characters 27-56
# Called from Stdune__Exn_with_backtrace.reraise in file
#   "stdune__Exn_with_backtrace.ml", line 21, characters 33-71
# Called from Fiber__Scheduler.exec in file "fiber__Scheduler.ml", line 77,
#   characters 8-11
# -> required by
#    ("execute-rule",
#     { id = 7
#     ; info =
#         From_dune_file
#           { pos_fname = "<none>"
#           ; start = { pos_lnum = 1; pos_bol = 0; pos_cnum = 0 }
#           ; stop = { pos_lnum = 1; pos_bol = 0; pos_cnum = 0 }
#           }
#     })
# -> required by ("<unnamed>", ())
# -> required by
#    ("build-file", In_build_dir "default/test/cli/.cram.stat.t/cram.sh")
# -> required by ("Rule.make", ())
# -> required by
#    ("execute-rule",
#     { id = 8
#     ; info =
#         From_dune_file
#           { pos_fname = "<none>"
#           ; start = { pos_lnum = 1; pos_bol = 0; pos_cnum = 0 }
#           ; stop = { pos_lnum = 1; pos_bol = 0; pos_cnum = 0 }
#           }
#     })
# -> required by ("<unnamed>", ())
# -> required by
#    ("build-file", In_build_dir "default/test/cli/.cram.stat.t/cram.out")
# -> required by ("<unnamed>", ())
# -> required by
#    ("build-alias", { dir = In_build_dir "default/test/cli"; name = "stat" })
# -> required by ("<unnamed>", ())
# -> required by
#    ("build-alias",
#     { dir = In_build_dir "default/test/cli"; name = "runtest" })
# -> required by ("toplevel", ())
# 
# I must not crash.  Uncertainty is the mind-killer. Exceptions are the
# little-death that brings total obliteration.  I will fully express my cases. 
# Execution will pass over me and through me.  And when it has gone past, I
# will unwind the stack along its path.  Where the cases are handled there will
# be nothing.  Only I will remain.
# (cd _build/default && /home/opam/.opam/5.4/bin/ocamlc.opt -w -40 -g -bin-annot -bin-annot-occurrences -I test/cli/.generate.eobjs/byte -I src/.index.objs/byte -I src/unix/.index_unix.objs/byte -no-alias-deps -o test/cli/.generate.eobjs/byte/dune__exe__Generate.cmo -c -impl test/cli/generate.ml)
# File "_none_", line 1:
# Alert ocaml_deprecated_auto_include: 
# OCaml's lib directory layout changed in 5.0. The unix subdirectory has been
# automatically added to the search path, but you should add -I +unix to the
# command-line to silence this alert (e.g. by adding unix to the list of
# libraries in your dune file, or adding use_unix to your _tags file for
# ocamlbuild, or using -package unix for ocamlfind).
# (cd _build/default && /home/opam/.opam/5.4/bin/ocamlopt.opt -w -40 -g -I test/cli/.generate.eobjs/byte -I test/cli/.generate.eobjs/native -I src/.index.objs/byte -I src/.index.objs/native -I src/unix/.index_unix.objs/byte -I src/unix/.index_unix.objs/native -cmi-file test/cli/.generate.eobjs/byte/dune__exe__Generate.cmi -no-alias-deps -o test/cli/.generate.eobjs/native/dune__exe__Generate.cmx -c -impl test/cli/generate.ml)
# File "_none_", line 1:
# Alert ocaml_deprecated_auto_include: 
# OCaml's lib directory layout changed in 5.0. The unix subdirectory has been
# automatically added to the search path, but you should add -I +unix to the
# command-line to silence this alert (e.g. by adding unix to the list of
# libraries in your dune file, or adding use_unix to your _tags file for
# ocamlbuild, or using -package unix for ocamlfind).
# (cd _build/default && /home/opam/.opam/5.4/bin/ocamlopt.opt -w -40 -g -I test/unix/.main.eobjs/byte -I test/unix/.main.eobjs/native -I /home/opam/.opam/5.4/lib/alcotest -I /home/opam/.opam/5.4/lib/fmt -I /home/opam/.opam/5.4/lib/logs -I /home/opam/.opam/5.4/lib/ocaml/threads -I /home/opam/.opam/5.4/lib/optint -I /home/opam/.opam/5.4/lib/re -I /home/opam/.opam/5.4/lib/repr -I /home/opam/.opam/5.4/lib/semaphore-compat -I /home/opam/.opam/5.4/lib/stdlib-shims -I src/.index.objs/byte -I src/.index.objs/native -I src/unix/.index_unix.objs/byte -I src/unix/.index_unix.objs/native -cmi-file test/unix/.main.eobjs/byte/dune__exe__Common.cmi -no-alias-deps -open Dune__exe -o test/unix/.main.eobjs/native/dune__exe__Common.cmx -c -impl test/unix/common.ml)
# File "_none_", line 1:
# Alert ocaml_deprecated_auto_include: 
# OCaml's lib directory layout changed in 5.0. The unix subdirectory has been
# automatically added to the search path, but you should add -I +unix to the
# command-line to silence this alert (e.g. by adding unix to the list of
# libraries in your dune file, or adding use_unix to your _tags file for
# ocamlbuild, or using -package unix for ocamlfind).
# (cd _build/default && /home/opam/.opam/5.4/bin/ocamlopt.opt -w -40 -g -I test/unix/.main.eobjs/byte -I test/unix/.main.eobjs/native -I /home/opam/.opam/5.4/lib/alcotest -I /home/opam/.opam/5.4/lib/fmt -I /home/opam/.opam/5.4/lib/logs -I /home/opam/.opam/5.4/lib/ocaml/threads -I /home/opam/.opam/5.4/lib/optint -I /home/opam/.opam/5.4/lib/re -I /home/opam/.opam/5.4/lib/repr -I /home/opam/.opam/5.4/lib/semaphore-compat -I /home/opam/.opam/5.4/lib/stdlib-shims -I src/.index.objs/byte -I src/.index.objs/native -I src/unix/.index_unix.objs/byte -I src/unix/.index_unix.objs/native -cmi-file test/unix/.main.eobjs/byte/dune__exe__Io_array.cmi -no-alias-deps -open Dune__exe -o test/unix/.main.eobjs/native/dune__exe__Io_array.cmx -c -impl test/unix/io_array.ml)
# File "test/unix/io_array.ml", line 57, characters 7-15:
# 57 |       (Fmt.strf "Inserted key at index %i is accessible" i)
#             ^^^^^^^^
# Alert deprecated: Fmt.strf
# use Fmt.str instead.
# 
# File "test/unix/io_array.ml", line 72, characters 7-15:
# 72 |       (Fmt.strf "Inserted key at index %i is accessible" i)
#             ^^^^^^^^
# Alert deprecated: Fmt.strf
# use Fmt.str instead.
# (cd _build/default && /home/opam/.opam/5.4/bin/ocamlopt.opt -w -40 -g -I test/unix/.main.eobjs/byte -I test/unix/.main.eobjs/native -I /home/opam/.opam/5.4/lib/alcotest -I /home/opam/.opam/5.4/lib/fmt -I /home/opam/.opam/5.4/lib/logs -I /home/opam/.opam/5.4/lib/ocaml/threads -I /home/opam/.opam/5.4/lib/optint -I /home/opam/.opam/5.4/lib/re -I /home/opam/.opam/5.4/lib/repr -I /home/opam/.opam/5.4/lib/semaphore-compat -I /home/opam/.opam/5.4/lib/stdlib-shims -I src/.index.objs/byte -I src/.index.objs/native -I src/unix/.index_unix.objs/byte -I src/unix/.index_unix.objs/native -cmi-file test/unix/.main.eobjs/byte/dune__exe__Force_merge.cmi -no-alias-deps -open Dune__exe -o test/unix/.main.eobjs/native/dune__exe__Force_merge.cmx -c -impl test/unix/force_merge.ml)
# File "_none_", line 1:
# Alert ocaml_deprecated_auto_include: 
# OCaml's lib directory layout changed in 5.0. The unix subdirectory has been
# automatically added to the search path, but you should add -I +unix to the
# command-line to silence this alert (e.g. by adding unix to the list of
# libraries in your dune file, or adding use_unix to your _tags file for
# ocamlbuild, or using -package unix for ocamlfind).
# (cd _build/default && /home/opam/.opam/5.4/bin/ocamlopt.opt -w -40 -g -I test/unix/.main.eobjs/byte -I test/unix/.main.eobjs/native -I /home/opam/.opam/5.4/lib/alcotest -I /home/opam/.opam/5.4/lib/fmt -I /home/opam/.opam/5.4/lib/logs -I /home/opam/.opam/5.4/lib/ocaml/threads -I /home/opam/.opam/5.4/lib/optint -I /home/opam/.opam/5.4/lib/re -I /home/opam/.opam/5.4/lib/repr -I /home/opam/.opam/5.4/lib/semaphore-compat -I /home/opam/.opam/5.4/lib/stdlib-shims -I src/.index.objs/byte -I src/.index.objs/native -I src/unix/.index_unix.objs/byte -I src/unix/.index_unix.objs/native -cmi-file test/unix/.main.eobjs/byte/dune__exe__Main.cmi -no-alias-deps -open Dune__exe -o test/unix/.main.eobjs/native/dune__exe__Main.cmx -c -impl test/unix/main.ml)
# File "test/unix/main.ml", line 278, characters 29-37:
# 278 |       Alcotest.check_raises (Fmt.strf "Find %s key after clearing." k) Not_found
#                                    ^^^^^^^^
# Alert deprecated: Fmt.strf
# use Fmt.str instead.
# (cd _build/default/test && ./main.exe)
# Testing `index'.
# This run has ID `HCLE8U5M'.
# 
#   [OK]          cache           0   noop.
#   [OK]          cache           1   unbounded.
#   [OK]          search          0   unique.
#   [OK]          search          1   constant metric.
# 
# Full test results in `~/.opam/5.4/.opam-switch/build/index.1.3.1/_build/default/test/_build/_tests/index'.
# Test Successful in 0.003s. 4 tests run.
# (cd _build/default/test/unix && ./main.exe)
# Testing `index.unix'.
# This run has ID `K1ZIL6GP'.
# 
#   [OK]          io_array                0   fresh.
#   [OK]          io_array                1   prefetch.
#   [OK]          merge                   0   readonly in sequence.
#   [OK]          merge                   1   readonly interleaved.
#   [OK]          merge                   2   interleaved merge.
#   [OK]          merge                   3   write at the end of merge.
#   [OK]          merge                   4   write in log_async.
#   [OK]          merge                   5   find while merging.
#   [OK]          merge                   6   find in async without log.
#   [OK]          merge                   7   find in async with log.
#   [OK]          merge                   8   sync and find after log cleared.
#   [OK]          merge                   9   merge during ro sync.
#   [OK]          merge                  10   is_merging.
#   [OK]          merge                  11   clear is not blocking.
#   [OK]          merge                  12   `clear` aborts merge.
#   [OK]          merge                  13   `close ~immediately` aborts merge.
#   [OK]          live                    0   find (present).
#   [OK]          live                    1   find (absent).
#   [OK]          live                    2   replace.
#   [OK]          live                    3   fail add (key).
#   [OK]          live                    4   fail add (value).
#   [OK]          live                    5   membership.
#   [OK]          live                    6   clear and iter.
#   [OK]          live                    7   clear and find.
#   [OK]          live                    8   open after clear.
#   [OK]          live                    9   files on disk after clear.
#   [OK]          live                   10   duplicate entries.
#   [OK]          on restart              0   find (present).
#   [OK]          on restart              1   find (absent).
#   [OK]          on restart              2   replace.
#   [OK]          on restart              3   membership.
#   [OK]          on restart              4   fail restart readonly fresh.
#   [OK]          on restart              5   in sync.
#   [OK]          on restart              6   duplicate entries in log.
#   [OK]          readonly                0   add.
#   [OK]          readonly                1   read after clear.
#   [OK]          readonly                2   snapshot isolation.
#   [OK]          readonly                3   Readonly v after replace.
#   [OK]          readonly                4   add not allowed.
#   [OK]          readonly                5   fail read if no flush.
#   [OK]          readonly                6   readonly v is in sync.
#   [OK]          readonly                7   read values added in log before c...
#   [OK]          readonly                8   read values added in index before...
#   [OK]          readonly                9   read old values in log after clear.
#   [OK]          readonly               10   read old values in index after cl...
#   [OK]          readonly               11   readonly open after clear.
#   [OK]          readonly               12   race between sync and merge.
#   [OK]          readonly               13   race between sync and clear.
#   [OK]          readonly               14   race between sync and end of merge.
#   [OK]          readonly               15   reload log and log async.
#   [OK]          close                   0   close and reopen.
#   [OK]          close                   1   find (absent).
#   [OK]          close                   2   replace.
#   [OK]          close                   3   open two instances, close one.
#   [OK]          close                   4   close and reopen on readonly.
#   [OK]          close                   5   non-close operations fail after c...
#   [OK]          close                   6   double close.
#   [OK]          close                   7   double restart.
#   [OK]          close                   8   aborted merge.
#   [OK]          filter                  0   filter none.
#   [OK]          filter                  1   filter all.
#   [OK]          filter                  2   filter one.
#   [OK]          filter                  3   clone then filter.
#   [OK]          filter                  4   filter then clone.
#   [OK]          filter                  5   empty after filter+fresh.
#   [OK]          flush_callback          0   close.
#   [OK]          flush_callback          1   flush.
#   [OK]          flush_callback          2   replace.
#   [OK]          throttle                0   force merge.
#   [OK]          throttle                1   implicit merge.
# 
# Full test results in `~/.opam/5.4/.opam-switch/build/index.1.3.1/_build/default/test/unix/_build/_tests/index.unix'.
# Test Successful in 0.890s. 70 tests run.



<><> Error report <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
+- The following actions failed
| - build index 1.3.1
+- 
- No changes have been performed
# To update the current shell environment, run: eval $(opam env)
'opam reinstall --with-test --verbose index.1.3.1' failed.
[WARNING] OPAMCONFIRMLEVEL was ignored because CLI 2.0 was requested and it was introduced in 2.1.
[WARNING] OPAMCONFIRMLEVEL was ignored because CLI 2.0 was requested and it was introduced in 2.1.
"/usr/bin/env" "bash" "-c" "opam reinstall --with-test --verbose index.1.3.1;
        res=$?;
        test "$res" != 31 && exit "$res";
        export OPAMCLI=2.0;
        build_dir=$(opam var prefix)/.opam-switch/build;
        failed=$(ls "$build_dir");
        partial_fails="";
        for pkg in $failed; do
          if opam show -f x-ci-accept-failures: "$pkg" | grep -qF "\"debian-13\""; then
            echo "A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.";
          fi;
          test "$pkg" != 'index.1.3.1' && partial_fails="$partial_fails $pkg";
        done;
        test "${partial_fails}" != "" && echo "opam-repo-ci detected dependencies failing: ${partial_fails}";
        exit 1" failed with exit status 1
2025-12-11 14:03.15: Job failed: Failed: Build failed
2025-12-11 14:03.15: Log analysis:
2025-12-11 14:03.15: >>> 
[ERROR] The compilation of index.1.3.1 failed at "dune runtest -p index".
 (score = 20)
2025-12-11 14:03.15: >>> 
[ERROR] The compilation of index.1.3.1 failed at "dune runtest -p index".
 (score = 20)
2025-12-11 14:03.15: The compilation of index.1.3.1 failed at "dune runtest -p index".