https://bugs.documentfoundation.org/show_bug.cgi?id=97278

            Bug ID: 97278
           Summary: Windows: SEH and crash-handling / OpenGLZone
           Product: LibreOffice
           Version: 5.1.0.1 rc
          Hardware: All
                OS: All
            Status: UNCONFIRMED
          Severity: normal
          Priority: medium
         Component: LibreOffice
          Assignee: [email protected]
          Reporter: [email protected]

It -appears- that windows SEH unwinds local variables; so things like:

{
   OpenGLZone aZone;
   <segv>
}

Will happily do ~OpenGLZone() - as the SEH exception is unwound.

Since commit:

http://cgit.freedesktop.org/libreoffice/core/commit/?id=977a2f14dbb23a8ff1281e799f0c0af43aa2fb52

It appears that we catch all un-handled exceptions and print information about
them - and call FatalError.

This would (seem) to include seg faults - but most interestingly, the
FatalError handler in desktop/ doesn't appear to trigger the auto-save
mechanism; just throws up a native dialog with "SEH exception" or somesuch -
which seems crazy-odd.

At least, this is what I suspect ;-) it seems our seg-fault handler:

sal/osl/w32/signal.c uses:

    SetUnhandledExceptionFilter(SignalHandlerFunction);

while I imagine catch (...) at the very top-level handles ~everything at this
stage ;-)

Quite possibly we want to use:

AddVectoredExceptionHandler

Instead to catch these bad-boys, and/or turn off SEH or ...

Needs further investigation.

-- 
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Libreoffice-bugs mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs

Reply via email to