https://bugs.kde.org/show_bug.cgi?id=474059
Bug ID: 474059 Summary: kwin_wayland crashed in PipeWire code while doing an in-place software upgrade that upgraded PipeWire Classification: Plasma Product: kwin Version: master Platform: Other OS: Linux Status: REPORTED Severity: crash Priority: NOR Component: wayland-generic Assignee: kwin-bugs-n...@kde.org Reporter: n...@kde.org Target Milestone: --- KWin from yesterday's Plasma 6 git master. STEPS TO REPRODUCE 1. Do an in-place upgrade of the system that includes a new version of PipeWire 2. Do something light on the machine that does *not* involve showing KPipeWire-provided Task Manager thumbnails OBSERVED RESULT kwin_wayland crashed in suspiciously in PipeWire code: #0 spa_list_insert (elem=0x3b2e6c0, list=0x800000007000000) at ../spa/include/spa/utils/list.h:44 #1 create_mix (data=data@entry=0x3057288, port=port@entry=0x3e0e200, mix_id=mix_id@entry=4294967295, peer_id=peer_id@entry=4294967295) at ../src/modules/module-client-node/remote-node.c:189 #2 0x00007fd836d3864d in do_node_init (data=0x3057288) at ../src/modules/module-client-node/remote-node.c:964 #3 node_export (core=<optimized out>, object=<optimized out>, do_free=<optimized out>, user_data_size=<optimized out>) at ../src/modules/module-client-node/remote-node.c:1250 #4 0x00007fd8740eba69 in pw_core_export (core=0x41099a0, type=0x7fd874146259 "PipeWire:Interface:Node", props=0x0, object=0x3e0dca0, user_data_size=0) at ../src/pipewire/core.c:279 #5 0x00007fd874130f2e in pw_stream_connect (stream=0x40cb6d0, direction=SPA_DIRECTION_OUTPUT, target_id=<optimized out>, flags=<optimized out>, params=<optimized out>, n_params=<optimized out>) at ../src/pipewire/stream.c:2112 #6 0x00007fd8741cb2b8 in KWin::ScreenCastStream::createStream (this=this@entry=0x39cf710) at /usr/include/qt6/QtCore/qarraydatapointer.h:104 #7 0x00007fd8741cb909 in KWin::ScreenCastStream::init (this=this@entry=0x39cf710) at /home/nate/kde/src/kwin/src/plugins/screencast/screencaststream.cpp:357 #8 0x00007fd8741c2a6e in KWin::ScreencastManager::integrateStreams (this=<optimized out>, waylandStream=0x34e75a0, stream=0x39cf710) at /home/nate/kde/src/kwin/src/plugins/screencast/screencastmanager.cpp:219 #9 0x00007fd897fde394 in QtPrivate::QSlotObjectBase::call (a=0x7ffe5dd836b0, r=0x1b2f600, this=0x21bf560) at /usr/src/debug/qt6-qtbase-6.5.2-1.fc38.x86_64/src/corelib/kernel/qobjectdefs_impl.h:363 #10 doActivate<false> (sender=0x21be8f0, signal_index=5, argv=0x7ffe5dd836b0) at /usr/src/debug/qt6-qtbase-6.5.2-1.fc38.x86_64/src/corelib/kernel/qobject.cpp:3992 #11 0x00007fd897fd4e17 in QMetaObject::activate (sender=<optimized out>, m=m@entry=0x7fd89b96b160 <KWaylandServer::ScreencastV1Interface::staticMetaObject>, local_signal_index=local_signal_index@entry=2, argv=argv@entry=0x7ffe5dd836b0) at /usr/src/debug/qt6-qtbase-6.5.2-1.fc38.x86_64/src/corelib/kernel/qobject.cpp:4052 #12 0x00007fd89b6d8c65 in KWaylandServer::ScreencastV1Interface::windowScreencastRequested ( this=<optimized out>, _t1=<optimized out>, _t2=..., _t3=<optimized out>) at /home/nate/kde/build6/kwin/src/kwin_autogen/include/moc_screencast_v1_interface.cpp:459 #13 0x00007fd89b7b72d3 in QtWaylandServer::zkde_screencast_unstable_v1::handle_stream_window ( client=<optimized out>, resource=<optimized out>, stream=370, window_uuid=0x3ea3980 "{5d9f5314-f2c4-46d7-9a49-b260fd34c7fe}", pointer=1) at /home/nate/kde/build6/kwin/src/wayland/qwayland-server-zkde-screencast-unstable-v1.cpp:262 #14 0x00007fd897496be6 in ffi_call_unix64 () at ../src/x86/unix64.S:104 #15 0x00007fd8974934bf in ffi_call_int (cif=cif@entry=0x7ffe5dd83930, fn=<optimized out>, rvalue=<optimized out>, avalue=<optimized out>, closure=closure@entry=0x0) at ../src/x86/ffi64.c:673 #16 0x00007fd89749618e in ffi_call (cif=cif@entry=0x7ffe5dd83930, fn=<optimized out>, rvalue=rvalue@entry=0x0, avalue=avalue@entry=0x7ffe5dd83a00) at ../src/x86/ffi64.c:710 #17 0x00007fd89affe521 in wl_closure_invoke (closure=0x3ea38a0, flags=<optimized out>, target=<optimized out>, opcode=1, data=<optimized out>) at ../../src/wayland/src/connection.c:1025 #18 0x00007fd89aff9a92 in wl_client_connection_data (fd=<optimized out>, mask=<optimized out>, data=0x2df0a30) at ../../src/wayland/src/wayland-server.c:438 #19 0x00007fd89affc652 in wl_event_loop_dispatch (loop=0x1ad85a0, timeout=<optimized out>) at ../../src/wayland/src/event-loop.c:1104 #20 0x00007fd89b698c64 in KWaylandServer::Display::dispatchEvents (this=<optimized out>) at /home/nate/kde/src/kwin/src/wayland/display.cpp:113 #21 0x00007fd897fde394 in QtPrivate::QSlotObjectBase::call (a=0x7ffe5dd83eb0, r=0x1b6bf40, this=0x1e7d5a0) at /usr/src/debug/qt6-qtbase-6.5.2-1.fc38.x86_64/src/corelib/kernel/qobjectdefs_impl.h:363 #22 doActivate<false> (sender=0x1b5d340, signal_index=3, argv=0x7ffe5dd83eb0) at /usr/src/debug/qt6-qtbase-6.5.2-1.fc38.x86_64/src/corelib/kernel/qobject.cpp:3992 #23 0x00007fd897fd4e17 in QMetaObject::activate (sender=sender@entry=0x1b5d340, m=m@entry=0x7fd89840a0a0, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffe5dd83eb0) at /usr/src/debug/qt6-qtbase-6.5.2-1.fc38.x86_64/src/corelib/kernel/qobject.cpp:4052 #24 0x00007fd897feebfd in QSocketNotifier::activated (this=this@entry=0x1b5d340, _t1=..., _t2=<optimized out>, _t3=...) at /usr/src/debug/qt6-qtbase-6.5.2-1.fc38.x86_64/redhat-linux-build/src/corelib/Core_autogen/include/moc_qsocketnotifier.cpp:231 #25 0x00007fd897fef3fb in QSocketNotifier::event (this=0x1b5d340, e=<optimized out>) at /usr/src/debug/qt6-qtbase-6.5.2-1.fc38.x86_64/src/corelib/kernel/qsocketnotifier.cpp:326 #26 0x00007fd8993c0af8 in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x1b5d340, e=0x7ffe5dd84000) at /usr/src/debug/qt6-qtbase-6.5.2-1.fc38.x86_64/src/widgets/kernel/qapplication.cpp:3287 #27 0x00007fd897f7cdb8 in QCoreApplication::notifyInternal2 (receiver=0x1b5d340, event=0x7ffe5dd84000) at /usr/src/debug/qt6-qtbase-6.5.2-1.fc38.x86_64/src/corelib/kernel/qcoreapplication.cpp:1118 #28 0x00007fd897f7cfbd in QCoreApplication::sendEvent (receiver=<optimized out>, event=<optimized out>) at /usr/src/debug/qt6-qtbase-6.5.2-1.fc38.x86_64/src/corelib/kernel/qcoreapplication.cpp:1536 #29 0x00007fd8980fe10e in QEventDispatcherUNIXPrivate::activateSocketNotifiers ( this=this@entry=0x1b5a0b0) at /usr/src/debug/qt6-qtbase-6.5.2-1.fc38.x86_64/src/corelib/kernel/qeventdispatcher_unix.cpp:268 #30 0x00007fd8980fea37 in QEventDispatcherUNIX::processEvents (this=<optimized out>, flags=...) at /usr/src/debug/qt6-qtbase-6.5.2-1.fc38.x86_64/src/corelib/kernel/qeventdispatcher_unix.cpp:477 #31 0x00007fd898d40092 in QUnixEventDispatcherQPA::processEvents (this=<optimized out>, flags=...) at /usr/src/debug/qt6-qtbase-6.5.2-1.fc38.x86_64/src/gui/platform/unix/qunixeventdispatcher.cpp:27 #32 0x00007fd897f899f3 in QEventLoop::exec (this=this@entry=0x7ffe5dd841c0, flags=..., flags@entry=...) at /usr/src/debug/qt6-qtbase-6.5.2-1.fc38.x86_64/src/corelib/global/qflags.h:34 #33 0x00007fd897f8569d in QCoreApplication::exec () at /usr/src/debug/qt6-qtbase-6.5.2-1.fc38.x86_64/src/corelib/global/qflags.h:74 #34 0x00007fd8987f917d in QGuiApplication::exec () at /usr/src/debug/qt6-qtbase-6.5.2-1.fc38.x86_64/src/gui/kernel/qguiapplication.cpp:1908 #35 0x00007fd8993c0a69 in QApplication::exec () at /usr/src/debug/qt6-qtbase-6.5.2-1.fc38.x86_64/src/widgets/kernel/qapplication.cpp:2566 #36 0x00000000004308e8 in main (argc=<optimized out>, argv=<optimized out>) at /home/nate/kde/src/kwin/src/main_wayland.cpp:613 Normally I do offline upgrades, but Discover is somewhat broken in Plasma 6 right now, so I have been doing `sudo dnf update` instead recently. I can't be sure that the in-place upgrade triggered this, but the timing seems suspicious to me. I was not doing anything that should have triggered any pipewire-related code to be run, though. And it's clearly not ideal for kwin_wayland to crash when performing in-place upgrades. :) -- You are receiving this mail because: You are watching all bug changes.