[Mono-dev] Mono native crash when we call a method Continue from CoreCLR debugger callback.

Rodrigo Kumpera rokumper at microsoft.com
Mon May 22 22:36:55 UTC 2017


Hi Mikhail,

You should try our custom lldb that has support for managed frames: https://github.com/mono/lldb-binaries

That error implies a NullReferenceException.
Is it taking the process down? Are you getting a managed exception?

If it’s taking the process down, perhaps something is highjacking mono’s signal handler for SIGSEGV/SIGBUSS.
If it’s producing an exception, it might be an issue on our code.

Keep in mind that lldb cannot debug through signals on OSX, it’s a well known problem that they don’t care about fixing. ( 
Perhaps you can try running mono with MONO_DEBUG=explicit-null-checks to work-around lldb or someone stealing our signal handler and find the actual culprit.

Finally, in case this is an actual bug on mono, the code that generates the cominterop-invoke lives in mono/metadata/cominterop.c and I’d suggest you digging there to see what’s going wrong.

--
Rodrigo

On 5/21/17, 6:41 AM, "Mono-devel-list on behalf of Mikhail Filippov" <mono-devel-list-bounces at lists.dot.net on behalf of mikhail at filippov.me> wrote:

    Hi, all. We have a native crash in mono:
    
    (lldb) bt
    * thread #15, name = 'tid_4303', stop reason = EXC_BAD_ACCESS (code=1, address=0x0)
      * frame #0: 0x0000000000000000
        frame #1: 0x000000010a319fe1
        frame #2: 0x0000000109300fd3
        frame #3: 0x000000010a314a96
        frame #4: 0x00000001093725a1 libmscordbi.dylib`ShimProxyCallback::QueueCreateProcess(this=0x00000001036ddcb0, args=(m_pCallback1 = 0x00000001036d8110, m_pCallback2 = 0x00000001036da7f0, m_pCallback3 = 0x00000001036da440))::CreateProcessEvent::Dispatch(ManagedEvent::DispatchArgs) at shimcallback.cpp:348
        frame #5: 0x0000000109411a88 libmscordbi.dylib`CordbProcess::DispatchRCEvent(this=0x0000000105180400) at process.cpp:4692
        frame #6: 0x000000010942ea03 libmscordbi.dylib`CordbRCEventThread::FlushQueuedEvents(this=0x00000001036d2580, process=0x0000000105180400) at process.cpp:10270
        frame #7: 0x000000010942f80d libmscordbi.dylib`CordbRCEventThread::ThreadProc(this=0x00000001036d2580) at process.cpp:10525
        frame #8: 0x000000010942fbac libmscordbi.dylib`CordbRCEventThread::ThreadProc(parameter=0x00000001036d2580) at process.cpp:10591
        frame #9: 0x0000000109dfe004 libmscordaccore.dylib`CorUnix::CPalThread::ThreadEntry(pvParam=0x0000000105182e00) at thread.cpp:1730
        frame #10: 0x00007fffcfd2b93b libsystem_pthread.dylib`_pthread_body + 180
        frame #11: 0x00007fffcfd2b887 libsystem_pthread.dylib`_pthread_start + 286
        frame #12: 0x00007fffcfd2b08d libsystem_pthread.dylib`thread_start + 13
    
    (lldb) pmip 0x000000010a314a96
    IP 0x10a314a96 at offset 0x206 of method (wrapper native-to-managed) JetBrains.Debugger.CorApi.ComInterop.ICorDebugManagedCallback:CreateProcess (intptr,intptr) (0x10a314890 0x10a314b82)[domain 0x10060e720 - JetBrains.Debugger.Mono.Tests.exe]
    
    (lldb) pmip 0x0000000109300fd3
    IP 0x109300fd3 at offset 0x63 of method JetBrains.Debugger.CorApi.ComInterop.Eventing.ManagedCallbackEventSink:JetBrains.Debugger.CorApi.ComInterop.ICorDebugManagedCallback.CreateProcess (JetBrains.Debugger.CorApi.ComInterop.ICorDebugProcess) (0x109300f70 0x109300fd8)[domain 0x10060e720 - JetBrains.Debugger.Mono.Tests.exe]
    
    (lldb) pmip 0x000000010a319fe1
    IP 0x10a319fe1 at offset 0x31 of method (wrapper cominterop-invoke) JetBrains.Debugger.CorApi.ComInterop.ICorDebugController:Continue (int) (0x10a319fb0 0x10a31a038)[domain 0x10060e720 - JetBrains.Debugger.Mono.Tests.exe]
    
    We have a stable reproduce for its problem. We are using mono master branch. In another test case ICorDebugController:Continue worked correctly. We cannot find the reason for this behaviour.  
     Could somebody help us to debug the problem? 
    -- 
    Mikhail Filippov 
    Software Developer
    JetBrains
    https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fjetbrains.com&data=02%7C01%7Crokumper%40microsoft.com%7C0d1d23bb1f514f9dde1e08d4a04f1393%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636309708900230601&sdata=CpIEobojeuaKGbmq6kiZtXz2w%2Fc20NygoyIQjdsi4ls%3D&reserved=0
    “The Drive To Develop"
    _______________________________________________
    Mono-devel-list mailing list
    Mono-devel-list at lists.dot.net
    https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists.dot.net%2Fmailman%2Flistinfo%2Fmono-devel-list&data=02%7C01%7Crokumper%40microsoft.com%7C0d1d23bb1f514f9dde1e08d4a04f1393%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636309708900230601&sdata=Ehwnh1WRNb1XIT5IzqrIjyNgDDpRY5BiTk523J%2FniC0%3D&reserved=0
    



More information about the Mono-devel-list mailing list