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

Application crashes when moving QToolbar (redux)

    XMLWordPrintable

Details

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

    Description

      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...

      Attachments

        1. KJPBS_CrashDump_1311300217.txt
          42 kB
        2. KJPBS_Toolbar_5_2_0RC1.png
          KJPBS_Toolbar_5_2_0RC1.png
          53 kB
        3. ToolbarCrash_01.png
          ToolbarCrash_01.png
          434 kB
        4. ToolbarCrash_1311301314.txt
          40 kB
        5. ToolbarCrash.zip
          2 kB

        Issue Links

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

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes