Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-50061

[Reg: Qt5.4.1 -> Qt5.5.1] Qt QML interferes with SetUnhandledExceptionFilter on Windows/64bit

    XMLWordPrintable

Details

    • 74d23ca548b47c85c4b8cdde5fd5a9026e4eb08c

    Description

      The attached simple app intentionally crashes via a null pointer dereference. It uses an exception filter to intercept the crash and print a simple stderr message before the app exits. With Qt Enterprise 5.4.1, this behavior works as expected no matter when the crash is invoked.

      With Qt Enterprise 5.5.1 the behavior is variable. If the crash happens outside of the Qt/QML event loop then it works as expected: my custom exception filter is invoked and prints to stderr. If the crash happens in response to a UI event (a mouse click in this case) then my exception filter is never invoked.

      (We discovered this problem in our application which uses Google Breakpad for crash reporting. We've found that since we upgraded to 5.5.1, Breakpad is unable to trap errors. Mac is fine, no behavior change there)

      Note: I've marked this issue as QML-related because both my test app and my real app are QML based, but I really don't know what part of Qt has triggered this behavior change.

      Attachments

        1. vectored-exception-handler.diff
          9 kB
        2. qtbug50061.zip
          3 kB
        3. qtbug50061_raise.zip
          3 kB
        4. ExceptionHandler.zip
          3 kB
        For Gerrit Dashboard: QTBUG-50061
        # Subject Branch Project Status CR V

        Activity

          People

            ulherman Ulf Hermann
            chrisdolan Chris Dolan
            Votes:
            6 Vote for this issue
            Watchers:
            12 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes