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

random crash in QApplicationPrivate::notify_helper

    XMLWordPrintable

Details

    • Bug
    • Resolution: Incomplete
    • P1: Critical
    • None
    • 5.7.0
    • Core: Event loop
    • None
    • Windows 10 64-bit with Visual Studio 2015, debugged program is 32-bit, Qt version 5.7

    Description

      Some few times I get a crash in QApplicationPrivate::notify_helper on using the receiver parameter. Some days the crash happens once or more, but most days it does not happen at all. I cannot reproduce the crash at will, it just sometimes happens. I would guess that this would be a racing condition.

      The crash happens on the lines :

          // deliver the event
          bool consumed = receiver->event(e);
      

      The receiver parameter looks like it is pointing to a deleted object. Its dump in the debugger looks like pointing to released memory :

      __vfptr = 0x010091ec {???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???}
      

      The call stack is as follows :

      QApplicationPrivate::notify_helper(receiver=0x06f03b30, e=0x054564a8) Line 3799
      QApplication::notify(receiver=0x06f03b30, e=0x054564a8) Line 3762
      QCoreApplication::notifyInternal2(receiver=0x06f03b30, event=0x054564a8) Line 988
      QCoreApplication::sendEvent(receiver=0x06f03b30, event=0x054564a8) Line 231
      QCoreApplicationPrivate::sendPostedEvents(receiver=0x00000000, event_type=0, data=0x00833cf8) Line 1649
      QEventDispatcherWin32::sendPostedEvents() Line 1294
      QWindowsGuiEventDispatcher::sendPostedEvents() Line 82
      qt_internal_proc(hwnd=0x0005089c, message=1025, wp=0, lp=0) Line 445
      766d84f3()	Unknown
      [Frames below may be incorrect and/or missing, no symbols loaded for user32.dll]	
      766b6c40()	Unknown
      766b6541()	Unknown
      766b6300()	Unknown
      QEventDispatcherWin32::processEvents(flags={...}) Line 845
      QWindowsGuiEventDispatcher::processEvents(flags={...}) Line 74
      QEventLoop::processEvents(flags={...}) Line 135
      QEventLoop::exec(flags={...}) Line 210
      QCoreApplication::exec() Line 1261
      QGuiApplication::exec() Line 1640
      QApplication::exec() Line 2976
      mymain(argc=5, argv=0x00833e48) Line 101
      WinMain(hInstance=0x01010000, hPrevInstance=0x00000000, lpCmdLine=0x008060c9, nCmdShow=10) Line 8
      invoke_main() Line 99
      __scrt_common_main_seh() Line 255
      __scrt_common_main() Line 300
      WinMainCRTStartup() Line 17
      

      Attachments

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              thiago Thiago Macieira
              harry_m Harry
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes