Open robbertkrebbers opened 5 years ago
Is that a regression?
Yes, it works with 8.10.1
I cannot reproduce on 6ed3b02af77313d62ec868b4a88a208a9003857d with OCaml 4.06.1+fp.
I'm using:
$ ocaml --version
The OCaml toplevel, version 4.05.0
This issue is kind of a blocker for me. Debian testing ships OCaml 4.05.0, so it's impossible to build Coq master now.
Still cannot reproduce on the same commit and using the 4.05.0 OCaml compiler shipped with Debian. Did you try from a fresh install?
Relevant for this kind of problem:
pm@ouranos:~/sources/coq$ ulimit -s
8192
It appears to have something to do with my .lia.cache
. I removed that file (which was created by an older version of Coq), and now lia
works again without segfaulting.
I still think this is a bug, since coqc
should never segfault.
"never" is too strong a word. As @ppedrot mentioned, a resource shortage (either stack or heap) is a perfectly fine segfault.
@robbertkrebbers This is most likely caused by the fact that lia uses the OCaml marshalling functions, which are type-unsound. Changing the title accordingly.
Indeed a different serialization method could help, but as a short term fix a magic number could help avoid these kind of problems.
I think it's fairly easy to remove the need to OCaml marshaller, I'll write a quick patch.
@ppedrot any update?
@maximedenes nope, it's simple but tedious to write the marshallers and I am lazy.
@ppedrot do you need to be forced? ;)
Coq Version
Using Coq master 6ed3b02af77313d62ec868b4a88a208a9003857d