2026-02-14 19:53.58: New job: test edwintorok/lintcstubs https://github.com/edwintorok/lintcstubs.git#refs/heads/main (c627ceb3dfe689196122360ce5da1be658583f94) (freebsd-x86_64:freebsd-14.3-4.14_opam-2.5) Base: freebsd-14.3-ocaml-4.14 Opam project build To reproduce locally: git clone --recursive "https://github.com/edwintorok/lintcstubs.git" -b "main" && cd "lintcstubs" && git reset --hard c627ceb3 cat > Dockerfile <<'END-OF-DOCKERFILE' FROM freebsd-14.3-ocaml-4.14 # freebsd-14.3-4.14_opam-2.5 USER 1000:1000 ENV CLICOLOR_FORCE="1" ENV OPAMCOLOR="always" WORKDIR /src RUN sudo ln -f /usr/local/bin/opam-2.5 /usr/local/bin/opam RUN opam init --reinit -ni RUN uname -rs && opam exec -- ocaml -version && opam --version WORKDIR /src RUN sudo chown opam /src RUN cd ~/opam-repository && (git cat-file -e 66fe1c299d8a0fe922268a88a05ccf4bee097900 || git fetch origin master) && git reset -q --hard 66fe1c299d8a0fe922268a88a05ccf4bee097900 && git log --no-decorate -n1 --oneline && opam update -u COPY --chown=1000:1000 lintcstubs.opam lintcstubs-gen.opam ./ RUN opam pin add -yn lintcstubs.dev './' && \ opam pin add -yn lintcstubs-gen.dev './' RUN echo '(lang dune 3.0)' > './dune-project' ENV DEPS="angstrom.0.16.1 arg-complete.0.2.1 astring.0.8.5 base-bigarray.base base-threads.base base-unix.base batteries.3.10.0 bigstringaf.0.10.0 bos.0.2.1 camlp-streams.5.0.1 catapult.0.1.1 catapult-file.0.1.1 conf-autoconf.0.2 conf-gcc.1.0 conf-gmp.5 conf-perl.2 conf-pkg-config.4 cppo.1.8.0 cpu.2.0.0 csexp.1.5.2 cstruct.6.2.0 ctypes.0.24.0 dune.3.21.1 dune-compiledb.0.6.0 dune-configurator.3.21.1 dune-private-libs.3.21.1 dune-site.3.21.1 dyn.3.21.1 ezjsonm.1.3.0 fmt.0.11.0 fpath.0.7.3 fs-io.3.21.1 goblint.2.1.0 goblint-cil.2.0.1 hex.1.5.0 integers.0.7.0 json-data-encoding.1.0.1 jsonm.1.0.2 jsonrpc.1.25.0 lintcstubs-arity.0.5.1 logs.0.10.0 num.1.6 ocaml.4.14.2 ocaml-base-compiler.4.14.2 ocaml-compiler-libs.v0.12.4 ocaml-config.2 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocamlbuild.0.16.1 ocamlfind.1.9.8 ordering.3.21.1 parsexp.v0.16.0 pp.2.0.0 ppx_blob.0.9.0 ppx_derivers.1.2.1 ppx_deriving.6.1.1 ppx_deriving_hash.0.1.3 ppx_deriving_yojson.3.10.0 ppxlib.0.37.0 qcheck-core.0.25 rresult.0.7.0 seq.base sexplib.v0.16.0 sexplib0.v0.16.0 sha.1.15.4 stdlib-shims.0.3.0 stdune.3.21.1 stringext.1.6.0 top-closure.3.21.1 topkg.1.1.1 uri.4.4.0 uuidm.0.9.10 uutf.1.0.4 yaml.3.2.0 yojson.2.2.2 zarith.1.14" ENV CI="true" ENV OCAMLCI="true" RUN opam update --depexts && opam install --cli=2.5 --depext-only -y lintcstubs.dev lintcstubs-gen.dev $DEPS RUN opam install $DEPS COPY --chown=1000:1000 . /src RUN opam exec -- dune build @install @check @runtest && rm -rf _build END-OF-DOCKERFILE docker build . END-REPRO-BLOCK 2026-02-14 19:53.58: Using cache hint "edwintorok/lintcstubs-freebsd-14.3-ocaml-4.14-freebsd-14.3-4.14_opam-2.5-9e7a60616ebbb5b1eaa198e389dfb6f1" 2026-02-14 19:53.58: Using OBuilder spec: ((from freebsd-14.3-ocaml-4.14) (comment freebsd-14.3-4.14_opam-2.5) (user (uid 1000) (gid 1000)) (env CLICOLOR_FORCE 1) (env OPAMCOLOR always) (workdir /src) (run (shell "sudo ln -f /usr/local/bin/opam-2.5 /usr/local/bin/opam")) (run (shell "opam init --reinit -ni")) (run (shell "uname -rs && opam exec -- ocaml -version && opam --version")) (workdir /src) (run (shell "sudo chown opam /src")) (run (cache (opam-archives (target /home/opam/.opam/download-cache))) (network host) (shell "cd ~/opam-repository && (git cat-file -e 66fe1c299d8a0fe922268a88a05ccf4bee097900 || git fetch origin master) && git reset -q --hard 66fe1c299d8a0fe922268a88a05ccf4bee097900 && git log --no-decorate -n1 --oneline && opam update -u")) (copy (src lintcstubs.opam lintcstubs-gen.opam) (dst ./)) (run (network host) (shell "opam pin add -yn lintcstubs.dev './' && \ \nopam pin add -yn lintcstubs-gen.dev './'")) (run (network host) (shell "echo '(lang dune 3.0)' > './dune-project'")) (env DEPS "angstrom.0.16.1 arg-complete.0.2.1 astring.0.8.5 base-bigarray.base base-threads.base base-unix.base batteries.3.10.0 bigstringaf.0.10.0 bos.0.2.1 camlp-streams.5.0.1 catapult.0.1.1 catapult-file.0.1.1 conf-autoconf.0.2 conf-gcc.1.0 conf-gmp.5 conf-perl.2 conf-pkg-config.4 cppo.1.8.0 cpu.2.0.0 csexp.1.5.2 cstruct.6.2.0 ctypes.0.24.0 dune.3.21.1 dune-compiledb.0.6.0 dune-configurator.3.21.1 dune-private-libs.3.21.1 dune-site.3.21.1 dyn.3.21.1 ezjsonm.1.3.0 fmt.0.11.0 fpath.0.7.3 fs-io.3.21.1 goblint.2.1.0 goblint-cil.2.0.1 hex.1.5.0 integers.0.7.0 json-data-encoding.1.0.1 jsonm.1.0.2 jsonrpc.1.25.0 lintcstubs-arity.0.5.1 logs.0.10.0 num.1.6 ocaml.4.14.2 ocaml-base-compiler.4.14.2 ocaml-compiler-libs.v0.12.4 ocaml-config.2 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocamlbuild.0.16.1 ocamlfind.1.9.8 ordering.3.21.1 parsexp.v0.16.0 pp.2.0.0 ppx_blob.0.9.0 ppx_derivers.1.2.1 ppx_deriving.6.1.1 ppx_deriving_hash.0.1.3 ppx_deriving_yojson.3.10.0 ppxlib.0.37.0 qcheck-core.0.25 rresult.0.7.0 seq.base sexplib.v0.16.0 sexplib0.v0.16.0 sha.1.15.4 stdlib-shims.0.3.0 stdune.3.21.1 stringext.1.6.0 top-closure.3.21.1 topkg.1.1.1 uri.4.4.0 uuidm.0.9.10 uutf.1.0.4 yaml.3.2.0 yojson.2.2.2 zarith.1.14") (env CI true) (env OCAMLCI true) (run (cache (opam-archives (target /home/opam/.opam/download-cache))) (network host) (shell "opam update --depexts && opam install --cli=2.5 --depext-only -y lintcstubs.dev lintcstubs-gen.dev $DEPS")) (run (cache (opam-archives (target /home/opam/.opam/download-cache))) (network host) (shell "opam install $DEPS")) (copy (src .) (dst /src)) (run (shell "opam exec -- dune build @install @check @runtest && rm -rf _build")) ) 2026-02-14 19:53.58: Waiting for resource in pool OCluster 2026-02-14 19:53.58: Waiting for worker… 2026-02-14 19:53.58: Got resource from pool OCluster Building on rosemary All commits already cached HEAD is now at c627ceb Merge pull request #3 from Leonidas-from-XIV/goblint-constraint (from freebsd-14.3-ocaml-4.14) 2026-02-14 19:51.16 ---> using "7e5247e9853d1c2fb95ef9ffdfdb895ef70516f48155f08a9b10db936cb8c6c6" from cache /: (comment freebsd-14.3-4.14_opam-2.5) /: (user (uid 1000) (gid 1000)) /: (env CLICOLOR_FORCE 1) /: (env OPAMCOLOR always) /: (workdir /src) /src: (run (shell "sudo ln -f /usr/local/bin/opam-2.5 /usr/local/bin/opam")) 2026-02-14 19:51.17 ---> using "cc65ce37998b2d98fc767b9dc7c3b5c83138e1952bec339ac27a7bb4d9d920d3" from cache /src: (run (shell "opam init --reinit -ni")) No configuration file found, using built-in defaults. Checking for available remotes: rsync and local, git. - you won't be able to use mercurial repositories unless you install the hg command on your system. - you won't be able to use darcs repositories unless you install the darcs command on your system. This version of opam requires an update to the layout of /home/opam/.opam from version 2.1 to version 2.2, which can't be reverted. You may want to back it up before going further. Continue? [Y/n] y [NOTE] The 'jobs' option was reset, its value was 1 and its new value will vary according to the current number of cores on your machine. You can restore the fixed value using: opam option jobs=1 --global Format upgrade done. <><> Updating repositories ><><><><><><><><><><><><><><><><><><><><><><><><><><> [default] no changes from git+file:///home/opam/opam-repository 2026-02-14 19:51.17 ---> using "87889fea7d09081125d96054d270a07df14f9b2a5c081c0c9434b9f215ecc218" from cache /src: (run (shell "uname -rs && opam exec -- ocaml -version && opam --version")) FreeBSD 14.3-RELEASE-p3 The OCaml toplevel, version 4.14.2 2.5.0 2026-02-14 19:51.18 ---> using "4a6e16f39bb2fab11842c96050ea21902749c68aefdffcd64774b8b7640a3492" from cache /src: (workdir /src) /src: (run (shell "sudo chown opam /src")) 2026-02-14 19:51.18 ---> using "ca1b89b4fcfce73b3b6ab80b797b154eda5f870ad814c498da3e18daf8f4b36f" from cache /src: (run (cache (opam-archives (target /home/opam/.opam/download-cache))) (network host) (shell "cd ~/opam-repository && (git cat-file -e 66fe1c299d8a0fe922268a88a05ccf4bee097900 || git fetch origin master) && git reset -q --hard 66fe1c299d8a0fe922268a88a05ccf4bee097900 && git log --no-decorate -n1 --oneline && opam update -u")) From https://github.com/ocaml/opam-repository * branch master -> FETCH_HEAD 71325ac6ed..66fe1c299d master -> origin/master 66fe1c299d Merge pull request #29371 from edwintorok/release-lintcstubs-arity-0.5.0 <><> Updating package repositories ><><><><><><><><><><><><><><><><><><><><><><> [default] synchronised from git+file:///home/opam/opam-repository Everything as up-to-date as possible The following packages are not being upgraded because the new versions conflict with other installed packages: - ocaml.5.4.0 - ocaml-config.3 However, you may "opam upgrade" these packages explicitly at these versions (e.g. "opam upgrade ocaml.5.4.0"), which will ask permission to downgrade or uninstall the conflicting packages. Nothing to do. 2026-02-14 19:51.33 ---> saved as "9305f870db6cef7399f603ff9152031662e3d4a0cb0f366775a58656443a0438" /src: (copy (src lintcstubs.opam lintcstubs-gen.opam) (dst ./)) 2026-02-14 19:51.34 ---> saved as "b14d28a8469ff35011d0ef5c73cbd272db25a787f6a9237bfb3e6d57df882b80" /src: (run (network host) (shell "opam pin add -yn lintcstubs.dev './' && \ \nopam pin add -yn lintcstubs-gen.dev './'")) [lintcstubs.dev] synchronised (file:///src) lintcstubs is now pinned to file:///src (version dev) [lintcstubs-gen.dev] synchronised (file:///src) lintcstubs-gen is now pinned to file:///src (version dev) 2026-02-14 19:51.35 ---> saved as "edfd65451d801c9cc7308debd7e7e08a1cafdff4c85fe8e8286783c460c7c2cd" /src: (run (network host) (shell "echo '(lang dune 3.0)' > './dune-project'")) 2026-02-14 19:51.36 ---> saved as "8e2ab33c8b60ed68155c20dd2d13088ae53d71b3722df4716318f2692d30154a" /src: (env DEPS "angstrom.0.16.1 arg-complete.0.2.1 astring.0.8.5 base-bigarray.base base-threads.base base-unix.base batteries.3.10.0 bigstringaf.0.10.0 bos.0.2.1 camlp-streams.5.0.1 catapult.0.1.1 catapult-file.0.1.1 conf-autoconf.0.2 conf-gcc.1.0 conf-gmp.5 conf-perl.2 conf-pkg-config.4 cppo.1.8.0 cpu.2.0.0 csexp.1.5.2 cstruct.6.2.0 ctypes.0.24.0 dune.3.21.1 dune-compiledb.0.6.0 dune-configurator.3.21.1 dune-private-libs.3.21.1 dune-site.3.21.1 dyn.3.21.1 ezjsonm.1.3.0 fmt.0.11.0 fpath.0.7.3 fs-io.3.21.1 goblint.2.1.0 goblint-cil.2.0.1 hex.1.5.0 integers.0.7.0 json-data-encoding.1.0.1 jsonm.1.0.2 jsonrpc.1.25.0 lintcstubs-arity.0.5.1 logs.0.10.0 num.1.6 ocaml.4.14.2 ocaml-base-compiler.4.14.2 ocaml-compiler-libs.v0.12.4 ocaml-config.2 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocamlbuild.0.16.1 ocamlfind.1.9.8 ordering.3.21.1 parsexp.v0.16.0 pp.2.0.0 ppx_blob.0.9.0 ppx_derivers.1.2.1 ppx_deriving.6.1.1 ppx_deriving_hash.0.1.3 ppx_deriving_yojson.3.10.0 ppxlib.0.37.0 qcheck-core.0.25 rresult.0.7.0 seq.base sexplib.v0.16.0 sexplib0.v0.16.0 sha.1.15.4 stdlib-shims.0.3.0 stdune.3.21.1 stringext.1.6.0 top-closure.3.21.1 topkg.1.1.1 uri.4.4.0 uuidm.0.9.10 uutf.1.0.4 yaml.3.2.0 yojson.2.2.2 zarith.1.14") /src: (env CI true) /src: (env OCAMLCI true) /src: (run (cache (opam-archives (target /home/opam/.opam/download-cache))) (network host) (shell "opam update --depexts && opam install --cli=2.5 --depext-only -y lintcstubs.dev lintcstubs-gen.dev $DEPS")) [WARNING] Unknown update command for bsd, skipping system update <><> Synchronising pinned packages ><><><><><><><><><><><><><><><><><><><><><><> [lintcstubs-gen.dev] synchronised (file:///src) [lintcstubs.dev] synchronised (file:///src) [NOTE] Package ocaml-options-vanilla is already installed (current version is 1). [NOTE] Package ocaml-config is already installed (current version is 2). [NOTE] Package ocaml-base-compiler is already installed (current version is 4.14.2). [NOTE] Package ocaml is already installed (current version is 4.14.2). [NOTE] Package base-unix is already installed (current version is base). [NOTE] Package base-threads is already installed (current version is base). [NOTE] Package base-bigarray is already installed (current version is base). The following system packages will first need to be installed: autoconf gcc gmp <><> Handling external dependencies <><><><><><><><><><><><><><><><><><><><><><> + /usr/local/bin/sudo "pkg" "install" "-y" "autoconf" "gcc" "gmp" - Updating FreeBSD repository catalogue... - [rosemary] Fetching data.pkg: - ... - ...... - . done - Processing entries: - .. - .. - ... - . - .. done - FreeBSD repository update completed. 36700 packages processed. - Updating FreeBSD-kmods repository catalogue... - [rosemary] Fetching data.pkg: ........ done - Processing entries: .......... done - FreeBSD-kmods repository update completed. 245 packages processed. - All repositories are up to date. - New version of pkg detected; it needs to be installed first. - The following 1 package(s) will be affected (of 0 checked): - - Installed packages to be UPGRADED: - pkg: 2.4.2 -> 2.5.1 [FreeBSD] - - Number of packages to be upgraded: 1 - - The operation will free 24 MiB. - 6 MiB to be downloaded. - [rosemary] [1/1] Fetching pkg-2.5.1~3e6c778e22.pkg: ........ - .. done - Checking integrity... done (0 conflicting) - [rosemary] [1/1] Upgrading pkg from 2.4.2 to 2.5.1... - [rosemary] [1/1] Extracting pkg-2.5.1: .......... done - Updating FreeBSD repository catalogue... - FreeBSD repository is up to date. - Updating FreeBSD-kmods repository catalogue... - FreeBSD-kmods repository is up to date. - All repositories are up to date. - The following 9 package(s) will be affected (of 0 checked): - - New packages to be INSTALLED: - autoconf: 2.72_1 [FreeBSD] - autoconf-switch: 20220527 [FreeBSD] - binutils: 2.44,1 [FreeBSD] - gcc: 14_5 [FreeBSD] - gcc14: 14.2.0_4 [FreeBSD] - gmp: 6.3.0 [FreeBSD] - m4: 1.4.20,1 [FreeBSD] - mpc: 1.3.1_1 [FreeBSD] - mpfr: 4.2.2,1 [FreeBSD] - - Number of packages to be installed: 9 - - The process will require 508 MiB more space. - 109 MiB to be downloaded. - [rosemary] [1/9] Fetching m4-1.4.20,1: .......... done - [rosemary] [2/9] Fetching mpc-1.3.1_1: ....... done - [rosemary] [3/9] Fetching gcc-14_5: . done - [rosemary] [4/9] Fetching gmp-6.3.0: ........ done - [rosemary] [5/9] Fetching mpfr-4.2.2,1: .......... done - [rosemary] [6/9] Fetching binutils-2.44,1: ...... - .... done - [rosemary] [7/9] Fetching gcc14-14.2.0_4: ... - ...... - . done - [rosemary] [8/9] Fetching autoconf-switch-20220527: . done - [rosemary] [9/9] Fetching autoconf-2.72_1: .......... done - Checking integrity... done (0 conflicting) - [rosemary] [1/9] Installing autoconf-switch-20220527... - [rosemary] [1/9] Extracting autoconf-switch-20220527: .......... done - [rosemary] [2/9] Installing binutils-2.44,1... - [rosemary] [2/9] Extracting binutils-2.44,1: . - ......... done - [rosemary] [3/9] Installing gmp-6.3.0... - [rosemary] [3/9] Extracting gmp-6.3.0: .......... done - [rosemary] [4/9] Installing m4-1.4.20,1... - [rosemary] [4/9] Extracting m4-1.4.20,1: .......... done - [rosemary] [5/9] Installing autoconf-2.72_1... - [rosemary] [5/9] Extracting autoconf-2.72_1: .......... done - [rosemary] [6/9] Installing mpfr-4.2.2,1... - [rosemary] [6/9] Extracting mpfr-4.2.2,1: .......... done - [rosemary] [7/9] Installing mpc-1.3.1_1... - [rosemary] [7/9] Extracting mpc-1.3.1_1: ......... done - [rosemary] [8/9] Installing gcc14-14.2.0_4... - [rosemary] [8/9] Extracting gcc14-14.2.0_4: ......... - . done - [rosemary] [9/9] Installing gcc-14_5... - [rosemary] [9/9] Extracting gcc-14_5: ... done - ===== - Message from gcc14-14.2.0_4: - - -- - To ensure binaries built with this toolchain find appropriate versions - of the necessary run-time libraries, you may want to link using - - -Wl,-rpath=/usr/local/lib/gcc14 - - For ports leveraging USE_GCC, USES=compiler, or USES=fortran this happens - transparently. 2026-02-14 19:52.03 ---> saved as "91caa3bdc560f06f86763b2441db4dd27884fb766064d8ddcf01a30a3d018c29" /src: (run (cache (opam-archives (target /home/opam/.opam/download-cache))) (network host) (shell "opam install $DEPS")) [NOTE] Package ocaml-options-vanilla is already installed (current version is 1). [NOTE] Package ocaml-config is already installed (current version is 2). [NOTE] Package ocaml-base-compiler is already installed (current version is 4.14.2). [NOTE] Package ocaml is already installed (current version is 4.14.2). [NOTE] Package base-unix is already installed (current version is base). [NOTE] Package base-threads is already installed (current version is base). [NOTE] Package base-bigarray is already installed (current version is base). The following actions will be performed: === install 69 packages ∗ angstrom 0.16.1 ∗ arg-complete 0.2.1 ∗ astring 0.8.5 ∗ batteries 3.10.0 ∗ bigstringaf 0.10.0 ∗ bos 0.2.1 ∗ camlp-streams 5.0.1 ∗ catapult 0.1.1 ∗ catapult-file 0.1.1 ∗ conf-autoconf 0.2 ∗ conf-gcc 1.0 ∗ conf-gmp 5 ∗ conf-perl 2 ∗ conf-pkg-config 4 ∗ cppo 1.8.0 ∗ cpu 2.0.0 ∗ csexp 1.5.2 ∗ cstruct 6.2.0 ∗ ctypes 0.24.0 ∗ dune 3.21.1 ∗ dune-compiledb 0.6.0 ∗ dune-configurator 3.21.1 ∗ dune-private-libs 3.21.1 ∗ dune-site 3.21.1 ∗ dyn 3.21.1 ∗ ezjsonm 1.3.0 ∗ fmt 0.11.0 ∗ fpath 0.7.3 ∗ fs-io 3.21.1 ∗ goblint 2.1.0 ∗ goblint-cil 2.0.1 ∗ hex 1.5.0 ∗ integers 0.7.0 ∗ json-data-encoding 1.0.1 ∗ jsonm 1.0.2 ∗ jsonrpc 1.25.0 ∗ lintcstubs-arity 0.5.1 ∗ logs 0.10.0 ∗ num 1.6 ∗ ocaml-compiler-libs v0.12.4 ∗ ocaml-syntax-shims 1.0.0 ∗ ocamlbuild 0.16.1 ∗ ocamlfind 1.9.8 ∗ ordering 3.21.1 ∗ parsexp v0.16.0 ∗ pp 2.0.0 ∗ ppx_blob 0.9.0 ∗ ppx_derivers 1.2.1 ∗ ppx_deriving 6.1.1 ∗ ppx_deriving_hash 0.1.3 ∗ ppx_deriving_yojson 3.10.0 ∗ ppxlib 0.37.0 ∗ qcheck-core 0.25 ∗ rresult 0.7.0 ∗ seq base ∗ sexplib v0.16.0 ∗ sexplib0 v0.16.0 ∗ sha 1.15.4 ∗ stdlib-shims 0.3.0 ∗ stdune 3.21.1 ∗ stringext 1.6.0 ∗ top-closure 3.21.1 ∗ topkg 1.1.1 ∗ uri 4.4.0 ∗ uuidm 0.9.10 ∗ uutf 1.0.4 ∗ yaml 3.2.0 ∗ yojson 2.2.2 ∗ zarith 1.14 <><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><> ⬇ retrieved astring.0.8.5 (cached) ⬇ retrieved arg-complete.0.2.1 (cached) ⬇ retrieved angstrom.0.16.1 (cached) ⬇ retrieved bigstringaf.0.10.0 (cached) ⬇ retrieved camlp-streams.5.0.1 (cached) ⬇ retrieved bos.0.2.1 (cached) ⬇ retrieved conf-gmp.5 (cached) ∗ installed conf-gcc.1.0 ∗ installed conf-pkg-config.4 ∗ installed conf-gmp.5 ⬇ retrieved cppo.1.8.0 (cached) ⬇ retrieved batteries.3.10.0 (cached) ⬇ retrieved cpu.2.0.0 (cached) ∗ installed conf-perl.2 ⬇ retrieved csexp.1.5.2 (cached) ∗ installed conf-autoconf.0.2 ⬇ retrieved ctypes.0.24.0 (cached) ⬇ retrieved cstruct.6.2.0 (cached) ⬇ retrieved dune-compiledb.0.6.0 (cached) ⬇ retrieved ezjsonm.1.3.0 (cached) ⬇ retrieved fmt.0.11.0 (cached) ⬇ retrieved fpath.0.7.3 (cached) ⬇ retrieved catapult.0.1.1, catapult-file.0.1.1 (https://github.com/AestheticIntegration/catapult/archive/v0.1.1.tar.gz) ⬇ retrieved goblint.2.1.0 (https://github.com/goblint/analyzer/releases/download/v2.1.0/goblint-2.1.0.tbz) ⬇ retrieved dune.3.21.1, dune-configurator.3.21.1, dune-private-libs.3.21.1, dune-site.3.21.1, dyn.3.21.1, fs-io.3.21.1, ordering.3.21.1, stdune.3.21.1, top-closure.3.21.1 (cached) ⬇ retrieved integers.0.7.0 (cached) ⬇ retrieved hex.1.5.0 (cached) ⬇ retrieved goblint-cil.2.0.1 (https://github.com/goblint/cil/releases/download/2.0.1/goblint-cil-2.0.1.tbz) ⬇ retrieved jsonm.1.0.2 (cached) ⬇ retrieved json-data-encoding.1.0.1 (cached) ⬇ retrieved lintcstubs-arity.0.5.1 (cached) ⬇ retrieved logs.0.10.0 (cached) ⬇ retrieved num.1.6 (cached) ⬇ retrieved ocaml-syntax-shims.1.0.0 (cached) ⬇ retrieved ocaml-compiler-libs.v0.12.4 (cached) ⬇ retrieved ocamlbuild.0.16.1 (cached) ⬇ retrieved parsexp.v0.16.0 (cached) ⬇ retrieved ocamlfind.1.9.8 (cached) ⬇ retrieved ppx_blob.0.9.0 (cached) ⬇ retrieved pp.2.0.0 (cached) ⬇ retrieved ppx_derivers.1.2.1 (cached) ⬇ retrieved jsonrpc.1.25.0 (cached) ⬇ retrieved ppx_deriving.6.1.1 (cached) ⬇ retrieved ppx_deriving_yojson.3.10.0 (cached) ⬇ retrieved ppxlib.0.37.0 (cached) ⬇ retrieved ppx_deriving_hash.0.1.3 (https://github.com/sim642/ppx_deriving_hash/releases/download/0.1.3/ppx_deriving_hash-0.1.3.tbz) ⬇ retrieved seq.base (cached) ∗ installed seq.base ⬇ retrieved rresult.0.7.0 (cached) ⬇ retrieved sexplib.v0.16.0 (cached) ⬇ retrieved sexplib0.v0.16.0 (cached) ⬇ retrieved sha.1.15.4 (cached) ⬇ retrieved stdlib-shims.0.3.0 (cached) ⬇ retrieved stringext.1.6.0 (cached) ⬇ retrieved topkg.1.1.1 (cached) ⬇ retrieved uuidm.0.9.10 (cached) ⬇ retrieved uri.4.4.0 (cached) ⬇ retrieved uutf.1.0.4 (cached) ⬇ retrieved yaml.3.2.0 (cached) ⬇ retrieved zarith.1.14 (cached) ⬇ retrieved yojson.2.2.2 (cached) ⬇ retrieved qcheck-core.0.25 (https://github.com/c-cube/qcheck/archive/v0.25.tar.gz) ∗ installed num.1.6 ∗ installed ocamlfind.1.9.8 ∗ installed ocamlbuild.0.16.1 ∗ installed zarith.1.14 ∗ installed topkg.1.1.1 ∗ installed rresult.0.7.0 ∗ installed uuidm.0.9.10 ∗ installed uutf.1.0.4 ∗ installed fmt.0.11.0 ∗ installed astring.0.8.5 ∗ installed jsonm.1.0.2 ∗ installed logs.0.10.0 ∗ installed fpath.0.7.3 ∗ installed bos.0.2.1 ∗ installed dune.3.21.1 ∗ installed stringext.1.6.0 ∗ installed stdlib-shims.0.3.0 ∗ installed sexplib0.v0.16.0 ∗ installed qcheck-core.0.25 ∗ installed ppx_derivers.1.2.1 ∗ installed pp.2.0.0 ∗ installed ocaml-syntax-shims.1.0.0 ∗ installed ocaml-compiler-libs.v0.12.4 ∗ installed lintcstubs-arity.0.5.1 ∗ installed cstruct.6.2.0 ∗ installed csexp.1.5.2 ∗ installed fs-io.3.21.1 ∗ installed hex.1.5.0 ∗ installed ordering.3.21.1 ∗ installed ezjsonm.1.3.0 ∗ installed parsexp.v0.16.0 ∗ installed dune-configurator.3.21.1 ∗ installed integers.0.7.0 ∗ installed sha.1.15.4 ∗ installed top-closure.3.21.1 ∗ installed yojson.2.2.2 ∗ installed cppo.1.8.0 ∗ installed catapult.0.1.1 ∗ installed camlp-streams.5.0.1 ∗ installed bigstringaf.0.10.0 ∗ installed arg-complete.0.2.1 ∗ installed catapult-file.0.1.1 ∗ installed jsonrpc.1.25.0 ∗ installed dyn.3.21.1 ∗ installed angstrom.0.16.1 ∗ installed sexplib.v0.16.0 ∗ installed dune-compiledb.0.6.0 ∗ installed cpu.2.0.0 ∗ installed uri.4.4.0 ∗ installed ctypes.0.24.0 ∗ installed batteries.3.10.0 ∗ installed json-data-encoding.1.0.1 ∗ installed stdune.3.21.1 ∗ installed yaml.3.2.0 ∗ installed dune-private-libs.3.21.1 ∗ installed dune-site.3.21.1 ∗ installed ppxlib.0.37.0 ∗ installed ppx_blob.0.9.0 ∗ installed ppx_deriving.6.1.1 ∗ installed ppx_deriving_hash.0.1.3 ∗ installed ppx_deriving_yojson.3.10.0 ∗ installed goblint-cil.2.0.1 ∗ installed goblint.2.1.0 Done. 2026-02-14 19:53.33 ---> saved as "d3bc0d1a95e7c56e3b00b637567bdf1bfbda8e03c1fb8e927f2042f034e4384b" /src: (copy (src .) (dst /src)) 2026-02-14 19:53.33 ---> saved as "ed4ca88f000af5f2052856c88ba8961f936a8388d07bb72ce7cadf9c5c2b5ca8" /src: (run (shell "opam exec -- dune build @install @check @runtest && rm -rf _build")) (cd _build/default/model && /usr/bin/cc -O2 -fno-strict-aliasing -fwrapv -pthread -fPIC -D_FILE_OFFSET_BITS=64 -Wall -fdiagnostics-color=always -Wno-attributes -g -I /home/opam/.opam/4.14.2/lib/ocaml -I include -o ocaml_runtime.model.o -c ocaml_runtime.model.c) ocaml_runtime.model.c:157:21: warning: variable 'val' is uninitialized when used here [-Wuninitialized] 157 | { value val; return val; } | ^~~ ocaml_runtime.model.c:157:12: note: initialize the variable 'val' to silence this warning 157 | { value val; return val; } | ^ | = 0 ocaml_runtime.model.c:213:21: warning: unused variable 'ret' [-Wunused-variable] 213 | uintnat ret = ops->deserialize(dst); | ^~~ ocaml_runtime.model.c:266:40: warning: address of array 'lr->tables' will always evaluate to 'true' [-Wpointer-bool-conversion] 266 | __goblint_assume(!!lr->tables); | ~~~~~^~~~~~ ocaml_runtime.model.c:312:14: warning: unused variable 'i' [-Wunused-variable] 312 | unsigned i; | ^ ocaml_runtime.model.c:599:23: warning: variable 'val' is uninitialized when used here [-Wuninitialized] 599 | { int32_t val; return val; } | ^~~ ocaml_runtime.model.c:599:14: note: initialize the variable 'val' to silence this warning 599 | { int32_t val; return val; } | ^ | = 0 ocaml_runtime.model.c:602:23: warning: variable 'val' is uninitialized when used here [-Wuninitialized] 602 | { int64_t val; return val; } | ^~~ ocaml_runtime.model.c:602:14: note: initialize the variable 'val' to silence this warning 602 | { int64_t val; return val; } | ^ | = 0 6 warnings generated. File "model/ranges.t", line 1, characters 0-0: /usr/local/bin/git --no-pager diff --no-index --color=always -u _build/default/model/ranges.t _build/default/model/ranges.t.corrected diff --git a/_build/default/model/ranges.t b/_build/default/model/ranges.t.corrected index 7b2a1c7..b01e35d 100644 --- a/_build/default/model/ranges.t +++ b/_build/default/model/ranges.t.corrected @@ -65,12 +65,12 @@ Test primitive types: > EOF $ goblint -I $(ocamlc -where) --enable dbg.regression --disable warn.deadcode --disable warn.info test_main.c test_stubs.c - [Error][Assert] Assertion "(res & 1L) != 0L" will fail. Expected: SUCCESS -> failed (test_main.c:84:4-84:40) - [Error][Assert] Assertion "res >> 1 <= 255L" will fail. Expected: SUCCESS -> failed (test_main.c:126:4-126:42) + Fatal error: exception Failure("No good preprocessor (cpp) found") + [2] Now generate a main function, this introduces multi-threading: $ lintcstubs_genmain test.cmt >>test_analyze.c $ goblint --set 'sem.int.signed_overflow' 'assume_wraparound' --set 'ana.activated[+]' 'assert' --enable warn.assert -I $(ocamlc -where) --disable warn.integer --enable dbg.regression --disable warn.info --disable warn.unsound --disable warn.deadcode test_analyze.c test_stubs.c ocaml_runtime.model.c - [Error][Assert] Assertion "res >> 1 <= 255L" will fail. Expected: SUCCESS -> failed (test_analyze.c:126:4-126:42) - [Error][Assert] Assertion "(res & 1L) != 0L" will fail. Expected: SUCCESS -> failed (test_analyze.c:84:4-84:40) + Fatal error: exception Failure("No good preprocessor (cpp) found") + [2] File "example/dune/dune", lines 33-49, characters 0-296: 33 | (rule 34 | (target foo.sarif) 35 | (enabled_if %{bin-available:lintcstubs}) .... 47 | %{ocaml_where} 48 | -o 49 | %{target})))) (cd _build/default/example/dune && ../../../install/default/bin/lintcstubs --conf lintcstubs.json foostubs.c primitives.model.c -I /home/opam/.opam/4.14.2/lib/ocaml -o foo.sarif) > _build/default/example/dune/foo.log Fatal error: exception Failure("No good preprocessor (cpp) found") File "analyses.t", line 1, characters 0-0: /usr/local/bin/git --no-pager diff --no-index --color=always -u _build/default/analyses.t _build/default/analyses.t.corrected diff --git a/_build/default/analyses.t b/_build/default/analyses.t.corrected index 44d73f1..8c57334 100644 --- a/_build/default/analyses.t +++ b/_build/default/analyses.t.corrected @@ -12,6 +12,8 @@ Rule 1. CAMLparam > EOF $ lintcstubs --set mainfun[+] foo --disable warn.deadcode -I $(ocamlc -where) test.c + Fatal error: exception Failure("No good preprocessor (cpp) found") + [2] $ cat >test.c <<EOF > #include <caml/memory.h> @@ -23,6 +25,8 @@ Rule 1. CAMLparam > } > EOF $ lintcstubs --set mainfun[+] foo --disable warn.info --disable warn.deadcode -I $(ocamlc -where) test.c + Fatal error: exception Failure("No good preprocessor (cpp) found") + [2] $ cat >test.c <<EOF > #include <caml/memory.h> @@ -31,6 +35,8 @@ Rule 1. CAMLparam > } > EOF $ lintcstubs --set mainfun[+] foo --disable warn.info --disable warn.deadcode -I $(ocamlc -where) test.c + Fatal error: exception Failure("No good preprocessor (cpp) found") + [2] $ cat >test.c <<EOF > #include <caml/memory.h> @@ -43,6 +49,7 @@ Rule 1. CAMLparam > } > EOF $ lintcstubs --conf lintcstubs.json --set mainfun[+] foo -I $(ocamlc -where) test.c | sed -e '/unroll.*/d' + Fatal error: exception Failure("No good preprocessor (cpp) found") Cannot dereference OCaml values after releasing the runtime lock: $ cat >test.c <<EOF @@ -61,8 +68,7 @@ Cannot dereference OCaml values after releasing the runtime lock: > EOF $ lintcstubs --set mainfun[+] foo --disable warn.imprecise --disable warn.info --enable dbg.regression --disable warn.deadcode -I $(ocamlc -where) test.c 2>&1 | sed -e 's^/[^ ]*/^^g' - [Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (test.c:9:3-9:39) - [Error][Race] DomainLock: must be held when dereferencing OCaml value v (test.c:9:3-9:39) + Fatal error: exception Failure("No good preprocessor (cpp) found") Correct would be: $ cat >test.c <<EOF @@ -80,5 +86,6 @@ Correct would be: > EOF $ lintcstubs --set mainfun[+] foo --disable warn.imprecise --enable dbg.regression --disable warn.info --disable warn.deadcode -I $(ocamlc -where) test.c - [Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (test.c:7:7-7:44) + Fatal error: exception Failure("No good preprocessor (cpp) found") + [2] jail: /usr/bin/su -l opam -c cd '/src' && env OCAMLCI='true' CI='true' DEPS='angstrom.0.16.1 arg-complete.0.2.1 astring.0.8.5 base-bigarray.base base-threads.base base-unix.base batteries.3.10.0 bigstringaf.0.10.0 bos.0.2.1 camlp-streams.5.0.1 catapult.0.1.1 catapult-file.0.1.1 conf-autoconf.0.2 conf-gcc.1.0 conf-gmp.5 conf-perl.2 conf-pkg-config.4 cppo.1.8.0 cpu.2.0.0 csexp.1.5.2 cstruct.6.2.0 ctypes.0.24.0 dune.3.21.1 dune-compiledb.0.6.0 dune-configurator.3.21.1 dune-private-libs.3.21.1 dune-site.3.21.1 dyn.3.21.1 ezjsonm.1.3.0 fmt.0.11.0 fpath.0.7.3 fs-io.3.21.1 goblint.2.1.0 goblint-cil.2.0.1 hex.1.5.0 integers.0.7.0 json-data-encoding.1.0.1 jsonm.1.0.2 jsonrpc.1.25.0 lintcstubs-arity.0.5.1 logs.0.10.0 num.1.6 ocaml.4.14.2 ocaml-base-compiler.4.14.2 ocaml-compiler-libs.v0.12.4 ocaml-config.2 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocamlbuild.0.16.1 ocamlfind.1.9.8 ordering.3.21.1 parsexp.v0.16.0 pp.2.0.0 ppx_blob.0.9.0 ppx_derivers.1.2.1 ppx_deriving.6.1.1 ppx_deriving_hash.0.1.3 ppx_deriving_yojson.3.10.0 ppxlib.0.37.0 qcheck-core.0.25 rresult.0.7.0 seq.base sexplib.v0.16.0 sexplib0.v0.16.0 sha.1.15.4 stdlib-shims.0.3.0 stdune.3.21.1 stringext.1.6.0 top-closure.3.21.1 topkg.1.1.1 uri.4.4.0 uuidm.0.9.10 uutf.1.0.4 yaml.3.2.0 yojson.2.2.2 zarith.1.14' OPAMCOLOR='always' CLICOLOR_FORCE='1' '/usr/bin/env' 'bash' '-c' 'opam exec -- dune build @install @check @runtest && rm -rf _build': failed "jail" "-c" "name=obuilder_56181_142782" "mount.devfs" "path=/obuilder/result/fefdae10741024057e287893ac8682ac1b750d847d4a6ab13789b8606ac2dc2c/rootfs" "vnet" "exec.start=/sbin/ifconfig lo0 127.0.0.1/8" "command=/usr/bin/su" "-l" "opam" "-c" "cd '/src' && env OCAMLCI='true' CI='true' DEPS='angstrom.0.16.1 arg-complete.0.2.1 astring.0.8.5 base-bigarray.base base-threads.base base-unix.base batteries.3.10.0 bigstringaf.0.10.0 bos.0.2.1 camlp-streams.5.0.1 catapult.0.1.1 catapult-file.0.1.1 conf-autoconf.0.2 conf-gcc.1.0 conf-gmp.5 conf-perl.2 conf-pkg-config.4 cppo.1.8.0 cpu.2.0.0 csexp.1.5.2 cstruct.6.2.0 ctypes.0.24.0 dune.3.21.1 dune-compiledb.0.6.0 dune-configurator.3.21.1 dune-private-libs.3.21.1 dune-site.3.21.1 dyn.3.21.1 ezjsonm.1.3.0 fmt.0.11.0 fpath.0.7.3 fs-io.3.21.1 goblint.2.1.0 goblint-cil.2.0.1 hex.1.5.0 integers.0.7.0 json-data-encoding.1.0.1 jsonm.1.0.2 jsonrpc.1.25.0 lintcstubs-arity.0.5.1 logs.0.10.0 num.1.6 ocaml.4.14.2 ocaml-base-compiler.4.14.2 ocaml-compiler-libs.v0.12.4 ocaml-config.2 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocamlbuild.0.16.1 ocamlfind.1.9.8 ordering.3.21.1 parsexp.v0.16.0 pp.2.0.0 ppx_blob.0.9.0 ppx_derivers.1.2.1 ppx_deriving.6.1.1 ppx_deriving_hash.0.1.3 ppx_deriving_yojson.3.10.0 ppxlib.0.37.0 qcheck-core.0.25 rresult.0.7.0 seq.base sexplib.v0.16.0 sexplib0.v0.16.0 sha.1.15.4 stdlib-shims.0.3.0 stdune.3.21.1 stringext.1.6.0 top-closure.3.21.1 topkg.1.1.1 uri.4.4.0 uuidm.0.9.10 uutf.1.0.4 yaml.3.2.0 yojson.2.2.2 zarith.1.14' OPAMCOLOR='always' CLICOLOR_FORCE='1' '/usr/bin/env' 'bash' '-c' 'opam exec -- dune build @install @check @runtest && rm -rf _build'" failed with exit status 1 2026-02-14 19:56.19: Job failed: Failed: Build failed