Details
-
Bug
-
Resolution: Done
-
P1: Critical
-
5.15.4, 5.15.9, 5.15.10, 6.3.1
-
Mac OS 10.16.0.0 and 11.6.7
-
-
3be99799a6 (qt/qtbase/dev) 3be99799a6 (qt/tqtc-qtbase/dev) 6daa89f083 (qt/qtbase/6.3) 8855431c84 (qt/tqtc-qtbase/6.2) 6daa89f083 (qt/tqtc-qtbase/6.3) 580e0527eb (qt/tqtc-qtbase/5.15) 77a892affc (qt/qtbase/6.4) 77a892affc (qt/tqtc-qtbase/6.4)
Description
We hit this crash after upgrading Qt base from 5.10.0 to 5.15.4. It happens intermittently. The call stack we have captured looks like:
1 libQt5Qml.5.15.4.dylib!QQmlData::isSignalConnected(QAbstractDeclarativeData*, QObject const*, int)
2 libQt5Core.5.15.4.dylib!void doActivate<false>(QObject*, int, void**)
3 libQt5Widgets.5.15.4.dylib!QWidget::setWindowTitle(String const&)
...
6 libQt5Core.5.15.4.dylib!void doActivate<false>(QObject*, int, void**)
...
10 libQt5Widgets.5.15.4.dylib!QApplicationPrivate::notify_helper(QObject*, QEvent*)
11 libQt5Widgets.5.15.4.dylib!QApplication::notify(QObject*, QEvent*)
...
13 libQt5Core.5.15.4.dylib!QCoreApplication::notifyInternal2(QObject*, QEvent*)
14 libQt5Core.5.15.4.dylib!QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*)
15 libqcocoa.dylib!QCocoaEventDispatcherPrivate::processPostedEvents()
16 libqcocoa.dylib!QCocoaEventDispatcher::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
17 libtabcore.dylib!CancelMgr::WaitForSignal(IEvent... >)
...
20 libQt5Core.5.15.4.dylib!QObjectPrivate::deleteChildren()
21 libQt5Widgets.5.15.4.dylib!Widget::~QWidget()
22 libtabui.dylib!ConnectWebDataDialog::ShowWebDataDialog(...)
... ...
We don't use the QML; but the union in QtBase - src/corelib/kernel/qobject_p.h
union
Unknown macro: { QObject *currentChildBeingDeleted; // should only be used when QObjectData};
could lead the code to QmlData::isSignalConnected...
Attached is a Qt creator project - WindowTitleDialogIssue.zip - for easy repro.
Attachments
Issue Links
- relates to
-
QTBUG-105297 Use std::variant instead of the union in qobject_p.h
- Closed