Details
-
Bug
-
Resolution: Fixed
-
P1: Critical
-
None
-
6.9.0
-
None
-
Operating System: Fedora Linux 42
KDE Plasma Version: 6.3.4
KDE Frameworks Version: 6.13.0
Qt Version: 6.9.0
Kernel Version: 6.14.3-300.fc42.x86_64 (64-bit)
Graphics Platform: Wayland
-
-
4285358b4 (dev)
Description
I noticed that zapzap (PyQt6 WebEngine based application) kept crashing when I removed my laptop from a Dell thunderbolt dock and the stack trace seems to suggest the problem is either with Qt or KDE Plasma. I suspect the former hence why I am reporting here but I don't know enough about Qt to be sure.
Steps to reproduce
- Have a multi-monitor setup.
- Open zapzap on a screen.
- Disconnect the screen that zapzap is on (I have been disconnecting a Dell WD22TB4 dock which has 2 screens connected to it).
Observed result
zapzap crashes with the following error message (when launched from a terminal):
qt.qpa.wayland: There are no outputs - creating placeholder screen [9268:7:0100/000000.043097:ERROR:broker_posix.cc(41)] Recvmsg error: Connection reset by peer (104) [1] 9155 trace trap (core dumped) zapzap
Expected result
zapzap continues to run. The desktop environment moves the window to a remaining screen (this is not happening because of this KDE Plasma issue).
Further details
I printed the stack trace from the coredump:
#0 0x00007f80d8904621 in base::ImmediateCrash () at ../../../../../src/3rdparty/chromium/base/immediate_crash.h:176 #1 logging::CheckFailure () at ../../../../../src/3rdparty/chromium/base/check.h:213 #2 display::ScreenInfos::current () at ./../../../../../src/3rdparty/chromium/ui/display/screen_infos.cc:38 #3 display::ScreenInfos::mutable_current () at ./../../../../../src/3rdparty/chromium/ui/display/screen_infos.cc:29 #4 0x00007f80d29cde36 in QtWebEngineCore::RenderWidgetHostViewQt::updateScreenInfo () at /usr/src/debug/qt6-qtwebengine-6.9.0-1.fc42.x86_64/src/core/render_widget_host_view_qt.cpp:881 #5 0x00007f80d29d2b64 in QtWebEngineCore::RenderWidgetHostViewQtDelegateClient::visualPropertiesChanged () at /usr/src/debug/qt6-qtwebengine-6.9.0-1.fc42.x86_64/src/core/render_widget_host_view_qt_delegate_client.cpp:222 #6 0x00007f80cef6633f in updatePixelRatioHelper (item=0x55d3a1e27910, pixelRatio=pixelRatio@entry=1.25) at /usr/src/debug/qt6-qtdeclarative-6.9.0-2.fc42.x86_64/src/quick/items/qquickwindow.cpp:387 #7 0x00007f80cef662d7 in updatePixelRatioHelper (item=<optimized out>, pixelRatio=pixelRatio@entry=1.25) at /usr/src/debug/qt6-qtdeclarative-6.9.0-2.fc42.x86_64/src/quick/items/qquickwindow.cpp:392 #8 0x00007f80cef662d7 in updatePixelRatioHelper (item=<optimized out>, pixelRatio=1.25) at /usr/src/debug/qt6-qtdeclarative-6.9.0-2.fc42.x86_64/src/quick/items/qquickwindow.cpp:392 #9 0x00007f80cef6ab28 in QQuickWindow::physicalDpiChanged (this=<optimized out>) at /usr/src/debug/qt6-qtdeclarative-6.9.0-2.fc42.x86_64/src/quick/items/qquickwindow.cpp:403 #10 0x00007f80cef6fede in QQuickWindow::event (this=0x55d3a1e2db00, event=<optimized out>) at /usr/src/debug/qt6-qtdeclarative-6.9.0-2.fc42.x86_64/src/quick/items/qquickwindow.cpp:1614 #11 0x00007f80de03d7af in QApplicationPrivate::notify_helper (this=this@entry=0x55d3a0073c70, receiver=0x55d3a1e2db00, e=0x7fff52e1a4f0) at /usr/src/debug/qt6-qtbase-6.9.0-1.fc42.x86_64/src/widgets/kernel/qapplication.cpp:3301 #12 0x00007f80de047657 in QApplication::notify (this=this@entry=0x55d3a04ce9e0, receiver=receiver@entry=0x55d3a1e2db00, e=e@entry=0x7fff52e1a4f0) at /usr/src/debug/qt6-qtbase-6.9.0-1.fc42.x86_64/src/widgets/kernel/qapplication.cpp:3062 #13 0x00007f80dea66fd6 in sipQApplication::notify (this=0x55d3a04ce9e0, a0=0x55d3a1e2db00, a1=0x7fff52e1a4f0) at /usr/src/debug/python-pyqt6-6.9.0-1.fc42.x86_64/build/QtWidgets/sipQtWidgetsQApplication.cpp:249 #14 0x00007f80e34f5fc8 in QCoreApplication::notifyInternal2 (receiver=0x55d3a1e2db00, event=0x7fff52e1a4f0) at /usr/src/debug/qt6-qtbase-6.9.0-1.fc42.x86_64/src/corelib/kernel/qcoreapplication.cpp:1106 #15 0x00007f80e34f622d in QCoreApplication::sendEvent (receiver=<optimized out>, event=<optimized out>) at /usr/src/debug/qt6-qtbase-6.9.0-1.fc42.x86_64/src/corelib/kernel/qcoreapplication.cpp:1546 #16 0x00007f80df5515c6 in QWindowPrivate::updateDevicePixelRatio (this=0x55d3a17e3640) at /usr/src/debug/qt6-qtbase-6.9.0-1.fc42.x86_64/src/gui/kernel/qwindow.cpp:1435 #17 0x00007f80e356033a in QtPrivate::QSlotObjectBase::call (this=0x55d3a1e2db30, r=0x55d3a1e2db00, a=0x7fff52e1a610) at /usr/src/debug/qt6-qtbase-6.9.0-1.fc42.x86_64/src/corelib/kernel/qobjectdefs_impl.h:461 #18 doActivate<false> (sender=0x55d3a1e2db00, signal_index=3, argv=argv@entry=0x7fff52e1a610) at /usr/src/debug/qt6-qtbase-6.9.0-1.fc42.x86_64/src/corelib/kernel/qobject.cpp:4138 #19 0x00007f80e3556d09 in QMetaObject::activate (sender=sender@entry=0x55d3a1e2db00, m=m@entry=0x7f80dfdc2200 <QWindow::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7fff52e1a610) at /usr/src/debug/qt6-qtbase-6.9.0-1.fc42.x86_64/src/corelib/kernel/qobject.cpp:4198 #20 0x00007f80df54ab57 in QMetaObject::activate<void, QScreen*> (sender=0x55d3a1e2db00, mo=0x7f80dfdc2200 <QWindow::staticMetaObject>, local_signal_index=0, ret=0x0) at /usr/src/debug/qt6-qtbase-6.9.0-1.fc42.x86_64/src/corelib/kernel/qobjectdefs.h:306 #21 QWindow::screenChanged (this=this@entry=0x55d3a1e2db00, _t1=<optimized out>, _t1@entry=0x55d3a03ef0e0) at /usr/src/debug/qt6-qtbase-6.9.0-1.fc42.x86_64/redhat-linux-build/src/gui/Gui_autogen/include/moc_qwindow.cpp:574 #22 0x00007f80df54bb38 in QWindowPrivate::emitScreenChangedRecursion (this=<optimized out>, newScreen=0x55d3a03ef0e0) at /usr/src/debug/qt6-qtbase-6.9.0-1.fc42.x86_64/src/gui/kernel/qwindow.cpp:508 #23 0x00007f80df55b7fd in QWindowSystemInterface::handleScreenRemoved (platformScreen=0x55d3a04e0ae0) at /usr/src/debug/qt6-qtbase-6.9.0-1.fc42.x86_64/src/gui/kernel/qwindowsysteminterface.cpp:769 #24 0x00007f80c7a1401d in QtWaylandClient::QWaylandDisplay::registry_global_remove (this=0x55d3a04d2210, id=62) at /usr/src/debug/qt6-qtwayland-6.9.0-3.fc42.x86_64/src/client/qwaylanddisplay.cpp:845 #25 0x00007f80dde63056 in ffi_call_unix64 () at ../src/x86/unix64.S:104 #26 0x00007f80dde5ed08 in ffi_call_int (cif=cif@entry=0x7fff52e1a9c0, fn=fn@entry=0x7f80c7a4a950 <QtWayland::wl_registry::handle_global_remove(void*, wl_registry*, unsigned int)>, rvalue=<optimized out>, rvalue@entry=0x0, avalue=avalue@entry=0x7fff52e1aa90, closure=closure@entry=0x0) at ../src/x86/ffi64.c:673 #27 0x00007f80dde6170e in ffi_call (cif=cif@entry=0x7fff52e1a9c0, fn=0x7f80c7a4a950 <QtWayland::wl_registry::handle_global_remove(void*, wl_registry*, unsigned int)>, rvalue=rvalue@entry=0x0, avalue=avalue@entry=0x7fff52e1aa90) at ../src/x86/ffi64.c:710 #28 0x00007f80c7ef0422 in wl_closure_invoke (closure=closure@entry=0x7f80b0004fe0, target=<optimized out>, target@entry=0x55d3a04cefb0, opcode=opcode@entry=1, data=<optimized out>, flags=1) at ../src/connection.c:1228 #29 0x00007f80c7ef0c79 in dispatch_event (display=display@entry=0x55d3a0495860, queue=queue@entry=0x55d3a0495958) at ../src/wayland-client.c:1674 #30 0x00007f80c7ef1063 in dispatch_queue (display=0x55d3a0495860, queue=0x55d3a0495958) at ../src/wayland-client.c:1820 #31 wl_display_dispatch_queue_pending (display=0x55d3a0495860, queue=0x55d3a0495958) at ../src/wayland-client.c:2062 #32 0x00007f80c7a0f6a2 in QtWaylandClient::QWaylandDisplay::flushRequests (this=<optimized out>) at /usr/src/debug/qt6-qtwayland-6.9.0-3.fc42.x86_64/src/client/qwaylanddisplay.cpp:231 #33 0x00007f80e3550fec in QObject::event (this=<optimized out>, e=<optimized out>) at /usr/src/debug/qt6-qtbase-6.9.0-1.fc42.x86_64/src/corelib/kernel/qobject.cpp:1431 #34 0x00007f80de03d7af in QApplicationPrivate::notify_helper (this=this@entry=0x55d3a04f0620, receiver=0x55d3a04d2210, e=0x7f80b8004490) at /usr/src/debug/qt6-qtbase-6.9.0-1.fc42.x86_64/src/widgets/kernel/qapplication.cpp:3301 #35 0x00007f80de047657 in QApplication::notify (this=this@entry=0x55d3a04ce9e0, receiver=receiver@entry=0x55d3a04d2210, e=0x55d3a00d42e8, e@entry=0x7f80b8004490) at /usr/src/debug/qt6-qtbase-6.9.0-1.fc42.x86_64/src/widgets/kernel/qapplication.cpp:3062 #36 0x00007f80dea66fd6 in sipQApplication::notify (this=0x55d3a04ce9e0, a0=0x55d3a04d2210, a1=0x7f80b8004490) at /usr/src/debug/python-pyqt6-6.9.0-1.fc42.x86_64/build/QtWidgets/sipQtWidgetsQApplication.cpp:249 #37 0x00007f80e34f5fc8 in QCoreApplication::notifyInternal2 (receiver=0x55d3a04d2210, event=0x7f80b8004490) at /usr/src/debug/qt6-qtbase-6.9.0-1.fc42.x86_64/src/corelib/kernel/qcoreapplication.cpp:1106 #38 0x00007f80e34f622d in QCoreApplication::sendEvent (receiver=<optimized out>, event=<optimized out>) at /usr/src/debug/qt6-qtbase-6.9.0-1.fc42.x86_64/src/corelib/kernel/qcoreapplication.cpp:1546 #39 0x00007f80e34f9cf6 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x55d3a00d42a0) at /usr/src/debug/qt6-qtbase-6.9.0-1.fc42.x86_64/src/corelib/kernel/qcoreapplication.cpp:1879 #40 0x00007f80e37ffc2f in postEventSourceDispatch (s=0x55d3a04b5460) at /usr/src/debug/qt6-qtbase-6.9.0-1.fc42.x86_64/src/corelib/kernel/qeventdispatcher_glib.cpp:246 #41 0x00007f80e32ec040 in g_main_dispatch (context=0x55d3a0435990) at ../glib/gmain.c:3398 #42 g_main_context_dispatch_unlocked (context=0x55d3a0435990) at ../glib/gmain.c:4249 #43 0x00007f80e32f5128 in g_main_context_iterate_unlocked (context=context@entry=0x55d3a0435990, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4314 #44 0x00007f80e32f52d3 in g_main_context_iteration (context=0x55d3a0435990, may_block=1) at ../glib/gmain.c:4379 #45 0x00007f80e37ff46d in QEventDispatcherGlib::processEvents (this=0x55d3a03eb940, flags=...) at /usr/src/debug/qt6-qtbase-6.9.0-1.fc42.x86_64/src/corelib/kernel/qeventdispatcher_glib.cpp:399 #46 0x00007f80e3503783 in QEventLoop::exec (this=this@entry=0x7fff52e1b100, flags=..., flags@entry=...) at /usr/src/debug/qt6-qtbase-6.9.0-1.fc42.x86_64/src/corelib/global/qflags.h:77 #47 0x00007f80e34ff249 in QCoreApplication::exec () at /usr/src/debug/qt6-qtbase-6.9.0-1.fc42.x86_64/src/corelib/kernel/qcoreapplication.cpp:1449 #48 0x00007f80df4dab7d in QGuiApplication::exec () at /usr/src/debug/qt6-qtbase-6.9.0-1.fc42.x86_64/src/gui/kernel/qguiapplication.cpp:1993 #49 0x00007f80de03d719 in QApplication::exec () at /usr/src/debug/qt6-qtbase-6.9.0-1.fc42.x86_64/src/widgets/kernel/qapplication.cpp:2568 #50 0x00007f80dea6346a in meth_QApplication_exec (sipSelf=<optimized out>, sipArgs=<optimized out>) at /usr/src/debug/python-pyqt6-6.9.0-1.fc42.x86_64/build/QtWidgets/sipQtWidgetsQApplication.cpp:1289 #51 0x00007f80f2970d3a in cfunction_call (func=0x7f80a43eb790, args=<optimized out>, kwargs=<optimized out>) at /usr/src/debug/python3.13-3.13.3-2.fc42.x86_64/Objects/methodobject.c:551 #52 0x00007f80f293bc4c in _PyObject_MakeTpCall (tstate=0x7f80f2d47870 <_PyRuntime+283024>, callable=0x7f80a43eb790, args=<optimized out>, nargs=<optimized out>, keywords=<optimized out>) at /usr/src/debug/python3.13-3.13.3-2.fc42.x86_64/Objects/call.c:242 #53 0x00007f80f29518c3 in _PyEval_EvalFrameDefault (tstate=<optimized out>, frame=<optimized out>, throwflag=<optimized out>) at /usr/src/debug/python3.13-3.13.3-2.fc42.x86_64/Python/generated_cases.c.h:813 #54 0x00007f80f2a23d6f in PyEval_EvalCode (co=0x55d3a00789f0, globals=<optimized out>, locals=0x7f80e4435100) at /usr/src/debug/python3.13-3.13.3-2.fc42.x86_64/Python/ceval.c:604 #55 0x00007f80f2a6323c in run_eval_code_obj (tstate=tstate@entry=0x7f80f2d47870 <_PyRuntime+283024>, co=co@entry=0x55d3a00789f0, globals=globals@entry=0x7f80e4435100, locals=locals@entry=0x7f80e4435100) at /usr/src/debug/python3.13-3.13.3-2.fc42.x86_64/Python/pythonrun.c:1381 #56 0x00007f80f2a605b3 in run_mod (mod=mod@entry=0x55d3a008d228, filename=filename@entry=0x7f80e4435270, globals=globals@entry=0x7f80e4435100, locals=locals@entry=0x7f80e4435100, flags=flags@entry=0x7fff52e1b678, arena=arena@entry=0x7f80e451bd90, interactive_src=0x0, generate_new_source=0) at /usr/src/debug/python3.13-3.13.3-2.fc42.x86_64/Python/pythonrun.c:1466 #57 0x00007f80f2a5dc87 in pyrun_file (fp=fp@entry=0x55d39ffc21a0, filename=filename@entry=0x7f80e4435270, start=start@entry=257, globals=globals@entry=0x7f80e4435100, locals=locals@entry=0x7f80e4435100, closeit=closeit@entry=1, flags=0x7fff52e1b678) at /usr/src/debug/python3.13-3.13.3-2.fc42.x86_64/Python/pythonrun.c:1295 #58 0x00007f80f2a5cf4f in _PyRun_SimpleFileObject (fp=fp@entry=0x55d39ffc21a0, filename=filename@entry=0x7f80e4435270, closeit=closeit@entry=1, flags=flags@entry=0x7fff52e1b678) at /usr/src/debug/python3.13-3.13.3-2.fc42.x86_64/Python/pythonrun.c:517 #59 0x00007f80f2a5cca1 in _PyRun_AnyFileObject (fp=fp@entry=0x55d39ffc21a0, filename=filename@entry=0x7f80e4435270, closeit=closeit@entry=1, flags=flags@entry=0x7fff52e1b678) at /usr/src/debug/python3.13-3.13.3-2.fc42.x86_64/Python/pythonrun.c:77 #60 0x00007f80f2a5a7e1 in pymain_run_file_obj (program_name=0x7f80e44aedb0, filename=0x7f80e4435270, skip_source_first_line=0) at /usr/src/debug/python3.13-3.13.3-2.fc42.x86_64/Modules/main.c:410 #61 pymain_run_file (config=0x7f80f2d19f68 <_PyRuntime+96392>) at /usr/src/debug/python3.13-3.13.3-2.fc42.x86_64/Modules/main.c:429 #62 pymain_run_python (exitcode=0x7fff52e1b66c) at /usr/src/debug/python3.13-3.13.3-2.fc42.x86_64/Modules/main.c:696 #63 Py_RunMain () at /usr/src/debug/python3.13-3.13.3-2.fc42.x86_64/Modules/main.c:775 #64 0x00007f80f2a113ab in Py_BytesMain (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/python3.13-3.13.3-2.fc42.x86_64/Modules/main.c:829 #65 0x00007f80f26115f5 in __libc_start_call_main (main=main@entry=0x55d37e6f34a0 <main>, argc=argc@entry=2, argv=argv@entry=0x7fff52e1b8d8) at ../sysdeps/nptl/libc_start_call_main.h:58 #66 0x00007f80f26116a8 in __libc_start_main_impl (main=0x55d37e6f34a0 <main>, argc=2, argv=0x7fff52e1b8d8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fff52e1b8c8) at ../csu/libc-start.c:360 #67 0x000055d37e6f33d5 in _start ()
Let me know if any further information would be helpful to debug this.