dune icon indicating copy to clipboard operation
dune copied to clipboard

`describe pp` crashes with "Lib.DB.get_compile_info got library that doesn't exist"

Open sim642 opened this issue 1 year ago • 1 comments

Expected Behavior

dune describe pp src/cdomain/value/cdomains/intDomain.ml does not crash.

Actual Behavior

It crashes with

Internal error, please report upstream including the contents of _build/log.
Description:
  ("Lib.DB.get_compile_info got library that doesn't exist",
  { lib_id =
      Local
        { name = "goblint_cdomain_value"
        ; loc = "src/cdomain/value/dune:4"
        ; src_dir = In_source_tree "src/cdomain/value/cdomains"
        }
  })
Raised at Stdune__Code_error.raise in file
  "otherlibs/stdune/src/code_error.ml", line 10, characters 30-62
Called from Fiber__Core.O.(>>|).(fun) in file "vendor/fiber/src/core.ml",
  line 253, characters 36-41
Called from Fiber__Scheduler.exec in file "vendor/fiber/src/scheduler.ml",
  line 76, characters 8-11

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.

_build/log just contains

# dune describe pp --verbose src/cdomain/value/cdomains/intDomain.ml
# OCAMLPARAM: unset
# Shared cache: enabled
# Shared cache location: /home/simmo/.cache/dune/db
# Workspace root: /home/simmo/dev/goblint/sv-comp/goblint
# Auto-detected concurrency: 16
# Dune context:
#  { name = "default"
#  ; kind = "default"
#  ; profile = Dev
#  ; merlin = true
#  ; fdo_target_exe = None
#  ; build_dir = In_build_dir "default"
#  ; instrument_with = []
#  }
$ /home/simmo/dev/goblint/sv-comp/goblint/_opam/bin/ocamlc.opt -config > /tmp/dune_1b7f4d_output

Reproduction

This happens on https://github.com/goblint/analyzer, e.g. at commit 0deedb9ca2aeb11d9e6562161f57eee1908af498.

Specifications

  • Version of dune (output of dune --version): 3.16.0
  • Version of ocaml (output of ocamlc --version): 4.14.2
  • Operating system (distribution and version): Ubuntu 22.04

sim642 avatar Oct 07 '24 07:10 sim642

Are you able to reproduce this in the main branch? I think we fixed something like this recently

rgrinberg avatar Oct 18 '24 09:10 rgrinberg

Please re-open if you run into this again.

rgrinberg avatar Apr 28 '25 14:04 rgrinberg

I just tried on Ubuntu 24.04 and dune 3.18.1, and the exact same crash still occurs.

sim642 avatar Apr 28 '25 15:04 sim642