ocurrent / obuilder

Experimental "docker build" alternative using btrfs/zfs snapshots
Apache License 2.0
60 stars 17 forks source link

CI failures on opam-repository release 0.6.0 #179

Open benmandrew opened 9 months ago

benmandrew commented 9 months ago

Failures are not seen in production or in our own CI.

PR: https://github.com/ocaml/opam-repository/pull/25147

Logs: https://opam.ci.ocaml.org/github/ocaml/opam-repository/commit/17d427351aedb72675ff938f7e099d6f62999d93

Relevant sections of the logs are repeated below in case the above link dies.

The following error occurs on variants: opam-2.0-ocaml-4.14, opam-2.0-ocaml-5.1, opam-2.1-ocaml-4.14, opam-2.1-ocaml-5.1, which are based on Debian 11.

  [OK]          spec                  0   Sexp.
  [OK]          spec                  1   Cache ID.
  [OK]          spec                  2   Docker Windows.
  [OK]          spec                  3   Docker UNIX.
  [OK]          tar_transfer          0   Long filename.
  [FAIL]        manifest              0   Copy using manifest.bash.
  [OK]          manifest              1   Copy using Manifest.
  [OK]          process               0   Execute a process.
  [OK]          process               1   Read stdout of a process.
  [OK]          build                 0   Simple.
  [OK]          build                 1   Prune.
  [OK]          build                 2   Concurrent.
  [OK]          build                 3   Concurrent failure.
  [OK]          build                 4   Concurrent failure 2.
  [OK]          build                 5   Cancel.
  [OK]          build                 6   Cancel 2.
  [OK]          build                 7   Cancel 3.
  [OK]          build                 8   Cancel 4.
  [OK]          build                 9   Cancel 5.
  [OK]          build                10   Delete.
  [OK]          secrets               0   Simple.
  [OK]          secrets               1   No secret provided.

┌──────────────────────────────────────────────────────────────────────────────┐
│ [FAIL]        manifest              0   Copy using manifest.bash.            │
└──────────────────────────────────────────────────────────────────────────────┘
test.exe: [INFO] Exec "which" "bash"
test.exe: [INFO] Exec "/usr/bin/bash" "--login" "-c" "exec ./manifest.bash "/opam-tmp/build_3d0f6e_dune/test-copy-bash-fb2533" "/" 0  1 'file'"
ASSERT File
test.exe: [INFO] Exec "which" "bash"
test.exe: [INFO] Exec "/usr/bin/bash" "--login" "-c" "exec ./manifest.bash "/opam-tmp/build_3d0f6e_dune/test-copy-bash-fb2533" "/" 0  1 './file'"
ASSERT File relative
test.exe: [INFO] Exec "which" "bash"
test.exe: [INFO] Exec "/usr/bin/bash" "--login" "-c" "exec ./manifest.bash "/opam-tmp/build_3d0f6e_dune/test-copy-bash-fb2533" "/" 0  1 '/file'"
ASSERT File absolute
test.exe: [INFO] Exec "which" "bash"
test.exe: [INFO] Exec "/usr/bin/bash" "--login" "-c" "exec ./manifest.bash "/opam-tmp/build_3d0f6e_dune/test-copy-bash-fb2533" "/" 0  1 'file2'"
ASSERT Missing
test.exe: [INFO] Exec "which" "bash"
test.exe: [INFO] Exec "/usr/bin/bash" "--login" "-c" "exec ./manifest.bash "/opam-tmp/build_3d0f6e_dune/test-copy-bash-fb2533" "/" 0  1 'file/file2'"
ASSERT Not dir
test.exe: [INFO] Exec "which" "bash"
test.exe: [INFO] Exec "/usr/bin/bash" "--login" "-c" "exec ./manifest.bash "/opam-tmp/build_3d0f6e_dune/test-copy-bash-fb2533" "/" 0  1 '../file'"
ASSERT Parent
test.exe: [INFO] Exec "which" "bash"
test.exe: [INFO] Exec "/usr/bin/bash" "--login" "-c" "exec ./manifest.bash "/opam-tmp/build_3d0f6e_dune/test-copy-bash-fb2533" "/" 0  1 'link'"
ASSERT Link
File "test/test.ml", line 682, character 2:
FAIL Link

   Expected: `Ok (Symlink(link /root))'
   Received: `Error Source path "link" not found'

Raised at Alcotest_engine__Test.check in file "src/alcotest-engine/test.ml", line 200, characters 4-261
Called from Dune__exe__Test.test_copy.(fun) in file "test/test.ml", line 682, characters 2-69
Called from Lwt.Sequential_composition.bind.create_result_promise_and_callback_if_deferred.callback in file "src/core/lwt.ml", line 1844, characters 16-19

The following error occurs on the ppc64-ocaml-5.1 variant.

  [OK]          spec                  0   Sexp.
  [OK]          spec                  1   Cache ID.
  [OK]          spec                  2   Docker Windows.
  [OK]          spec                  3   Docker UNIX.
  [OK]          tar_transfer          0   Long filename.
  [OK]          manifest              0   Copy using manifest.bash.
  [OK]          manifest              1   Copy using Manifest.
  [OK]          process               0   Execute a process.
  [OK]          process               1   Read stdout of a process.
  [OK]          build                 0   Simple.
  [OK]          build                 1   Prune.
  [OK]          build                 2   Concurrent.
  [OK]          build                 3   Concurrent failure.
  [OK]          build                 4   Concurrent failure 2.
  [OK]          build                 5   Cancel.
  [OK]          build                 6   Cancel 2.
  [OK]          build                 7   Cancel 3.
  [OK]          build                 8   Cancel 4.
  [OK]          build                 9   Cancel 5.
  [OK]          build                10   Delete.
  [FAIL]        secrets               0   Simple.
  [OK]          secrets               1   No secret provided.

┌──────────────────────────────────────────────────────────────────────────────┐
│ [FAIL]        secrets               0   Simple.                              │
└──────────────────────────────────────────────────────────────────────────────┘
test.exe: [INFO] b: "(from base)"
test.exe: [INFO] Base image not present; importing "base"…
test.exe: [INFO] Exec "sudo" "--" "mkdir" "-m" "755" "--" "/opam-tmp/build_1e6845_dune/mock-store-d0c0a7/cae662172fd450bb0cd710a769079c05bfc5d8e35efa6576edc7d0377afdd4a2-tmp/rootfs"
exec: [|sudo; --; mkdir; -m; 755; --;
         /opam-tmp/build_1e6845_dune/mock-store-d0c0a7/cae662172fd450bb0cd710a769079c05bfc5d8e35efa6576edc7d0377afdd4a2-tmp/rootfs|]
test.exe: [INFO] Exec "docker" "create" "--" "base"
exec: [|docker; create; --; base|]
test.exe: [INFO] Exec "docker" "export" "--" "base-11"
exec: [|docker; export; --; base-11|]
test.exe: [INFO] Exec "sudo" "--" "tar" "-C" "/opam-tmp/build_1e6845_dune/mock-store-0c0a7/cae662172fd450bb0cd710a769079c05bfc5d8e35efa6576edc7d0377afdd4a2-tmp/rootfs" "-xf" "-"
exec: [|sudo; --; tar; -C;
        /opam-tmp/build_1e6845_dune/mock-store-d0c0a7/cae662172fd450bb0cd710a769079c05bfc5d8e35efa6576edc7d0377afdd4a2-tmp/rootfs;
        -xf; -|]
test.exe: [INFO] Exec "docker" "rm" "--force" "--" "base-11"
exec: [|docker; rm; --force; --; base-11|]
docker rm --force "base-11"
test.exe: [INFO] Exec "docker" "image" "inspect" "--format" "{{range .Config.Env}}{{print . \x00"}}{{end}}" "--" "base"
exec: [|docker; image; inspect; --format;
        {{range .Config.Env}}{{print . "\x00"}}{{end}}; --; base|]
test.exe: [INFO] b: "---> saved as \"cae662172fd450bb0cd710a769079c05bfc5d8e35efa6576edc7d0377afdd4a2\""
test.exe: [INFO] b: "/: (run (secrets (test (target /testsecret)) (test2 (target /run/secrets/test2)))\n        (shell Append))"
test.exe: [INFO] b: "Append\n"
test.exe: [INFO] b: "---> saved as \"c8b43683cf1c63bfbab4cb0a12569ecc2cc91168b39c429b61be5616bd97acd6\""
ASSERT Final result
[exception] Unix.Unix_error(Unix.ENOENT, "unlink", "/opam-tmp/build_1e6845_dune/mock-store-d0c0a7/state/db/db.sqlite-wal")
            Raised by primitive operation at unknown location