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

Application crashes when moving QToolbar (redux)

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Incomplete
    • Icon: Not Evaluated Not Evaluated
    • None
    • 5.2.0 RC1
    • Widgets: Main Window
    • None
    • Mac OS X 10.8.5

      Possibly similar to:
      https://bugreports.qt-project.org/browse/QTBUG-25423
      (but on the latest Qt 5.2.0-RC1)

      This was part of my larger project that I'm porting to Qt 5.2.0. I don't currently have a small example application, but it appears to be similar to the crash reported in the link above which does.

      Don't know if it was a factor, but this is a custom static build of Qt 5.2.0-RC1 from source, with the following configure options:

      ../5.2.0-rc1-src/configure -platform macx-g++ -opensource -debug-and-release -static -qt-zlib -qt-libpng -qt-libjpeg -qt-sql-sqlite -fontconfig -no-javascript-jit -no-dbus -nomake tools -nomake examples -nomake tests -skip webkit -skip webkit-examples -prefix /Users/dewhisna/Qt/5.2.0-rc1-cocoa-static-run -confirm-license

      Similar to the other bug cited, this was in the second move of the toolbar. However, I wasn't moving it from side-to-side. This app has 3 toolbars. I had moved the middle toolbar from the top toolbar line down to the second, and was in the process of moving it back to its original position on the top line. The crash happened just after the toolbar visually moved into place, but before releasing the mouse button.

      Crash dump attached...

      All calls in the callstack appear to be Qt except for the ones inside my CMyApplication::notify() handler which is simply a crude exception catcher I had in place at one time to catch some STL exceptions I was trying to track down:

      bool CMyApplication::notify(QObject *pReceiver, QEvent *pEvent)
      {
      	try {
      		return QApplication::notify(pReceiver, pEvent);
      	} catch (const std::exception &ex) {
      		std::cerr << "std::exception was caught: " << ex.what() << std::endl;
      	} catch (...) {
      		std::cerr << "Unknown exception was caught" << std::endl;
      		assert(false);
      	}
      
      	return false;
      }
      

      Line 393 in the crash dump is the "return QApplication::notify(...)" line, so this function is nothing more than a pass-through to the base QApplication...

        1. KJPBS_CrashDump_1311300217.txt
          42 kB
          Donna Whisnant
        2. KJPBS_Toolbar_5_2_0RC1.png
          53 kB
          Donna Whisnant
        3. ToolbarCrash_01.png
          434 kB
          Donna Whisnant
        4. ToolbarCrash_1311301314.txt
          40 kB
          Donna Whisnant
        5. ToolbarCrash.zip
          2 kB
          Donna Whisnant
        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

            sorvig Morten Sørvig
            dewhisna Donna Whisnant
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved:

                There are no open Gerrit changes