-
Bug
-
Resolution: Fixed
-
P1: Critical
-
6.10
-
None
-
d920b6dde (dev), dcacaa0d8 (6.9)
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.
| 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 |