Details
-
Bug
-
Resolution: Done
-
P0: Blocker
-
6.5
-
None
-
6fa2ee7f4a (qt/qtbase/dev) 6fa2ee7f4a (qt/tqtc-qtbase/dev)
Description
Steps to reproduce:
- Apply https://codereview.qt-project.org/c/qt/qtdeclarative/+/440893
- Run the testbench manual test
- Set the style to Material (either via e.g. env var or the settings in the app), restart
- Scroll down; it should crash
18:24:02: Starting /home/mitch/dev/qt-dev-debug/qtdeclarative/tests/manual/quickcontrols2/testbench/testbench... QML debugging is enabled. Only use this in a safe environment. AddressSanitizer:DEADLYSIGNAL ================================================================= ==83037==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000000 (pc 0x7f1fea4fad80 bp 0x7f1fc46b5a30 sp 0x7f1fc46b5a10 T7) ==83037==The signal is caused by a WRITE memory access. ==83037==Hint: address points to the zero page. #0 0x7f1fea4fad7f in std::__atomic_base<int>::fetch_add(int, std::memory_order) /usr/include/c++/9/bits/atomic_base.h:541 #1 0x7f1fea4fad7f in bool QAtomicOps<int>::ref<int>(std::atomic<int>&) /home/mitch/dev/qt-dev/qtbase/src/corelib/thread/qatomic_cxx11.h:258 #2 0x7f1fea4f7237 in QBasicAtomicInteger<int>::ref() /home/mitch/dev/qt-dev/qtbase/src/corelib/thread/qbasicatomic.h:51 #3 0x7f1fead801b4 in void qAtomicAssign<QShaderPrivate>(QShaderPrivate*&, QShaderPrivate*) /home/mitch/dev/qt-dev/qtbase/src/corelib/thread/qatomic.h:186 #4 0x7f1fead76019 in QShader::operator=(QShader const&) /home/mitch/dev/qt-dev/qtbase/src/gui/rhi/qshader.cpp:244 #5 0x7f1fece1742a in QSGBatchRenderer::Renderer::StencilClipCommonData::reset() (/home/mitch/dev/qt-dev-debug/qtbase/lib/libQt6Quick.so.6+0xa3542a) #6 0x7f1fecde6fd3 in QSGBatchRenderer::Renderer::destroyGraphicsResources() /home/mitch/dev/qt-dev/qtdeclarative/src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp:938 #7 0x7f1fecde6c9c in QSGBatchRenderer::Renderer::~Renderer() /home/mitch/dev/qt-dev/qtdeclarative/src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp:924 #8 0x7f1fecde6f51 in QSGBatchRenderer::Renderer::~Renderer() /home/mitch/dev/qt-dev/qtdeclarative/src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp:927 #9 0x7f1fecf97045 in QSGRhiLayer::invalidated() /home/mitch/dev/qt-dev/qtdeclarative/src/quick/scenegraph/qsgrhilayer.cpp:35 #10 0x7f1fecf96f68 in QSGRhiLayer::~QSGRhiLayer() /home/mitch/dev/qt-dev/qtdeclarative/src/quick/scenegraph/qsgrhilayer.cpp:28 #11 0x7f1fecf96f93 in QSGRhiLayer::~QSGRhiLayer() /home/mitch/dev/qt-dev/qtdeclarative/src/quick/scenegraph/qsgrhilayer.cpp:29 #12 0x7f1fed8050d7 in QQuickShaderEffectSourceCleanup::run() /home/mitch/dev/qt-dev/qtdeclarative/src/quick/items/qquickshadereffectsource.cpp:55 #13 0x7f1fecd276d6 in QQuickWindowPrivate::runAndClearJobs(QList<QRunnable*>*) /home/mitch/dev/qt-dev/qtdeclarative/src/quick/items/qquickwindow.cpp:3755 #14 0x7f1fecd15331 in QQuickWindowPrivate::syncSceneGraph() /home/mitch/dev/qt-dev/qtdeclarative/src/quick/items/qquickwindow.cpp:572 #15 0x7f1fed5b13db in QSGRenderThread::sync(bool) /home/mitch/dev/qt-dev/qtdeclarative/src/quick/scenegraph/qsgthreadedrenderloop.cpp:555 #16 0x7f1fed5b35de in QSGRenderThread::syncAndRender() /home/mitch/dev/qt-dev/qtdeclarative/src/quick/scenegraph/qsgthreadedrenderloop.cpp:692 #17 0x7f1fed5b67d7 in QSGRenderThread::run() /home/mitch/dev/qt-dev/qtdeclarative/src/quick/scenegraph/qsgthreadedrenderloop.cpp:941 #18 0x7f1fe7349fb6 in operator() /home/mitch/dev/qt-dev/qtbase/src/corelib/thread/qthread_unix.cpp:321 #19 0x7f1fe734cf75 in terminate_on_exception<QThreadPrivate::start(void*)::<lambda()> > /home/mitch/dev/qt-dev/qtbase/src/corelib/thread/qthread_unix.cpp:257 #20 0x7f1fe734a213 in QThreadPrivate::start(void*) /home/mitch/dev/qt-dev/qtbase/src/corelib/thread/qthread_unix.cpp:280 #21 0x7f1fe661b608 in start_thread /build/glibc-SzIz7B/glibc-2.31/nptl/pthread_create.c:477 #22 0x7f1fe6540132 in __clone (/lib/x86_64-linux-gnu/libc.so.6+0x11f132) AddressSanitizer can not provide additional info. SUMMARY: AddressSanitizer: SEGV /usr/include/c++/9/bits/atomic_base.h:541 in std::__atomic_base<int>::fetch_add(int, std::memory_order) Thread T7 (QSGRenderThread) created by T0 here: #0 0x7f1fee1ac815 in __interceptor_pthread_create ../../../../src/libsanitizer/asan/asan_interceptors.cc:208 #1 0x7f1fe734be16 in QThread::start(QThread::Priority) /home/mitch/dev/qt-dev/qtbase/src/corelib/thread/qthread_unix.cpp:707 #2 0x7f1fed5bb994 in QSGThreadedRenderLoop::handleExposure(QQuickWindow*) /home/mitch/dev/qt-dev/qtdeclarative/src/quick/scenegraph/qsgthreadedrenderloop.cpp:1286 #3 0x7f1fed5ba34f in QSGThreadedRenderLoop::exposureChanged(QQuickWindow*) /home/mitch/dev/qt-dev/qtdeclarative/src/quick/scenegraph/qsgthreadedrenderloop.cpp:1211 #4 0x7f1fecd124f6 in QQuickWindow::exposeEvent(QExposeEvent*) /home/mitch/dev/qt-dev/qtdeclarative/src/quick/items/qquickwindow.cpp:176 #5 0x7f1fea87057b in QWindow::event(QEvent*) /home/mitch/dev/qt-dev/qtbase/src/gui/kernel/qwindow.cpp:2485 #6 0x7f1fecd1d5f6 in QQuickWindow::event(QEvent*) /home/mitch/dev/qt-dev/qtdeclarative/src/quick/items/qquickwindow.cpp:1561 #7 0x7f1fe6d60e55 in QCoreApplicationPrivate::notify_helper(QObject*, QEvent*) /home/mitch/dev/qt-dev/qtbase/src/corelib/kernel/qcoreapplication.cpp:1193 #8 0x7f1fe6d605aa in doNotify /home/mitch/dev/qt-dev/qtbase/src/corelib/kernel/qcoreapplication.cpp:1122 #9 0x7f1fe6d60455 in QCoreApplication::notify(QObject*, QEvent*) /home/mitch/dev/qt-dev/qtbase/src/corelib/kernel/qcoreapplication.cpp:1105 #10 0x7f1fea6eafc0 in QGuiApplication::notify(QObject*, QEvent*) /home/mitch/dev/qt-dev/qtbase/src/gui/kernel/qguiapplication.cpp:1928 #11 0x7f1fe6d60241 in QCoreApplication::notifyInternal2(QObject*, QEvent*) /home/mitch/dev/qt-dev/qtbase/src/corelib/kernel/qcoreapplication.cpp:1026 #12 0x7f1fe6d61b3a in QCoreApplication::sendSpontaneousEvent(QObject*, QEvent*) /home/mitch/dev/qt-dev/qtbase/src/corelib/kernel/qcoreapplication.cpp:1458 #13 0x7f1fea6f8bb3 in QGuiApplicationPrivate::processExposeEvent(QWindowSystemInterfacePrivate::ExposeEvent*) /home/mitch/dev/qt-dev/qtbase/src/gui/kernel/qguiapplication.cpp:3194 #14 0x7f1fea6ebe92 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) /home/mitch/dev/qt-dev/qtbase/src/gui/kernel/qguiapplication.cpp:2067 #15 0x7f1fea88cf90 in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) /home/mitch/dev/qt-dev/qtbase/src/gui/kernel/qwindowsysteminterface.cpp:1089 #16 0x7f1fdf42cd51 in xcbSourceDispatch /home/mitch/dev/qt-dev/qtbase/src/plugins/platforms/xcb/qxcbeventdispatcher.cpp:57 #17 0x7f1fe56cf17c in g_main_context_dispatch (/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x5217c) ==83037==ABORTING 18:24:13: /home/mitch/dev/qt-dev-debug/qtdeclarative/tests/manual/quickcontrols2/testbench/testbench exited with code 1
Attachments
Issue Links
- is required for
-
QTBUG-108052 Update Material Button to Material 3
-
- Closed
-