[Mono-devel-list] A mini startup problem with locks on Windows.

Bernie Solomon bernard at ugsolutions.com
Wed Aug 27 16:49:30 EDT 2003

I try to compare my work with a Windows build and have discovered a similar
start up problem in mini to the interpreter in terms of initializing locks
(already sent info for fixing that to Zoltan).

This is trying to use the marshal_mutex before it has been initialized
(InitializeCriticalSection is necessary on Windows).

My quick hack was to call mono_marshal_init in mini_init early enough which
means it gets initialized twice but a proper solution needs to be found (I
don't know whether the register_opcode_emulation has to be done before
mono_runtime_init or how to adjust the order as I am not familiar with the
JIT as yet)

Bernie Solomon

#0  0x77f8f1d1 in ?? ()
#1  0x77f87e86 in ?? ()
#2  0x0047c209 in mono_arch_create_jit_trampoline (method=0xff3630) at
#3  0x0042516d in mono_class_vtable (domain=0xd92f78, class=0xfe3668) at
#4  0x0041b683 in mono_jit_compile_method (method=0xff3028) at mini.c:7060
#5  0x004185c3 in mono_icall_get_wrapper (callinfo=0xff2f80) at mini.c:5515
#6  0x00418786 in mono_register_jit_icall (func=0x4065f0, name=0x41ba2e
"__emul_lmul_ovf_un", sig=0xff2948, is_save=0) a
t mini.c:5552
#7  0x00418931 in mono_register_opcode_emulation (opcode=441, name=0x41ba2e
"__emul_lmul_ovf_un", sig=0xff2948, func=0x4
065f0, no_throw=0) at mini.c:5585
#8  0x0041bfe6 in mini_init (filename=0x9043e2 "checked.exe") at mini.c:7290
#9  0x00403444 in mono_main (argc=2, argv=0x904438) at driver.c:599
#10 0x004012d2 in main (argc=2, argv=0x904438) at main.c:6

More information about the Mono-devel-list mailing list