QDialog::exec() crash...

  • I'm writing an application that creates a QDialog subclass that includes an OpenGL display, and it crashes at the exec() command. Here is the stack trace:

    0 -[NSMenu _sidebandUpdaterRoles] 0 0x7fff8d0d3551
    1 -[NSMenu _addSidebandMenuUpdaterForRoles:token:priority:handler:] 0 0x7fff8d0d342f
    2 -[NSApplication setMainMenu:] 0 0x7fff8d0d2d3e
    3 QMenuBarPrivate::macUpdateMenuBarImmediatly 0 0x100fd612c
    4 -[NSObject performSelector:] 0 0x7fff95ba7021
    5 -[NSApplication(QApplicationIntegration) qt_sendPostedMessage:] 0 0x100fa2994
    6 -[NSApplication(QApplicationIntegration) qt_filterEvent:] 0 0x100fa2789
    7 -[QNSApplication sendEvent:] 0 0x100fa282b
    8 -[NSApplication _realDoModalLoop:peek:] 0 0x7fff8d3733ff
    9 -[NSApplication runModalSession:] 0 0x7fff8d36cbb4
    10 QEventDispatcherMac::processEvents 0 0x100fab9bf
    11 QEventLoop::exec 0 0x100c42b18
    12 QDialog::exec 0 0x101443093
    13 SKAdaptiveThresholdWidget::processImage skadaptivethresholdwidget.cpp 320 0x10009124b
    14 SKAdaptiveThresholdWidget::on_okButton_clicked skadaptivethresholdwidget.cpp 88 0x10009141f
    15 SKAdaptiveThresholdWidget::qt_static_metacall moc_skadaptivethresholdwidget.cpp 70 0x100109c56
    16 SKAdaptiveThresholdWidget::qt_metacall moc_skadaptivethresholdwidget.cpp 119 0x100109dc3
    17 QMetaObject::activate 0 0x100c5aad5
    18 QAbstractButton::clicked 0 0x1015e4325
    19 QAbstractButtonPrivate::emitClicked 0 0x10135243e
    20 QAbstractButtonPrivate::click 0 0x10135315a
    ... <More>

    The SK... class is my QDialog subclass.

  • I should add that this code was tested on Windows 7 without any problems related to this particular crash. So for now, let me say it seems to be restricted to Mac OS X (10.7.3)

  • Hi,

    I have a similar problem occurring randomly when I close dialog (Qt 4.7.4 or Qt 4.8.0 under MacOS X Lion) :

    @0 QAction::isVisible 0 0x1014b1474
    1 QMenuBarPrivate::macUpdateMenuBarImmediatly 0 0x10149c6f4
    2 -[NSObject performSelector:] 0 0x7fff8aebe021
    3 -[NSApplication(QApplicationIntegration) qt_sendPostedMessage:] 0 0x101468ad5
    4 -[NSApplication(QApplicationIntegration) qt_filterEvent:] 0 0x101468890
    5 -[QNSApplication sendEvent:] 0 0x10146894d
    6 -[NSApplication run] 0 0x7fff898c21f2
    7 QEventDispatcherMac::processEvents 0 0x101473750
    8 QEventLoop::processEvents 0 0x1023d5664
    9 QEventLoop::exec 0 0x1023d5a14
    10 QCoreApplication::exec 0 0x1023d890c
    11 main main.cpp 206 0x1009d38f8

    and there is the same (one year old !) here : "http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg167652.html":http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg167652.html

    I don't have this problem during the execution under several Linux nor Windows, but macUpdateMenuBarImmediatly is certainly associated to the mac and the management of the global menus ;-)

    is someone find a way to fix/bypass this crash ?

  • I switched back to compiling with the 4.7.4 libraries and have not had a crash yet. Seems like this should be elevated to bug status. Any idea how to do that?

  • [quote author="drhalftone" date="1332108250"]I switched back to compiling with the 4.7.4 libraries and have not had a crash yet. Seems like this should be elevated to bug status. Any idea how to do that?[/quote]

    Just go to the public bugtracker at https://bugreports.qt-project.org - you can create an account over there easily. Don't forget to report back the issue ID here, please, so that others can track its status too. Thanks.

  • As I said unfortunately I have exactly the same problem with Qt4.7.4 and 4.8.0 (MacOS 10.7.3 as you), I will try to reproduce the problem with a small program and post it in the bug tracker.

    Let's note I also had random crashes associated to the presence of a toolbar in the GUI, even without using it, the day I removed it I stopped to have problem (both again QT4.7.4 and Qt4.8.0, but under Windows, I have my mac since only Saturday).

    I didn't have all these problems with Qt2.3 / 3.X I used since 8 years ...


  • Just posted the bug, its issue Qt QTBUG-24866, please follow up with your own experiences...

  • I don't know for you but in my case the crash is visibly linked to the use of 'computed' menus ( through aboutToShow) even the crash occurs later (not when the menu is shown / hidden). I also created an "issue":https://bugreports.qt-project.org/browse/QTBUG-24917 giving a very small application I made to allow them to reproduce the crash.

  • to bypass the problem just call QCoreApplication::setAttribute(Qt::AA_DontUseNativeMenuBar) at the beginning of your program allowing to not use native menubar (e.g, the menubar at the top of the main screen on Mac OS X)

Log in to reply

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.