<div>It's not about that particular method, we got earlier same kind of crashes on different methods, for instance, ProtoBuf.Serializers.ArrayDecorator:Write ()</div><div>If I remember correctly, I got this crash even for some method on List<T>, though I can't locate that log quickly. If I get it, will post here. </div>

<div>Also, this bug manifests on different versions of Mono (< 3.0).</div><div><br></div><div>This behavior is very randomly reproducible. To give you some context, we constantly run "test scenarios" where we start our TestClient in a loop. TestClient does some work and then exits. Then our shell script starts TestClient again. And sometimes TestClient crashes with error I described. What is interesting, crash mostly occurs not on first run of TestClient during this test scenario. Maybe that can help somehow.</div>

<div><br></div><div>Can using LLVM back-end help to mitigate this?</div><div><br></div><div>Thread 2 (Thread 0x7f2c4cfe7700 (LWP 23781)):</div><div>#0  0x00007f2ccf3e488d in waitpid () from /lib/x86_64-linux-gnu/libpthread.so.0</div>

<div>#1  0x000000000049996b in mono_handle_native_sigsegv (signal=<optimized out>, ctx=<optimized out>) at mini-exceptions.c:2291</div>

<div>#2  0x00000000004ecd7f in mono_arch_handle_altstack_exception (sigctx=0x7f2cbc143ac0, fault_addr=<optimized out>, stack_ovf=0) at exceptions-amd64.c:884</div><div>#3  0x000000000041c157 in mono_sigsegv_signal_handler (_dummy=11, info=0x7f2cbc143bf0, context=0x7f2cbc143ac0) at mini.c:6046</div>



<div>#4  <signal handler called></div><div>#5  emit_move_return_value (cfg=0x7f2ca800c9b0, ins=<optimized out>, code=0x7f2ca8021314 "") at mini-amd64.c:3577</div><div>#6  0x00000000004dbeed in mono_arch_output_basic_block (cfg=0x7f2ca800c9b0, bb=0x7f2ca8003a28) at mini-amd64.c:4877</div>



<div>#7  0x000000000041d26a in mono_codegen (cfg=0x7f2ca800c9b0) at mini.c:3707</div><div>#8  0x000000000041e16c in mini_method_compile (method="ProtoBuf.Serializers.ArrayDecorator:Write ()", opts=34695679, domain=0x10d8d60, run_cctors=<optimized out>, compile_aot=0, parts=0) at mini.c:5002</div>



<div>#9  0x000000000041f972 in mono_jit_compile_method_inner (jit_ex=0x7f2c4cfe64c8, opt=34695679, target_domain=0x10d8d60, method="ProtoBuf.Serializers.ArrayDecorator:Write ()") at mini.c:5284</div><div>#10 mono_jit_compile_method_with_opt (method="ProtoBuf.Serializers.ArrayDecorator:Write ()", opt=34695679, ex=0x7f2c4cfe64c8) at mini.c:5538</div>



<div>#11 0x000000000042035d in mono_jit_compile_method (method=<optimized out>) at mini.c:5566</div><div>#12 0x000000000049b488 in common_call_trampoline (regs=0x7f2c4cfe6798, code=0x415e14c4 "L\213,$L\213t$\bH\203?\030?", m="ProtoBuf.Serializers.ArrayDecorator:Write ()", vt=vtable("ProtoBuf.Serializers.ArrayDecorator"), vtable_slot=<optimized out>, need_rgctx_tramp=0, tramp=<optimized out>) at mini-trampolines.c:483</div>



<div>#13 0x0000000041570e16 in ?? ()</div><div>#14 0x00007f2cce0687e0 in ?? ()</div><div>#15 0x00007f2cce068540 in ?? ()</div><div>#16 0x00000000415e846c in ?? ()</div><div>#17 0x00007f2ca800a660 in ?? ()</div><div>#18 0x00007f2cce0687e0 in ?? ()</div>



<div>#19 0x00000000005725c6 in mono_delegate_ctor_with_method (this=0x3, target=0x7f2c4cfe6840, addr=0x0, method=<optimized out>) at object.c:6092</div><div>#20 0x0000000000527f19 in ves_icall_System_Delegate_CreateDelegate_internal (type=0x7f2ccfe55c08, target=0x7f2cce068540, info=<optimized out>, throwOnBindFailure=<optimized out>) at icall.c:5911</div>



<div>#21 0x0000000040664333 in ?? ()</div><div>#22 0x00007f2ca800af20 in ?? ()</div><div>#23 0x00007f2cbf4fd0c8 in ?? ()</div><div>#24 0x00007f2ca800af21 in ?? ()</div><div>#25 0x00007f2c4cfe7660 in ?? ()</div><div>#26 0x0000000000000000 in ?? ()</div>



<div><br></div><div>-- Andrii Nakryiko<br></div><div class="gmail_extra"><br>
<br><br><div class="gmail_quote">2012/12/6 Rodrigo Kumpera <span dir="ltr"><<a href="mailto:kumpera@gmail.com" target="_blank">kumpera@gmail.com</a>></span><br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">


The method in question is <span style="color:rgb(80,0,80);font-family:arial,sans-serif;font-size:12.727272033691406px">EventStore.Transport.</span><span style="color:rgb(80,0,80);font-family:arial,sans-serif;font-size:12.727272033691406px">Tcp.TcpConnection:EnqueueSend, you can check if calling it directly triggers the bug.</span><div>


<div><div class="gmail_extra">
<br><br><div class="gmail_quote">On Thu, Dec 6, 2012 at 11:20 AM, Greg Young <span dir="ltr"><<a href="mailto:gregoryyoung1@gmail.com" target="_blank">gregoryyoung1@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">



Its not reproducible even in our code base. Sometimes we get a sigfault sometimes not. It may happen 20 times in a row and not happen 20 times on an identical box.<div><div><br><br><div class="gmail_quote">
On Thu, Dec 6, 2012 at 6:13 PM, Rodrigo Kumpera <span dir="ltr"><<a href="mailto:kumpera@gmail.com" target="_blank">kumpera@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Please file a bug report with a reproducible test case.<div class="gmail_extra">

<br><br><div class="gmail_quote"><div>

<div>
On Thu, Dec 6, 2012 at 10:44 AM, Andrii Nakryiko <span dir="ltr"><<a href="mailto:andrii.nakryiko@gmail.com" target="_blank">andrii.nakryiko@gmail.com</a>></span> wrote:<br>
</div></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div><div>Hi,<div><br></div><div>We sometimes get runtime crashes during the application run and it seems that it happens inside JIT compiler. The crash is not happening constantly, just once in a few runs.</div>





<div><br></div><div>

We run under Mono 3.0.1 (no/301b6c6 Tue Dec  4 15:13:23 EET 2012) with SGen.<br></div><div><br></div><div>Here is the stack trace:</div><div><br></div><div><div>Thread 5 (Thread 0x7f26da5f4700 (LWP 13042)):</div><div>#0  0x00007f26e2fec88d in waitpid () from /lib/x86_64-linux-gnu/libpthread.so.0</div>







<div>#1  0x000000000049a66b in mono_handle_native_sigsegv (signal=<optimized out>, ctx=<optimized out>) at mini-exceptions.c:2289</div><div>#2  0x00000000004ee5ff in mono_arch_handle_altstack_exception (sigctx=0x7f26e2015ac0, fault_addr=<optimized out>, stack_ovf=0) at exceptions-amd64.c:884</div>







<div>#3  0x000000000041c427 in mono_sigsegv_signal_handler (_dummy=11, info=0x7f26e2015bf0, context=0x7f26e2015ac0) at mini.c:6066</div><div>#4  <signal handler called></div><div>#5  emit_move_return_value (cfg=0x7f26a8006b10, ins=<optimized out>, code=0x7f26a80257d0 "\300W\002\250&\177") at mini-amd64.c:3552</div>







<div>#6  0x00000000004dd76d in mono_arch_output_basic_block (cfg=0x7f26a8006b10, bb=0x7f26a8003678) at mini-amd64.c:4853</div><div>#7  0x000000000041d53a in mono_codegen (cfg=0x7f26a8006b10) at mini.c:3727</div><div>#8  0x000000000041e43c in mini_method_compile (method="EventStore.Transport.Tcp.TcpConnection:EnqueueSend ()", opts=<a href="tel:51472895" value="+4751472895" target="_blank">51472895</a>, domain=0xc5cdf0, run_cctors=<optimized out>, compile_aot=0, parts=0) at mini.c:5022</div>







<div>#9  0x000000000041fc42 in mono_jit_compile_method_inner (jit_ex=0x7f26da5f36b8, opt=<a href="tel:51472895" value="+4751472895" target="_blank">51472895</a>, target_domain=0xc5cdf0, method="EventStore.Transport.Tcp.TcpConnection:EnqueueSend ()") at mini.c:5304</div>




<div>


#10 mono_jit_compile_method_with_opt (method="EventStore.Transport.Tcp.TcpConnection:EnqueueSend ()", opt=<a href="tel:51472895" value="+4751472895" target="_blank">51472895</a>, ex=0x7f26da5f36b8) at mini.c:5558</div>




<div>#11 0x000000000042062d in mono_jit_compile_method (method=<optimized out>) at mini.c:5586</div>


<div>#12 0x000000000049c228 in common_call_trampoline (regs=0x7f26da5f3988, code=0x40bd8718 "H\203\304", <incomplete sequence \303>, m="EventStore.Transport.Tcp.TcpConnection:EnqueueSend ()", vt=0x0, vtable_slot=<optimized out>, need_rgctx_tramp=0, tramp=<optimized out>) at mini-trampolines.c:483</div>







<div>#13 0x0000000040e48186 in ?? ()</div><div>#14 0x00007f26a8002560 in ?? ()</div><div>#15 0x00007f26d40025f0 in ?? ()</div><div>#16 0x00007f26da5f3a70 in ?? ()</div><div>#17 0x000000000056c09a in mono_thread_interruption_checkpoint_request (bypass_abort_protection=-631293392) at threads.c:4183</div>







<div>#18 0x0000000040e48193 in ?? ()</div><div>#19 0x00007f26e1c30cd8 in ?? ()</div><div>#20 0x0000000000000000 in ?? ()</div></div><div><br></div><div>By looking at mini-amd64.c:3552 it seems that some internal assertion is wrong:</div>







<div><br></div><div><div><span style="white-space:pre-wrap">3541: case OP_VCALL:
3542:   case OP_VCALL_REG:
3543:   case OP_VCALL_MEMBASE:
3544:   case OP_VCALL2:
3545:   case OP_VCALL2_REG:
3546:   case OP_VCALL2_MEMBASE:
3547:           cinfo = get_call_info (cfg->generic_sharing_context, cfg->mempool, ((MonoCallInst*)ins)->signature);
3548:           if (cinfo->ret.storage == ArgValuetypeInReg) {
3549:                   MonoInst *loc = cfg->arch.vret_addr_loc;
3550:
3551:                   /* Load the destination address */
3552:                   g_assert (loc->opcode == OP_REGOFFSET);
<br></span></div></div><div><br></div><div>Any thought on what's wrong? Can we somehow work around this issue?..</div><span><font color="#888888"><div><br clear="all">-- Andrii Nakryiko<br>
</div>
</font></span><br></div></div>_______________________________________________<br>
Mono-devel-list mailing list<br>
<a href="mailto:Mono-devel-list@lists.ximian.com" target="_blank">Mono-devel-list@lists.ximian.com</a><br>
<a href="http://lists.ximian.com/mailman/listinfo/mono-devel-list" target="_blank">http://lists.ximian.com/mailman/listinfo/mono-devel-list</a><br>
<br></blockquote></div><br></div>
<br>_______________________________________________<br>
Mono-devel-list mailing list<br>
<a href="mailto:Mono-devel-list@lists.ximian.com" target="_blank">Mono-devel-list@lists.ximian.com</a><br>
<a href="http://lists.ximian.com/mailman/listinfo/mono-devel-list" target="_blank">http://lists.ximian.com/mailman/listinfo/mono-devel-list</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div></div></div><span><font color="#888888">-- <br>Le doute n'est pas une condition agréable, mais la certitude est absurde.<br>
</font></span></blockquote></div><br></div>
</div></div></blockquote></div><br></div>