SourMesen / Mesen-S

Mesen-S is a cross-platform (Windows & Linux) SNES emulator built in C++ and C#
GNU General Public License v3.0
415 stars 100 forks source link

[Mono] Crash on opening event viewer (bisected) #133

Closed Sanaki closed 4 years ago

Sanaki commented 4 years ago

All other debugging tools work, but opening the Event Viewer causes an instant SIGSEGV. Crash occurred both when compiled with clang 11.0.0 and gcc 9.3.0. Crash output was only available when built with gcc.

Bisect result: 134c28ed9f9987d62b2e4da8d5b11f74fc110ad8 is the first bad commit

Mono JIT compiler version 6.8.0.123 (tarball Tue May 12 15:11:57 UTC 2020)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
    TLS:           __thread
    SIGSEGV:       altstack
    Notifications: epoll
    Architecture:  amd64
    Disabled:      none
    Misc:          softdebug 
    Interpreter:   yes
    LLVM:          yes(610)
    Suspend:       hybrid
    GC:            sgen (concurrent by default)
Crash log from 4db6c08

``` ================================================================= Native Crash Reporting ================================================================= Got a SIGSEGV while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= ================================================================= Native stacktrace: ================================================================= 0x55cddf2e36a5 - mono : (null) 0x55cddf2e3a3c - mono : (null) 0x55cddf28fa61 - mono : (null) 0x55cddf2dd03b - mono : (null) 0x7fbd50f425ac - /home/ccrowley/src/Mesen-S/bin/x64/Release/libMesenSCore.dll : _ZN12EventManager16GetDisplayBufferEPjj25EventViewerDisplayOptions 0x7fbd760c40e0 - Unknown ================================================================= Telemetry Dumper: ================================================================= Could not exec mono-hang-watchdog, expected on path '/etc/../bin/mono-hang-watchdog' (errno 2) Pkilling 0x7fbd15bff700 from 0x7fbd760c3780 Pkilling 0x7fbd153f4700 from 0x7fbd760c3780 Pkilling 0x7fbd161fc700 from 0x7fbd760c3780 Pkilling 0x7fbd6359f700 from 0x7fbd760c3780 Pkilling 0x7fbd70a84700 from 0x7fbd760c3780 Pkilling 0x7fbd14e79700 from 0x7fbd760c3780 Pkilling 0x7fbd74784700 from 0x7fbd760c3780 Pkilling 0x7fbd163fd700 from 0x7fbd760c3780 Pkilling 0x7fbd70c85700 from 0x7fbd760c3780 Pkilling 0x7fbd15ffb700 from 0x7fbd760c3780 Pkilling 0x7fbd4d362700 from 0x7fbd760c3780 Entering thread summarizer pause from 0x7fbd760c3780 Stack overflow in unmanaged: IP: 0x55cddf2dcf80, fault addr: 0x7fbd4cb6bef8 makefile:168: recipe for target 'run' failed make: *** [run] Segmentation fault (core dumped) ```

SourMesen commented 4 years ago

Thanks for the report! This should be fixed as of 1689ea4d3fa34a820874e2661d223d91e4421a46

Sanaki commented 4 years ago

Confirmed fixed, thanks.