Ticket #931 (closed bug: fixed)
Segfault on Win32 when loading multiple op libraries
|Reported by:||jonathan||Owned by:|
Description (last modified by jonathan) (diff)
On Win32 + MS VC++, the following segfaults:
.loadlib 'math_ops' .loadlib 'obscure_ops' .sub 'main' :main say "alive" .end
If I remove one or the other of these libraries, or re-order them, the effect is exactly the same. The segfault happens on line 1173 of src/runcore/main.c and always when loading the second dynops library (whichever one comes first seems to load just fine, and it explodes on the second one).
This is a serious issue since, IIRC, we're meant to have a Parrot release tomorrow, and since the Random PMC has been replaced by dynops Rakudo now needs to load two dynoplibs - both its own (perl6_ops) and also math_ops now. The upshot is that Rakudo is currently unbuildable on my platform (segfaults during compiling perl6.pir from PIR to PBC).
I'm trying to work out what's going on, but would really appreciate additional input from anyone else who can reproduce this and help debug the segfault. It doesn't seem to matter which dynop libraries are picked, and the above example is all stuff shipped with Parrot rather than being Rakudo specific.