Details
-
Bug
-
Resolution: Unresolved
-
P2: Important
-
None
-
6.10
-
0435aaccd (dev)
Description
The test creates a QEvent e(QEvent::NonClientAreaMouseButtonDblClick), but that type of event needs a QMouseEvent.
Says UBSan:
qdockwidget.cpp:1715:36: runtime error: downcast of address 0x7ffea5257d10 which does not point to an object of type 'QMouseEvent' 0x7ffea5257d10: note: object is of type 'QEvent' 3d 7f 00 00 c0 2b dc f4 3d 7f 00 00 b0 00 00 00 01 00 00 00 49 c1 02 3b a1 90 45 7c 20 17 03 00 ^~~~~~~~~~~~~~~~~~~~~~~ vptr for 'QEvent' #0 0x7f3e1bcb0633 in QDockWidget::event(QEvent*) /home/marc/Qt/qtbase-submit/src/widgets/widgets/qdockwidget.cpp:1715 #1 0x7f3e1a262351 in QApplicationPrivate::notify_helper(QObject*, QEvent*) /home/marc/Qt/qtbase-submit/src/widgets/kernel/qapplication.cpp:3309 #2 0x7f3e1a2e374a in QApplication::notify(QObject*, QEvent*) /home/marc/Qt/qtbase-submit/src/widgets/kernel/qapplication.cpp:3259 #3 0x7f3df1e0ca4a in QCoreApplication::notifyInternal2(QObject*, QEvent*) /home/marc/Qt/qtbase-submit/src/corelib/kernel/qcoreapplication.cpp:1111 #4 0x7f3df1e0f453 in QCoreApplication::sendEvent(QObject*, QEvent*) /home/marc/Qt/qtbase-submit/src/corelib/kernel/qcoreapplication.cpp:1551 #5 0x5599b850aeee in tst_QDockWidget::titleBarDoubleClick() /home/marc/Qt/qtbase-submit/tests/auto/widgets/widgets/qdockwidget/tst_qdockwidget.cpp:869 #6 0x5599b85e5a56 in tst_QDockWidget::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) /home/marc/Qt/qtbase-submit-build/tests/auto/widgets/widgets/qdockwidget/tst_qdockwidget_autogen/include/tst_qdockwidget.moc:171 #7 0x5599b85e6873 in tst_QDockWidget::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) /home/marc/Qt/qtbase-submit-build/tests/auto/widgets/widgets/qdockwidget/tst_qdockwidget_autogen/include/tst_qdockwidget.moc:159 #8 0x7f3df1f0f13b in QMetaMethodInvoker::invokeImpl(QMetaMethod, void*, Qt::ConnectionType, long long, void const* const*, char const* const*, QtPrivate::QMetaTypeInterface const* const*) /home/marc/Qt/qtbase-submit/src/corelib/kernel/qmetaobject.cpp:2801 #9 0x7f3df1f1894d in QMetaMethod::invokeImpl(QMetaMethod, void*, Qt::ConnectionType, long long, void const* const*, char const* const*, QtPrivate::QMetaTypeInterface const* const*) /home/marc/Qt/qtbase-submit/src/corelib/kernel/qmetaobject.cpp:2640 #10 0x7f3e275f1ff0 in std::enable_if<!std::disjunction<>::value, bool>::type QMetaMethod::invoke<void>(QObject*, Qt::ConnectionType, QTemplatedMetaMethodReturnArgument<void>) const /home/marc/Qt/qtbase-submit/src/corelib/kernel/qmetaobject.h:150 #11 0x7f3e275f1ff0 in std::enable_if<!std::disjunction<>::value, bool>::type QMetaMethod::invoke<>(QObject*, Qt::ConnectionType) const /home/marc/Qt/qtbase-submit/src/corelib/kernel/qmetaobject.h:162 #12 0x7f3e275f1ff0 in invokeTestMethodIfValid /home/marc/Qt/qtbase-submit/src/testlib/qtestcase.cpp:434 #13 0x7f3e276414ea in QTest::TestMethods::invokeTestOnData(int) const /home/marc/Qt/qtbase-submit/src/testlib/qtestcase.cpp:1050 #14 0x7f3e276493a7 in operator() /home/marc/Qt/qtbase-submit/src/testlib/qtestcase.cpp:1368 #15 0x7f3e276493a7 in runWithWatchdog<QTest::TestMethods::invokeTest(int, QLatin1StringView, std::optional<QTest::WatchDog>&) const::<lambda()> > /home/marc/Qt/qtbase-submit/src/testlib/qtestcase.cpp:1251 #16 0x7f3e276493a7 in QTest::TestMethods::invokeTest(int, QLatin1String, std::optional<QTest::WatchDog>&) const /home/marc/Qt/qtbase-submit/src/testlib/qtestcase.cpp:1367 #17 0x7f3e2764df5b in QTest::TestMethods::invokeTests(QObject*) const /home/marc/Qt/qtbase-submit/src/testlib/qtestcase.cpp:1710 #18 0x7f3e276537c4 in QTest::qRun() /home/marc/Qt/qtbase-submit/src/testlib/qtestcase.cpp:1951 #19 0x7f3e27655977 in QTest::qExec(QObject*, int, char**) /home/marc/Qt/qtbase-submit/src/testlib/qtestcase.cpp:1823 #20 0x5599b849bbd1 in main /home/marc/Qt/qtbase-submit/tests/auto/widgets/widgets/qdockwidget/tst_qdockwidget.cpp:2042 #21 0x7f3deb68f082 in __libc_start_main ../csu/libc-start.c:308 #22 0x5599b849beed in _start (/home/marc/Qt/qtbase-submit-build/tests/auto/widgets/widgets/qdockwidget/tst_qdockwidget+0x1d0eed)
Attachments
Gerrit Reviews
For Gerrit Dashboard: QTBUG-135410 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
636350,2 | tst_QDockWidget: hot-fix UB (invalid downcast) in titleBarDoubleClick() | dev | qt/qtbase | Status: MERGED | +2 | 0 |