[Mono-dev] Help debugging mono segmentation fault

George, Glover E ERDC-RDE-ITL-MS CIV Glover.E.George at erdc.dren.mil
Mon Mar 7 19:43:57 UTC 2016


Hi all,

I have some code that is written and compiled in Visual Studio 2008.  This is a console application.  When running under mono on Linux, with the same input, 1 out of 5 times or so I get a segmentation fault.  I’m not sure what’s generating this, so I looked at the instructions online for debugging mono which led me to these questions.

1.  Can gdb / mono_mip view debugging symbols within C# if the code was compiled with VS and not with mcs?  Currently the code won’t compile with mcs due to unknown values in the project/solution files and possibly because one of the projects in the solution is a c++ project (although it seems to handle the dll ok).

2. Does this gdb backtrace mean anything to anyone:



(gdb) mono_backtrace 15

You can't do that without a process to debug.

(gdb) backtrace

#0  0x0000000001cb6940 in ?? ()

#1  0x0000000000628e62 in monoeg_g_hash_table_lookup_extended (hash=0x9d0690, key=

    0x587130 <mono_thread_get_undeniable_exception>, orig_key=0x7fffd82fff68, value=0x7fffd82fff60)

    at ghashtable.c:328

#2  0x0000000000628ddd in monoeg_g_hash_table_lookup (hash=0x9d0690, key=

    0x587130 <mono_thread_get_undeniable_exception>) at ghashtable.c:311

#3  0x000000000053fa27 in mono_find_jit_icall_by_addr (addr=

    0x587130 <mono_thread_get_undeniable_exception>) at icall.c:7694

#4  0x00000000004311d2 in mono_emit_jit_icall (cfg=0x1be03d0, func=<optimized out>, args=0x0)

    at method-to-ir.c:2918

#5  0x000000000043e390 in mono_method_to_ir (cfg=cfg at entry=0x1be03d0, method=method at entry=

    <error reading variable: Address 0x7fffd786afe8 out of bounds>, start_bblock=<optimized out>,

    start_bblock at entry=0x0, end_bblock=<optimized out>, end_bblock at entry=0x0, return_var=return_var at entry=

    0x0, inline_args=inline_args at entry=0x0, inline_offset=0, is_virtual_call=0) at method-to-ir.c:11941

#6  0x00000000005032f9 in mini_method_compile (method=method at entry=

    <error reading variable: Address 0x7fffd786afe8 out of bounds>, opts=opts at entry=370239999,

    domain=domain at entry=0x9b80a0, flags=flags at entry=JIT_FLAG_RUN_CCTORS, parts=parts at entry=0,

    aot_method_index=aot_method_index at entry=-1) at mini.c:3467

#7  0x0000000000504625 in mono_jit_compile_method_inner (method=method at entry=

    <error reading variable: Address 0x7fffd786afe8 out of bounds>, target_domain=target_domain at entry=

    0x9b80a0, opt=opt at entry=370239999, jit_ex=jit_ex at entry=0x7fffd83006d8) at mini.c:4063

#8  0x00000000004274fc in mono_jit_compile_method_with_opt (method=method at entry=

    <error reading variable: Address 0x7fffd786afe8 out of bounds>, opt=370239999, ex=ex at entry=

    0x7fffd83006d8) at mini-runtime.c:1904

#9  0x0000000000427a4b in mono_jit_compile_method (method=

    <error reading variable: Address 0x7fffd786afe8 out of bounds>) at mini-runtime.c:1941

#10 0x00000000004a3483 in common_call_trampoline_inner (regs=0x7fffd83008a8, code=0x402528e4 "\270\001", m=

    <error reading variable: Address 0x7fffd786afe8 out of bounds>, vt=0x0, vtable_slot=<optimized out>)

    at mini-trampolines.c:570

#11 0x000000004000217d in ?? ()

#12 0x0000000000000001 in ?? ()

#13 0x0000000000a11585 in ?? ()

#14 0x00000000402528e4 in ?? ()

#15 0x0000000000a11585 in ?? ()

#16 0x00007fffd83009e0 in ?? ()

#17 0x00007fffd83008a8 in ?? ()

#18 0x00007fffd8301698 in ?? ()

#19 0x00007fffd833ade0 in ?? ()

#20 0x00007fffd833adf8 in ?? ()

#21 0x0000000000000000 in ?? ()

This doesn’t seem to be in the GC.  Where would I go next?


— — —
Glover E. George
Computer Scientist
Information Technology Laboratory
US Army Engineer Research and Development Center
Vicksburg, MS 39180
601-634-4730

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ximian.com/pipermail/mono-devel-list/attachments/20160307/82888cd7/attachment.html>


More information about the Mono-devel-list mailing list