Skip to content

Assertion failure on get_cstrs of simple abstract domain #24

@rmonat

Description

@rmonat

Considering the program below:

open Vpl__UserInterface.UncertifiedZ

let x = Vpl.Var.fromInt 1 and y = Vpl.Var.fromInt 2


let _l1 =
  let r1 = assign [(x, Vpl.Domains.InterfaceZ.Term.Var y)] top in
  get_cstrs r1


let _l2 =
  let r2 = assign [(y, Vpl.Domains.InterfaceZ.Term.Var x)] top in
  get_cstrs r2

And compiling with ocamlfind ocamlopt -o vpl_test -linkpkg -package vpl-core vpl_test.ml, I currently get an error on the second get_cstrs:

$ OCAMLRUNPARAM=b ./vpl_test 
Fatal error: exception File "ocaml/datatypes/Vector.ml", line 263, characters 2-8: Assertion failed
Raised at Vpl__Vector.Make.rename in file "ocaml/datatypes/Vector.ml", line 263, characters 2-39
Called from Stdlib__List.fold_left in file "list.ml", line 121, characters 24-34
Called from Vpl__Cstr.Make.rename_f in file "ocaml/datatypes/Cstr.ml", line 233, characters 23-50
Called from Stdlib__List.map in file "list.ml", line 92, characters 20-23
Called from Vpl__TrackedDomain.Make.Track.unary_other in file "ocaml/interface/TrackedDomain.ml", line 40, characters 22-26
Called from Vpl_test._l2 in file "vpl_test.ml", line 13, characters 2-14

Would there be a way to fix this issue? I'm using OCaml 4.14.1 with VPL 0.5 installed through opam.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions