ocaml-opam / opam-0install-solver

a solver for opam packages using 0install's solver engine
ISC License
21 stars 13 forks source link

Uncaught exception `Invalid_argument("filter_deps")` #58

Closed sim642 closed 1 month ago

sim642 commented 1 month ago

I'm using opam-0install in a nightly CI lower-bounds-like job. Up until 2024-09-17, everything was fine. Since 2024-09-18 it started crashing with

$ opam-0install --prefer-oldest goblint ocaml-variants.4.14.2+options ocaml-option-flambda num.1.5
[NOTE] Opam library initialised in 10.37 s
opam-0install: internal error, uncaught exception:
               Invalid_argument("filter_deps")

Versions of all of its dependencies did not change at that date though:

$ opam install opam-0install
The following actions will be performed:
  ∗ install   re                 1.12.0 [required by opam-state]
  ∗ install   0install-solver    2.18   [required by opam-0install]
  ∗ install   ocamlgraph         2.1.0  [required by opam-core]
  ∗ install   cmdliner           1.3.0  [required by opam-0install]
  ∗ install   spdx_licenses      1.2.0  [required by opam-state]
  ∗ install   swhid_core         0.1    [required by opam-core]
  ∗ install   opam-file-format   2.1.6  [required by opam-0install]
  ∗ install   uutf               1.0.3  [required by opam-core]
  ↻ recompile uuidm              0.9.8  [uses cmdliner]
  ↻ recompile fmt                0.9.0  [uses cmdliner]
  ∗ install   jsonm              1.0.2  [required by opam-core]
  ↻ recompile logs               0.7.0  [uses cmdliner]
  ↻ recompile cstruct            6.2.0  [uses fmt]
  ∗ install   opam-core          2.2.1  [required by opam-format]
  ↻ recompile bos                0.2.1  [uses fmt]
  ↻ recompile hex                1.5.0  [uses cstruct]
  ∗ install   opam-format        2.2.1  [required by opam-repository]
  ↻ recompile yaml               3.2.0  [uses bos]
  ↻ recompile json-data-encoding 1.0.1  [uses hex]
  ∗ install   opam-repository    2.2.1  [required by opam-state]
  ∗ install   opam-state         2.2.1  [required by opam-0install]
  ∗ install   opam-0install      0.4.4

I suppose some new package on opam-repository might've triggered this change, but whatever it is, only opam-0install is bothered by it.

talex5 commented 1 month ago

The new version of opam crashes if the new optional ?dev_setup argument isn't passed (https://github.com/ocurrent/solver-service/pull/81).

I guess we need either an upper or lower bound on opam to fix this.