could be related to one of these: https://bugreports.qt.io/browse/QTBUG-55134 https://bugreports.qt.io/browse/QTBUG-55135 https://bugreports.qt.io/browse/QTBUG-55158
On 20.08.2016 00:09, Andy wrote: > This has me stumped. > > Problem: > > I have an app with plugins. Each plugin has a form widget which is > displayed in a dialog. > > If I bring up the dialog and click a QComboBox within the form, when I > quit my app I get the following in the console: > > Warning: QBasicTimer::start: QBasicTimer can only be used with > threads started with QThread (:0, (null)) > > and the app crashes. > > Here's the Mac stack trace: > > Thread 0 Crashed:: Dispatch queue: com.apple.main-thread > 0 org.qt-project.QtCore 0x0000000101ef98eb > QThreadStorageData::get() const + 43 > 1 org.qt-project.QtGui 0x0000000101904d36 > QOpenGLContext::currentContext() + 22 > 2 org.qt-project.QtGui 0x0000000101b6b483 > QPlatformBackingStorePrivate::~QPlatformBackingStorePrivate() + 19 > 3 org.qt-project.QtGui 0x0000000101b6b2c1 > QPlatformBackingStore::~QPlatformBackingStore() + 33 > 4 libqcocoa.dylib 0x0000000105168d7e > QCocoaBackingStore::~QCocoaBackingStore() + 14 > 5 org.qt-project.QtGui 0x0000000101a6b8cc > QBackingStore::~QBackingStore() + 28 > 6 org.qt-project.QtWidgets 0x00000001011fa5fc > deleteBackingStore(QWidgetPrivate*) + 204 > 7 org.qt-project.QtWidgets 0x00000001011fa408 > QWidgetPrivate::deleteTLSysExtra() + 56 > 8 org.qt-project.QtWidgets 0x00000001011fa172 > QWidget::destroy(bool, bool) + 834 > 9 org.qt-project.QtWidgets 0x00000001011f98d6 > QWidget::~QWidget() + 1462 > 10 org.qt-project.QtWidgets 0x00000001012d753e > QComboBoxPrivateContainer::~QComboBoxPrivateContainer() + 62 > 11 org.qt-project.QtCore 0x00000001020e0a83 > QObjectPrivate::deleteChildren() + 227 > 12 org.qt-project.QtWidgets 0x00000001011f98ba > QWidget::~QWidget() + 1434 > 13 org.qt-project.QtWidgets 0x00000001012d03f7 > QComboBox::~QComboBox() + 71 > 14 org.qt-project.QtCore 0x00000001020e0a83 > QObjectPrivate::deleteChildren() + 227 > 15 org.qt-project.QtWidgets 0x00000001011f98ba > QWidget::~QWidget() + 1434 > 16 (my form destructor) > > and the Windows stack trace: > > 1 > QThreadStorageData::get > > qthreadstorage.cpp 117 0x6b79923c > 2 > qThreadStorage_localData<QGuiGLThreadContext> > > qthreadstorage.h 65 0x3b878f0 > 3 QThreadStorage<QGuiGLThreadContext > *>::localData > qthreadstorage.h 139 0x3bb72dc > 4 > QOpenGLContext::currentContext > > qopenglcontext.cpp 415 0x388b59b > 5 > QPlatformBackingStorePrivate::~QPlatformBackingStorePrivate > > qplatformbackingstore.cpp 84 0x3be3f93 > 6 > QPlatformBackingStore::~QPlatformBackingStore > > qplatformbackingstore.cpp 608 0x3a64b6a > 7 > QWindowsBackingStore::~QWindowsBackingStore > > qwindowsbackingstore.cpp 62 0x62891f4c > 8 > QWindowsBackingStore::~QWindowsBackingStore > > qwindowsbackingstore.cpp 65 0x62891f75 > 9 > QBackingStore::~QBackingStore > > qbackingstore.cpp 142 0x3995f8f > 10 > deleteBackingStore > > qwidget.cpp 1858 0xef95352 > 11 > QWidgetPrivate::deleteTLSysExtra > > qwidget.cpp 1875 0xef953e4 > 12 > QWidget::destroy > > qwidget.cpp 12297 0xefad3b7 > 13 > QWidget::~QWidget > > qwidget.cpp 1679 0xef94c46 > 14 > QFrame::~QFrame > > qframe.cpp 256 0xf0b3d8a > 15 > QComboBoxPrivateContainer::~QComboBoxPrivateContainer > > qcombobox_p.h 208 0xf2fb8f2 > 16 > QComboBoxPrivateContainer::~QComboBoxPrivateContainer > > qcombobox_p.h 208 0xf2fb8a3 > 17 > QObjectPrivate::deleteChildren > > qobject.cpp 1963 0x6b8f6ed7 > 18 > QWidget::~QWidget > > qwidget.cpp 1674 0xef94c18 > 19 > QComboBox::~QComboBox > > qcombobox.cpp 1332 0xf088949 > 20 > QComboBox::~QComboBox > > qcombobox.cpp 1343 0xf08897f > 21 > QObjectPrivate::deleteChildren > > qobject.cpp 1963 0x6b8f6ed7 > 22 > QWidget::~QWidget > > qwidget.cpp 1674 0xef94c18 > 23 > QGroupBox::~QGroupBox > > qgroupbox.cpp 206 0xf0b4dc8 > 24 (my form destructor) > > > Possibly relevant info: > > 0) the form is being created & displayed in a plugin > 1) the combo box is in a QGroupBox created with a designer form (.ui file) > 2) the form widget itself is created once with "new Ui::FormName / > setupUi()" when the plugin is loaded > 3) the dialog takes temporary ownership of the widget and calls > widget->setParent( nullptr ); in its destructor so the form does not > get destructed > 4) 4.x does not crash (been working for 10 years...) > 5) 5.6.x and any 5.7 versions I have tried cause a crash > 6) it crashes on both Mac OS X and Windows > 7) I'm not doing anything funky with the combo box - just displaying > it and taking action on selection > 8) combo boxes in my main app don't seem to be an issue > 9) if I don't touch the combo boxes (i.e. display the dialog, dismiss > it, and quit my app) -> no crash > > Theories I haven't been able to prove/disprove: > > 1) there's a singleshot that is fired to display the popup selection > and it's deleting or doing something it shouldn't > 2) it's a thread problem because this is in a plugin > 3) something isn't liking the dialog's temporary ownership of the form > > Anyone with some in-depth knowledge of the QComboBox have any ideas > what might be going on here? > > Thank you for your time. > > --- > Andy Maloney // https://asmaloney.com > twitter ~ @asmaloney <https://twitter.com/asmaloney> > > > > _______________________________________________ > Interest mailing list > Interest@qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest -- Viktor Engelmann Software Engineer The Qt Company GmbH Rudower Chaussee 13 D-12489 Berlin viktor.engelm...@qt.io +49 151 26784521 http://qt.io Geschäftsführer: Mika Pälsi, Juha Varelius, Mika Harjuaho Sitz der Gesellschaft: Berlin, Registergericht: Amtsgericht Charlottenburg, HRB 144331 B <http://qt.io> <http://www.facebook.com/Qt> <http://www.twitter.com/qtproject> <https://www.linkedin.com/company/the-qt-company/> <https://plus.google.com/104580575722059274792> <https://www.youtube.com/QtStudios> Qt World Summit 2016 <http://qtworldsummit.com/> Qt World Summit 2016 | Pier 27, San Francisco, CA Experience Exponential Potential on October 18-20 www.qtworldsummit.com <http://www.qtworldsummit.com>
<<attachment: viktor_engelmann.vcf>>
_______________________________________________ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest