Ticket #931 (new bug) — at Initial Version

Opened 12 years ago

Last modified 12 years ago

Segfault on Win32 when loading multiple op libraries

Reported by: jonathan Owned by:
Priority: blocker Milestone:
Component: core Version: 1.4.0
Severity: release Keywords:
Cc: Language:
Patch status: Platform: win32

Description

Hi,

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.

Thanks,

Jonathan

Note: See TracTickets for help on using tickets.