runtimeverification / rv-predict

Code for improved rv-predict and installer
BSD 3-Clause "New" or "Revised" License
2 stars 3 forks source link

Assert building erlang #1016

Open maya-rv opened 5 years ago

maya-rv commented 5 years ago

I get this as part of the sequential build, you can reproduce it with:

git clone https://github.com/erlang/otp.git
cd otp
./otp_build autoconf
./configure CC=rvpc LD=rvpld CXX=rvpc++
make

it'll eventually seem to spin, if you kill it and re-run make it will get this assert:

make[3]: Entering directory '/home/fly/otp/lib/hipe/rtl'
 ERLC   ../ebin/hipe_rtl.beam
...
erlc: thread.c:380: void rvp_serializer_create(int): Assertion `thread_head->t_next == NULL' failed.
gnuoyd commented 5 years ago

That's weird. Could be that it hangs because it is going off the rails after it fork(2)s? The assertion should never fire unless the serialization file is being re-opened after threads have started, and I don't expect that to happen unless we've forked.

I've made a stopgap fix for fork(2) already. Can you reproduce, @maya-rv ?

Supposing it is reproducible, it would be nice to have a minimal test case for this.