(for PR #28222)

2025-08-21 14:13.40: New job: build lwt_log.1.1.2, using opam 2.1
                              from https://github.com/ocaml/opam-repository.git#refs/pull/28222/head (a14b2680809606d7e55ae7ed410b73438cb77bd0)
                              on debian-12-ocaml-4.14/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/28222/head" && git reset --hard a14b2680
git fetch origin master
git merge --no-edit 4bae7ec4df49df4454ea492c8d7a1196aeae04e0
cat > ../Dockerfile <<'END-OF-DOCKERFILE'
FROM ocaml/opam:debian-12-ocaml-4.14@sha256:30169b3ce5a84172c049cfc64621b66e9a02a7b0431076f872278354c85107fe
USER 1000:1000
WORKDIR /home/opam
RUN sudo ln -f /usr/bin/opam-2.1 /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 lwt_log.1.1.2 1.1.2
RUN opam reinstall lwt_log.1.1.2; \
    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-12\""; then \
    echo "A package failed and has been disabled for CI using the 'x-ci-accept-failures' field."; \
    fi; \
    test "$pkg" != 'lwt_log.1.1.2' && 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-08-21 14:13.40: Using cache hint "ocaml/opam:debian-12-ocaml-4.14@sha256:30169b3ce5a84172c049cfc64621b66e9a02a7b0431076f872278354c85107fe-lwt_log.1.1.2-a14b2680809606d7e55ae7ed410b73438cb77bd0"
2025-08-21 14:13.40: Using OBuilder spec:
((from ocaml/opam:debian-12-ocaml-4.14@sha256:30169b3ce5a84172c049cfc64621b66e9a02a7b0431076f872278354c85107fe)
 (user (uid 1000) (gid 1000))
 (workdir /home/opam)
 (run (shell "sudo ln -f /usr/bin/opam-2.1 /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 lwt_log.1.1.2 1.1.2"))
 (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
      (network host)
      (shell  "opam reinstall lwt_log.1.1.2;\
             \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-12\\\"\"; then\
             \n            echo \"A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\";\
             \n          fi;\
             \n          test \"$pkg\" != 'lwt_log.1.1.2' && partial_fails=\"$partial_fails $pkg\";\
             \n        done;\
             \n        test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
             \n        exit 1"))
)

2025-08-21 14:13.40: Waiting for resource in pool OCluster
2025-08-21 14:24.03: Waiting for worker…
2025-08-21 14:25.25: Got resource from pool OCluster
Building on toxis.caelum.ci.dev
All commits already cached
HEAD is now at 4bae7ec4df Merge pull request #28375 from jmid/opam-compiler-re-bounds
Merge made by the 'ort' strategy.
Auto packing the repository in the background for optimum performance.
See "git help gc" for manual housekeeping.
warning: The last gc run reported the following. Please correct the root cause
and remove .git/gc.log
Automatic cleanup will not be performed until the file is removed.

warning: There are too many unreachable loose objects; run 'git prune' to remove them.

 packages/curl_lwt/curl_lwt.0.10.0/opam            |  2 +-
 packages/lwt/lwt.6.0.0~alpha01/opam               | 69 +++++++++++++++++++++++
 packages/lwt_direct/lwt_direct.6.0.0~alpha01/opam | 44 +++++++++++++++
 packages/lwt_glib/lwt_glib.1.0.1/opam             |  2 +-
 packages/lwt_glib/lwt_glib.1.1.0/opam             |  2 +-
 packages/lwt_glib/lwt_glib.1.1.1/opam             |  2 +-
 packages/lwt_log/lwt_log.1.1.0/opam               |  2 +-
 packages/lwt_log/lwt_log.1.1.1/opam               |  2 +-
 packages/lwt_log/lwt_log.1.1.2/opam               |  2 +-
 packages/ocurl/ocurl.0.7.6/opam                   |  1 +
 packages/ocurl/ocurl.0.7.7/opam                   |  1 +
 packages/ocurl/ocurl.0.7.8/opam                   |  1 +
 packages/ocurl/ocurl.0.7.9/opam                   |  1 +
 packages/ocurl/ocurl.0.8.1/opam                   |  1 +
 packages/ocurl/ocurl.0.8.2/opam                   |  1 +
 packages/ocurl/ocurl.0.9.0/opam                   |  1 +
 packages/ocurl/ocurl.0.9.1/opam                   |  1 +
 packages/ocurl/ocurl.0.9.2/opam                   |  1 +
 18 files changed, 129 insertions(+), 7 deletions(-)
 create mode 100644 packages/lwt/lwt.6.0.0~alpha01/opam
 create mode 100644 packages/lwt_direct/lwt_direct.6.0.0~alpha01/opam

(from ocaml/opam:debian-12-ocaml-4.14@sha256:30169b3ce5a84172c049cfc64621b66e9a02a7b0431076f872278354c85107fe)
2025-08-21 14:25.36 ---> using "537aca729d05de45d9ac09e3b93ccdc5b8c76937ce3b719ce3df0f2d2da0c7bf" from cache

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

/: (workdir /home/opam)

/home/opam: (run (shell "sudo ln -f /usr/bin/opam-2.1 /usr/bin/opam"))
2025-08-21 14:25.36 ---> using "8f0deb63664fce7ea9ebdfe86467dd2bbc35b6e345cc8eac453b6c8ff2a314fa" 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 development version of opam requires an update to the layout of /home/opam/.opam from version 2.0 to version 2.1, which can't be reverted.
You may want to back it up before going further.

Continue? [Y/n] y
Format upgrade done.

<><> Updating repositories ><><><><><><><><><><><><><><><><><><><><><><><><><><>
[default] Initialised
2025-08-21 14:26.49 ---> saved as "3797d061727bb399ecae451bcdf264f86c2a3636179567deba956790281bbc89"

/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.1.6 (263921263e1f745613e2882745114b7b08f3608b) 
# self-upgrade         no
# system               arch=x86_64 os=linux os-distribution=debian os-version=12
# solver               builtin-0install
# install-criteria     
# upgrade-criteria     
# jobs                 71
# repositories         1 (version-controlled)
# pinned               1 (version)
# current-switch       4.14
# ocaml:native         true
# ocaml:native-tools   true
# ocaml:native-dynlink true
# ocaml:stubsdir       /home/opam/.opam/4.14/lib/ocaml/stublibs:/home/opam/.opam/4.14/lib/ocaml
# ocaml:preinstalled   false
# ocaml:compiler       4.14.2
2025-08-21 14:26.51 ---> saved as "67752739b6f025e4815779963980afecaaf347cf9faa7b51770840361c6313bc"

/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-08-21 14:27.02 ---> saved as "90b229722991b7c2dbb934d888960ae17c86d195949b1b6de62f64d140852f5a"

/home/opam: (copy (src .) (dst opam-repository/))
2025-08-21 14:27.13 ---> saved as "82156eb0b1f21a910c1931a17acfe12221ab38b035002c661ef20f379aa91400"

/home/opam: (run (shell "opam repository set-url --strict default opam-repository/"))
[default] Initialised
2025-08-21 14:27.26 ---> saved as "4513606262a7cbb1454393f0f6128fec99ad3e7b07710a826ec3b10466362e54"

/home/opam: (run (network host)
                 (shell "opam update --depexts || true"))
+ /usr/bin/sudo "apt-get" "update"
- Hit:1 http://deb.debian.org/debian bookworm InRelease
- Get:2 http://deb.debian.org/debian bookworm-updates InRelease [55.4 kB]
- Get:3 http://deb.debian.org/debian-security bookworm-security InRelease [48.0 kB]
- Get:4 http://deb.debian.org/debian-security bookworm-security/main amd64 Packages [274 kB]
- Fetched 378 kB in 0s (1146 kB/s)
- Reading package lists...
- 
2025-08-21 14:27.28 ---> saved as "5c5fbf0b0f0aa09ebd7a16145ea6e198b4f9bc34711a4539e45da44715d787f9"

/home/opam: (run (shell "opam pin add -k version -yn lwt_log.1.1.2 1.1.2"))
lwt_log is now pinned to version 1.1.2
2025-08-21 14:27.29 ---> saved as "2398eac8c7498d56af4c5da2ef5c02d9dd03cb650f7be2625134350d45cd5c81"

/home/opam: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
                 (network host)
                 (shell  "opam reinstall lwt_log.1.1.2;\
                        \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-12\\\"\"; then\
                        \n            echo \"A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\";\
                        \n          fi;\
                        \n          test \"$pkg\" != 'lwt_log.1.1.2' && partial_fails=\"$partial_fails $pkg\";\
                        \n        done;\
                        \n        test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
                        \n        exit 1"))
lwt_log.1.1.2 is not installed. Install it? [Y/n] y
The following actions will be performed:
  - install ocamlfind         1.9.8         [required by base-bytes]
  - install dune              3.20.0        [required by lwt_log]
  - install base-bytes        base          [required by ocplib-endian]
  - install domain_shims      0.1.0         [required by lwt]
  - install csexp             1.5.2         [required by dune-configurator]
  - install cppo              1.8.0         [required by lwt]
  - install dune-configurator 3.20.0        [required by lwt]
  - install ocplib-endian     1.2           [required by lwt]
  - install lwt               6.0.0~alpha01 [required by lwt_log]
  - install lwt_log           1.1.2*
===== 10 to install =====

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved cppo.1.8.0  (cached)
-> retrieved csexp.1.5.2  (cached)
-> retrieved domain_shims.0.1.0  (cached)
-> retrieved dune.3.20.0  (cached)
-> retrieved dune-configurator.3.20.0  (cached)
-> retrieved lwt.6.0.0~alpha01  (cached)
-> retrieved lwt_log.1.1.2  (cached)
-> retrieved ocamlfind.1.9.8  (cached)
-> retrieved ocplib-endian.1.2  (cached)
-> installed ocamlfind.1.9.8
-> installed base-bytes.base
-> installed dune.3.20.0
-> installed domain_shims.0.1.0
-> installed csexp.1.5.2
-> installed cppo.1.8.0
-> installed ocplib-endian.1.2
-> installed dune-configurator.3.20.0
-> installed lwt.6.0.0~alpha01
[ERROR] The compilation of lwt_log.1.1.2 failed at "dune build -p lwt_log -j 71".

#=== ERROR while compiling lwt_log.1.1.2 ======================================#
# context              2.1.6 | linux/x86_64 | ocaml-base-compiler.4.14.2 | pinned(https://github.com/ocsigen/lwt_log/archive/1.1.2.tar.gz)
# path                 ~/.opam/4.14/.opam-switch/build/lwt_log.1.1.2
# command              ~/.opam/opam-init/hooks/sandbox.sh build dune build -p lwt_log -j 71
# exit-code            1
# env-file             ~/.opam/log/lwt_log-7-f05635.env
# output-file          ~/.opam/log/lwt_log-7-f05635.out
### output ###
# (cd _build/default && /home/opam/.opam/4.14/bin/ocamlc.opt -w -40 -w +A -g -bin-annot -I src/unix/.lwt_log.objs/byte -I /home/opam/.opam/4.14/lib/bytes -I /home/opam/.opam/4.14/lib/domain_shims -I /home/opam/.opam/4.14/lib/lwt -I /home/opam/.opam/4.14/lib/lwt/unix -I /home/opam/.opam/4.14/lib/ocaml/threads -I /home/opam/.opam/4.14/lib/ocplib-endian -I /home/opam/.opam/4.14/lib/ocplib-endian/bigstring -I src/core/.lwt_log_core.objs/byte -intf-suffix .ml -no-alias-deps -o src/unix/.lwt_log.objs/byte/lwt_daemon.cmo -c -impl src/unix/lwt_daemon.ml)
# File "src/unix/lwt_daemon.ml", line 64, characters 49-68:
# 64 |     Lwt_sequence.iter_node_l Lwt_sequence.remove Lwt_main.exit_hooks [@ocaml.warning "-3"];
#                                                       ^^^^^^^^^^^^^^^^^^^
# Error: Unbound value Lwt_main.exit_hooks
# (cd _build/default && /home/opam/.opam/4.14/bin/ocamlopt.opt -w -40 -w +A -g -I src/unix/.lwt_log.objs/byte -I src/unix/.lwt_log.objs/native -I /home/opam/.opam/4.14/lib/bytes -I /home/opam/.opam/4.14/lib/domain_shims -I /home/opam/.opam/4.14/lib/lwt -I /home/opam/.opam/4.14/lib/lwt/unix -I /home/opam/.opam/4.14/lib/ocaml/threads -I /home/opam/.opam/4.14/lib/ocplib-endian -I /home/opam/.opam/4.14/lib/ocplib-endian/bigstring -I src/core/.lwt_log_core.objs/byte -I src/core/.lwt_log_core.objs/native -intf-suffix .ml -no-alias-deps -o src/unix/.lwt_log.objs/native/lwt_daemon.cmx -c -impl src/unix/lwt_daemon.ml)
# File "src/unix/lwt_daemon.ml", line 64, characters 49-68:
# 64 |     Lwt_sequence.iter_node_l Lwt_sequence.remove Lwt_main.exit_hooks [@ocaml.warning "-3"];
#                                                       ^^^^^^^^^^^^^^^^^^^
# Error: Unbound value Lwt_main.exit_hooks



<><> Error report <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
+- The following actions failed
| - build lwt_log 1.1.2
+- 
+- The following changes have been performed
| - install base-bytes        base
| - install cppo              1.8.0
| - install csexp             1.5.2
| - install domain_shims      0.1.0
| - install dune              3.20.0
| - install dune-configurator 3.20.0
| - install lwt               6.0.0~alpha01
| - install ocamlfind         1.9.8
| - install ocplib-endian     1.2
+- 
# Run eval $(opam env) to update the current shell environment

The former state can be restored with:
    /usr/bin/opam switch import "/home/opam/.opam/4.14/.opam-switch/backup/state-20250821142730.export"
[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 lwt_log.1.1.2;
        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-12\""; then
            echo "A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.";
          fi;
          test "$pkg" != 'lwt_log.1.1.2' && 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-08-21 14:28.32: Job failed: Failed: Build failed
2025-08-21 14:28.32: Log analysis:
2025-08-21 14:28.32: >>> 
[ERROR] The compilation of lwt_log.1.1.2 failed at "dune build -p lwt_log -j 71".
 (score = 20)
2025-08-21 14:28.32: >>> 
# Error: Unbound value Lwt_main.exit_hooks
 (score = 48)
2025-08-21 14:28.32: >>> 
# Error: Unbound value Lwt_main.exit_hooks
 (score = 48)
2025-08-21 14:28.32: Unbound value Lwt_main.exit_hooks