• Stephan Bergmann's avatar
    Support signal handlers registered with SA_SIGINFO · 5997121a
    Stephan Bergmann yazdı
    ...as is the case for external/breakpad's
    google_breakpad::ExceptionHandler::SignalHandler (though that one appears to be
    careful to check that its additional arguments are not garbage, cf. the
    "Sometime, Breakpad runs inside a process where some other buggy code..."
    comment in
    workdir/UnpackedTarball/breakpad/src/client/linux/handler/exception_handler.cc).
    
    Seen when JunitTest_framework_complex run under ASan/UBSan happened to trigger
    an assert,
    
    > soffice.bin: vcl/source/app/dbggui.cxx:47: void ImplDbgTestSolarMutex(): Assertion `ImplGetSVData()->mpDefInst->CheckYieldMutex() && "SolarMutex not locked"' failed.
    > sal/osl/unx/signal.cxx:349:13: runtime error: call to function google_breakpad::ExceptionHandler::SignalHandler(int, siginfo_t*, void*) through pointer to incorrect function type 'void (*)(int)'
    > (instdir/program/libsofficeapp.so+0xb7eab0): note: google_breakpad::ExceptionHandler::SignalHandler(int, siginfo_t*, void*) defined here
    >     #0 0x7f6cefc21693 in (anonymous namespace)::callSystemHandler(int) sal/osl/unx/signal.cxx:349:13
    >     #1 0x7f6cefc1f3e1 in (anonymous namespace)::signalHandlerFunction(int) sal/osl/unx/signal.cxx:422:9
    >     #2 0x7f6cedbc95bf  (/lib64/libpthread.so.0+0x115bf)
    >     #3 0x7f6ced20491e in __libc_signal_restore_set /usr/src/debug/glibc-2.24-33-ge9e69e4/signal/../sysdeps/unix/sysv/linux/nptl-signals.h:79
    >     #4 0x7f6ced20491e in __GI_raise /usr/src/debug/glibc-2.24-33-ge9e69e4/signal/../sysdeps/unix/sysv/linux/raise.c:55
    >     #5 0x7f6ced206519 in __GI_abort /usr/src/debug/glibc-2.24-33-ge9e69e4/stdlib/abort.c:89
    >     #6 0x7f6ced1fcda6 in __assert_fail_base /usr/src/debug/glibc-2.24-33-ge9e69e4/assert/assert.c:92
    >     #7 0x7f6ced1fce51 in __GI___assert_fail /usr/src/debug/glibc-2.24-33-ge9e69e4/assert/assert.c:101
    >     #8 0x7f6cb60cdad5 in ImplDbgTestSolarMutex() vcl/source/app/dbggui.cxx:47:5
    >     #9 0x7f6cbd337fb9 in DbgTestSolarMutex() tools/source/debug/debug.cxx:74:9
    >     #10 0x7f6cb3c98abf in vcl::Window::ReleaseGraphics(bool) vcl/source/window/window.cxx:900:5
    ...
    
    Change-Id: I2625541e0b9e50f9723e61e0cbff0e6c77d0fb9f
    5997121a
Adı
Son kayıt (commit)
Son güncelleme
..
all Loading commit data...
unx Loading commit data...
w32 Loading commit data...