Details
-
Bug
-
Resolution: Fixed
-
P1: Critical
-
6.10
-
None
-
d920b6dde (dev), dcacaa0d8 (6.9)
Description
To reproduce, run the testbench manual test and scroll down. On my machine and display, it freezes when I get to ProgressBar. Here are some randomly sampled bracktraces from interrupts that point to QQuickSafeArea being the culprit:
1 QMetaObject::SuperData::operator QMetaObject const * qobjectdefs.h 594 0x7ffff4816f49 2 QMetaObject::inherits qmetaobject.cpp 388 0x7ffff480c029 3 QMetaObject::cast qmetaobject.cpp 408 0x7ffff480c080 4 QMetaObject::cast qobjectdefs.h 241 0x7ffff472c98f 5 qt_qFindChild_helper qobject.cpp 2190 0x7ffff48846ee 6 QObject::findChild<QQuickSafeArea *> qobject.h 162 0x7ffff748c971 7 QObject::findChild<QQuickSafeArea *> qobject.h 180 0x7ffff74858d3 8 QQuickSafeArea::updateSafeArea qquicksafearea.cpp 241 0x7ffff7502a10 9 QQuickSafeArea::itemGeometryChanged qquicksafearea.cpp 336 0x7ffff7503b37 10 operator() qquickitem.cpp 3902 0x7ffff745be41 11 QQuickItemPrivate::notifyChangeListeners<QQuickItem::geometryChange(const QRectF&, const QRectF&)::<lambda(const QQuickItemPrivate::ChangeListener&)>>(QQuickItemPrivate::ChangeTypes, struct {...} &&) qquickitem_p.h 412 0x7ffff7477d71 12 QQuickItem::geometryChange qquickitem.cpp 3900 0x7ffff745c022 13 QQuickItem::setHeight qquickitem.cpp 7575 0x7ffff74672da 14 QQuickFlickable::setContentHeight qquickflickable.cpp 2451 0x7ffff74313a5 15 QQuickItemViewPrivate::updateViewport qquickitemview.cpp 1857 0x7ffff79f4441 16 QQuickItemViewPrivate::layout qquickitemview.cpp 1950 0x7ffff79f4b68 17 QQuickItemView::updatePolish qquickitemview.cpp 1463 0x7ffff79f2108 18 QQuickWindowPrivate::polishItems qquickwindow.cpp 344 0x7ffff75ba1c9 19 QSGThreadedRenderLoop::polishAndSync qsgthreadedrenderloop.cpp 1633 0x7ffff79a1205 20 QSGThreadedRenderLoop::handleUpdateRequest qsgthreadedrenderloop.cpp 1404 0x7ffff799fd18 ... <More>
1 QWeakPointer<QObject>::internalData qsharedpointer_impl.h 790 0x7ffff73f3dec 2 QPointer<QQuickItem>::data qpointer.h 75 0x7ffff7411984 3 comparesEqual<QQuickItem> qpointer.h 103 0x7ffff74139dc 4 operator==<QQuickItem> qpointer.h 104 0x7ffff74135e4 5 QtPrivate::sequential_erase<QList<QPointer<QQuickItem>>, QQuickItem *>(QList<QPointer<QQuickItem>>&, QQuickItem * const&)::{lambda(auto:1&)#1}::operator()<QPointer<QQuickItem> const>(QList<QPointer<QQuickItem>>&) const qcontainertools_impl.h 375 0x7ffff741480c 6 __gnu_cxx::__ops::_Iter_pred<QtPrivate::sequential_erase<QList<QPointer<QQuickItem>>, QQuickItem *>(QList<QPointer<QQuickItem>>&, QQuickItem * const&)::{lambda(auto:1&)#1}>::operator()<QList<QPointer<QQuickItem>>::const_iterator>(QList<QPointer<QQuickItem>>::const_iterator) predefined_ops.h 318 0x7ffff741483e 7 std::__find_if<QList<QPointer<QQuickItem>>::const_iterator, __gnu_cxx::__ops::_Iter_pred<QtPrivate::sequential_erase<QList<QPointer<QQuickItem>>, QQuickItem *>(QList<QPointer<QQuickItem>>&, QQuickItem * const&)::{lambda(auto:1&)#1}>>(QList<QPointer<QQuickItem>>::const_iterator, QList<QPointer<QQuickItem>>::const_iterator, __gnu_cxx::__ops::_Iter_pred<QtPrivate::sequential_erase<QList<QPointer<QQuickItem>>, QQuickItem *>(QList<QPointer<QQuickItem>>&, QQuickItem * const&)::{lambda(auto:1&)#1}>, std::random_access_iterator_tag) stl_algobase.h 2097 0x7ffff7414184 8 std::__find_if<QList<QPointer<QQuickItem>>::const_iterator, __gnu_cxx::__ops::_Iter_pred<QtPrivate::sequential_erase<QList<QPointer<QQuickItem>>, QQuickItem *>(QList<QPointer<QQuickItem>>&, QQuickItem * const&)::{lambda(auto:1&)#1}>>(QList<QPointer<QQuickItem>>::const_iterator, QList<QPointer<QQuickItem>>::const_iterator, __gnu_cxx::__ops::_Iter_pred<QtPrivate::sequential_erase<QList<QPointer<QQuickItem>>, QQuickItem *>(QList<QPointer<QQuickItem>>&, QQuickItem * const&)::{lambda(auto:1&)#1}>) stl_algobase.h 2117 0x7ffff7413977 9 std::find_if<QList<QPointer<QQuickItem>>::const_iterator, QtPrivate::sequential_erase<QList<QPointer<QQuickItem>>, QQuickItem *>(QList<QPointer<QQuickItem>>&, QQuickItem * const&)::{lambda(auto:1&)#1}>(QList<QPointer<QQuickItem>>::const_iterator, QList<QPointer<QQuickItem>>::const_iterator, QtPrivate::sequential_erase<QList<QPointer<QQuickItem>>, QQuickItem *>(QList<QPointer<QQuickItem>>&, QQuickItem * const&)::{lambda(auto:1&)#1}) stl_algo.h 3923 0x7ffff7413451 10 QtPrivate::sequential_erase_if<QList<QPointer<QQuickItem>>, QtPrivate::sequential_erase<QList<QPointer<QQuickItem>>, QQuickItem *>(QList<QPointer<QQuickItem>>&, QQuickItem * const&)::{lambda(auto:1&)#1}>(QList<QPointer<QQuickItem>>&, QtPrivate::sequential_erase<QList<QPointer<QQuickItem>>, QQuickItem *>(QList<QPointer<QQuickItem>>&, QQuickItem * const&)::{lambda(auto:1&)#1}&) qcontainertools_impl.h 344 0x7ffff7412fff 11 QtPrivate::sequential_erase<QList<QPointer<QQuickItem>>, QQuickItem *> qcontainertools_impl.h 376 0x7ffff741322f 12 QtPrivate::sequential_erase_with_copy<QList<QPointer<QQuickItem>>, QQuickItem *> qcontainertools_impl.h 383 0x7ffff7413286 13 QList<QPointer<QQuickItem>>::removeAll<QQuickItem *> qlist.h 625 0x7ffff74132c3 14 QQuickSafeArea::removeSourceItem qquicksafearea.cpp 359 0x7ffff7503d3f 15 QQuickItemPrivate::removeItemChangeListener qquickitem.cpp 4073 0x7ffff745ca18 16 QQuickSafeArea::itemGeometryChanged qquicksafearea.cpp 332 0x7ffff75038f5 17 operator() qquickitem.cpp 3902 0x7ffff745be41 18 QQuickItemPrivate::notifyChangeListeners<QQuickItem::geometryChange(const QRectF&, const QRectF&)::<lambda(const QQuickItemPrivate::ChangeListener&)>>(QQuickItemPrivate::ChangeTypes, struct {...} &&) qquickitem_p.h 412 0x7ffff7477d71 19 QQuickItem::geometryChange qquickitem.cpp 3900 0x7ffff745c022 20 QQuickLoader::geometryChange qquickloader.cpp 960 0x7ffff74bb549 21 QQuickItem::setImplicitSize qquickitem.cpp 7689 0x7ffff7467cb4 22 QQuickLoaderPrivate::_q_updateSize qquickloader.cpp 937 0x7ffff74bb47c 23 QQuickLoaderPrivate::itemGeometryChanged qquickloader.cpp 38 0x7ffff74b91f1 24 operator() qquickitem.cpp 3902 0x7ffff745be41 25 QQuickItemPrivate::notifyChangeListeners<QQuickItem::geometryChange(const QRectF&, const QRectF&)::<lambda(const QQuickItemPrivate::ChangeListener&)>>(QQuickItemPrivate::ChangeTypes, struct {...} &&) qquickitem_p.h 412 0x7ffff7477d71 26 QQuickItem::geometryChange qquickitem.cpp 3900 0x7ffff745c022 27 QQuickControl::geometryChange qquickcontrol.cpp 2120 0x7ffff39338fc 28 QQuickItem::setImplicitHeight qquickitem.cpp 7636 0x7ffff746783d 29 QQuickItem::qt_static_metacall moc_qquickitem.cpp 865 0x7ffff7471e5e 30 QQmlPropertyData::writeProperty qqmlpropertydata_p.h 385 0x7ffff5685d07 31 GenericBinding<6>::doStore<double> qqmlbinding.cpp 284 0x7ffff56b0ab5 32 GenericBinding<6>::write qqmlbinding.cpp 257 0x7ffff56b0ab5 33 QQmlBinding::doUpdate qqmlbinding.cpp 715 0x7ffff569d4c9 34 QQmlBinding::update qqmlbinding.cpp 165 0x7ffff569abc8 35 QQmlBinding::expressionChanged qqmlbinding.cpp 617 0x7ffff569ca75 36 QQmlJavaScriptExpressionGuard_callback qqmljavascriptexpression.cpp 562 0x7ffff5755ba1 37 QQmlNotifier::emitNotify qqmlnotifier.cpp 70 0x7ffff57a0b34 38 QQmlData::signalEmitted qqmlengine.cpp 341 0x7ffff56fdd1f 39 doActivate<false> qobject.cpp 4029 0x7ffff48966df 40 QMetaObject::activate qobject.cpp 4199 0x7ffff488b83b 41 QQuickControl::topPaddingChanged moc_qquickcontrol_p.cpp 513 0x7ffff39352c3 42 QQuickControlPrivate::setTopPadding qquickcontrol.cpp 196 0x7ffff392d5d8 43 QQuickControl::setTopPadding qquickcontrol.cpp 1180 0x7ffff393198b 44 QQuickControl::qt_static_metacall moc_qquickcontrol_p.cpp 404 0x7ffff3934c8b 45 QQmlPropertyData::writeProperty qqmlpropertydata_p.h 385 0x7ffff5685d07 46 GenericBinding<6>::doStore<double> qqmlbinding.cpp 284 0x7ffff56b0ab5 47 GenericBinding<6>::write qqmlbinding.cpp 257 0x7ffff56b0ab5 48 QQmlBinding::doUpdate qqmlbinding.cpp 715 0x7ffff569d4c9 49 QQmlBinding::update qqmlbinding.cpp 165 0x7ffff569abc8 50 QQmlBinding::expressionChanged qqmlbinding.cpp 617 0x7ffff569ca75 51 QQmlJavaScriptExpressionGuard_callback qqmljavascriptexpression.cpp 562 0x7ffff5755ba1 52 QQmlNotifier::emitNotify qqmlnotifier.cpp 70 0x7ffff57a0b34 53 QQmlData::signalEmitted qqmlengine.cpp 341 0x7ffff56fdd1f 54 doActivate<false> qobject.cpp 4029 0x7ffff48966df 55 QMetaObject::activate qobject.cpp 4199 0x7ffff488b83b 56 QQuickSafeArea::marginsChanged moc_qquicksafearea_p.cpp 167 0x7ffff75043e1 57 QQuickSafeArea::updateSafeArea qquicksafearea.cpp 268 0x7ffff7502edb 58 QQuickSafeArea::itemGeometryChanged qquicksafearea.cpp 336 0x7ffff7503b37 59 operator() qquickitem.cpp 3902 0x7ffff745be41 60 QQuickItemPrivate::notifyChangeListeners<QQuickItem::geometryChange(const QRectF&, const QRectF&)::<lambda(const QQuickItemPrivate::ChangeListener&)>>(QQuickItemPrivate::ChangeTypes, struct {...} &&) qquickitem_p.h 412 0x7ffff7477d71 61 QQuickItem::geometryChange qquickitem.cpp 3900 0x7ffff745c022 62 QQuickLayout::geometryChange qquicklayout.cpp 951 0x7fffedb1dffb 63 QQuickItem::setPosition qquickitem.cpp 7321 0x7ffff74667ff 64 QQuickItemViewFxItem::moveTo qquickitemviewfxitem.cpp 64 0x7ffff7a01dab 65 FxListItemSG::setPosition qquicklistview.cpp 308 0x7ffff7a1d263 66 QQuickListViewPrivate::itemGeometryChanged qquicklistview.cpp 1622 0x7ffff7a13cb2 67 operator() qquickitem.cpp 3902 0x7ffff745be41 68 QQuickItemPrivate::notifyChangeListeners<QQuickItem::geometryChange(const QRectF&, const QRectF&)::<lambda(const QQuickItemPrivate::ChangeListener&)>>(QQuickItemPrivate::ChangeTypes, struct {...} &&) qquickitem_p.h 412 0x7ffff7477d71 69 QQuickItem::geometryChange qquickitem.cpp 3900 0x7ffff745c022 70 QQuickLayout::geometryChange qquicklayout.cpp 951 0x7fffedb1dffb 71 QQuickItem::setImplicitSize qquickitem.cpp 7689 0x7ffff7467cb4 72 QQuickLayoutPrivate::applySizeHints qquicklayout.cpp 784 0x7fffedb1cb55 73 QQuickLayout::ensureLayoutItemsUpdated qquicklayout.cpp 921 0x7fffedb1db56 74 QQuickLayout::updatePolish qquicklayout.cpp 826 0x7fffedb1cf33 75 QQuickWindowPrivate::polishItems qquickwindow.cpp 344 0x7ffff75ba1c9 76 QSGThreadedRenderLoop::polishAndSync qsgthreadedrenderloop.cpp 1633 0x7ffff79a1205 77 QSGThreadedRenderLoop::handleUpdateRequest qsgthreadedrenderloop.cpp 1404 0x7ffff799fd18 78 QQuickWindow::event qquickwindow.cpp 1590 0x7ffff75bec03 79 QQuickWindowQmlImpl::event qquickwindowmodule.cpp 152 0x7ffff75e014b 80 QCoreApplicationPrivate::notify_helper qcoreapplication.cpp 1294 0x7ffff47ee7ef 81 doNotify qcoreapplication.cpp 1223 0x7ffff47ee3e8 82 QCoreApplication::notify qcoreapplication.cpp 1206 0x7ffff47ee31c 83 QGuiApplication::notify qguiapplication.cpp 2076 0x7ffff620d16d 84 QCoreApplication::notifyInternal2 qcoreapplication.cpp 1122 0x7ffff47ee1e8 85 QCoreApplication::sendEvent qcoreapplication.cpp 1564 0x7ffff47eee65 86 QPlatformWindow::deliverUpdateRequest qplatformwindow.cpp 825 0x7ffff62a2c0a 87 QPlatformWindow::windowEvent qplatformwindow.cpp 473 0x7ffff62a1dff 88 QXcbWindow::windowEvent qxcbwindow.cpp 2419 0x7fffefd5eac6 89 QGuiApplicationPrivate::sendQWindowEventToQPlatformWindow qguiapplication.cpp 2144 0x7ffff620d5fd 90 QGuiApplication::notify qguiapplication.cpp 2056 0x7ffff620d11f 91 QCoreApplication::notifyInternal2 qcoreapplication.cpp 1122 0x7ffff47ee1e8 92 QCoreApplication::sendEvent qcoreapplication.cpp 1564 0x7ffff47eee65 93 QTimerInfoList::activateTimers qtimerinfo_unix.cpp 426 0x7ffff4ad1932 94 timerSourceDispatch qeventdispatcher_glib.cpp 152 0x7ffff4caf812 95 ?? 0x7ffff3d145b5 96 ?? 0x7ffff3d73717 97 g_main_context_iteration 0x7ffff3d13a53 98 QEventDispatcherGlib::processEvents qeventdispatcher_glib.cpp 399 0x7ffff4cb03dc 99 QXcbGlibEventDispatcher::processEvents qxcbeventdispatcher.cpp 96 0x7fffefd17608 100 QEventLoop::processEvents qeventloop.cpp 104 0x7ffff48063e9 101 QEventLoop::exec qeventloop.cpp 195 0x7ffff4806b1c 102 QCoreApplication::exec qcoreapplication.cpp 1465 0x7ffff47eeb2f 103 QGuiApplication::exec qguiapplication.cpp 1993 0x7ffff620cf38 104 main main.cpp 47 0x55555556d856
1 QList<QPointer<QQuickItem>>::iterator::iterator qlist.h 119 0x7ffff74139ba 2 QList<QPointer<QQuickItem>>::iterator::operator- qlist.h 179 0x7ffff7413fc5 3 QList<QPointer<QQuickItem>>::emplaceBack<QPointer<QQuickItem>> qlist.h 916 0x7ffff74138c3 4 QList<QPointer<QQuickItem>>::append qlist.h 496 0x7ffff741330a 5 QList<QPointer<QQuickItem>>::operator<< qlist.h 750 0x7ffff7412ef4 6 QQuickSafeArea::addSourceItem qquicksafearea.cpp 354 0x7ffff7503ce2 7 QQuickItemPrivate::addItemChangeListener qquickitem.cpp 4044 0x7ffff745c279 8 QQuickSafeArea::itemTransformChanged qquicksafearea.cpp 318 0x7ffff750383a 9 QQuickItemPrivate::notifyChangeListeners<void (QQuickItemChangeListener:: *)(QQuickItem *, QQuickItem *), QQuickItem * const&, QQuickItem * const&> qquickitem_p.h 410 0x7ffff7485e74 10 QQuickItemPrivate::itemChange qquickitem.cpp 6938 0x7ffff746565d 11 QQuickItemPrivate::transformChanged qquickitem.cpp 5494 0x7ffff7461452 12 QQuickItemPrivate::transformChanged qquickitem.cpp 5474 0x7ffff74611ae 13 QQuickItemPrivate::transformChanged qquickitem.cpp 5474 0x7ffff74611ae 14 QQuickItemPrivate::transformChanged qquickitem.cpp 5474 0x7ffff74611ae 15 QQuickItemPrivate::transformChanged qquickitem.cpp 5474 0x7ffff74611ae 16 QQuickItemPrivate::transformChanged qquickitem.cpp 5474 0x7ffff74611ae 17 QQuickItemPrivate::dirty qquickitem.cpp 6784 0x7ffff7464900 18 QQuickItem::setPosition qquickitem.cpp 7317 0x7ffff7466719 19 QQuickItemViewFxItem::moveTo qquickitemviewfxitem.cpp 64 0x7ffff7a01dab 20 FxListItemSG::setPosition qquicklistview.cpp 308 0x7ffff7a1d263 ... <More>
I'm on Ubuntu 24.04.1.
Attachments
For Gerrit Dashboard: QTBUG-132737 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
616709,3 | Isolate Flickable's content item from Flickable's safe area margins | dev | qt/qtdeclarative | Status: MERGED | +2 | 0 |
617082,2 | Isolate Flickable's content item from Flickable's safe area margins | 6.9 | qt/qtdeclarative | Status: MERGED | +2 | 0 |