Details
-
Bug
-
Resolution: Unresolved
-
P2: Important
-
None
-
6.9
-
None
Description
Logging output:
11:52:39.670 qt.multimedia.pipewire.devicemonitor: QtPipeWire::QAudioDeviceMonitor::objectAdded added device 368 "Navi 21/23 HDMI/DP Audio Controller" 11:52:39.670 qt.multimedia.pipewire.devicemonitor: QtPipeWire::QAudioDeviceMonitor::objectAdded added device 369 "Starship/Matisse HD Audio Controller" 11:52:39.670 qt.multimedia.pipewire.devicemonitor: QtPipeWire::QAudioDeviceMonitor::objectAdded(QtPipeWire::ObjectId, uint32_t, QtPipeWire::PipewireRegistryType, uint32_t, const spa_dict&)::<lambda(std::__cxx11::list<QtPipeWire::QAudioDeviceMonitor::PendingNodeRecord>&)> added node for device 373 368
Backtrace
Thread 179 "QAudioContext" received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7ffe4affd6c0 (LWP 69769)] QtPipeWire::(anonymous namespace)::parseSampleFormat (pod=...) at /home/david/projects/kde6/src/qtmultimedia/src/multimedia/pipewire/qpipewire_spa_pod_support.cpp:33 33 if (spa_pod_is_choice(format_pod)) { (gdb) bt #0 QtPipeWire::(anonymous namespace)::parseSampleFormat (pod=...) at /home/david/projects/kde6/src/qtmultimedia/src/multimedia/pipewire/qpipewire_spa_pod_support.cpp:33 #1 0x00007ffff3b40372 in QtPipeWire::SpaObjectAudioFormat::parse (obj=0x555557027610) at /home/david/projects/kde6/src/qtmultimedia/src/multimedia/pipewire/qpipewire_spa_pod_support.cpp:99 #2 0x00007ffff3b40507 in QtPipeWire::SpaObjectAudioFormat::parse (pod=<optimized out>) at /home/david/projects/kde6/src/qtmultimedia/src/multimedia/pipewire/qpipewire_spa_pod_support.cpp:125 #3 0x00007ffff3b2c5c4 in operator() (__closure=0x7ffe60003a40, param=<optimized out>) at /home/david/projects/kde6/src/qtmultimedia/src/multimedia/pipewire/qpipewire_audiodevicemonitor.cpp:499 #4 0x00007ffff3b2c643 in std::__invoke_impl<void, QtPipeWire::QAudioDeviceMonitor::PendingNodeRecord::PendingNodeRecord(QtPipeWire::ObjectId, QtPipeWire::ObjectSerial, QtPipeWire::ObjectSerial, QtPipeWire::PwPropertyDict)::<lambda(int, uint32_t, uint32_t, uint32_t, const spa_pod*)>&, int, unsigned int, unsigned int, unsigned int, const spa_pod*> (__f=<optimized out>) at /usr/include/c++/14.2.1/bits/invoke.h:61 #5 std::__invoke_r<void, QtPipeWire::QAudioDeviceMonitor::PendingNodeRecord::PendingNodeRecord(QtPipeWire::ObjectId, QtPipeWire::ObjectSerial, QtPipeWire::ObjectSerial, QtPipeWire::PwPropertyDict)::<lambda(int, uint32_t, uint32_t, uint32_t, const spa_pod*)>&, int, unsigned int, unsigned int, unsigned int, const spa_pod*> (__fn=<optimized out>) at /usr/include/c++/14.2.1/bits/invoke.h:111 #6 std::_Function_handler<void(int, unsigned int, unsigned int, unsigned int, const spa_pod*), QtPipeWire::QAudioDeviceMonitor::PendingNodeRecord::PendingNodeRecord(QtPipeWire::ObjectId, QtPipeWire::ObjectSerial, QtPipeWire::ObjectSerial, QtPipeWire::PwPropertyDict)::<lambda(int, uint32_t, uint32_t, uint32_t, const spa_pod*)> >::_M_invoke(const std::_Any_data &, int &&, unsigned int &&, unsigned int &&, unsigned int &&, const spa_pod *&&) (__functor=<optimized out>, __args#0=<optimized out>, __args#1=<optimized out>, __args#2=<optimized out>, __args#3=<optimized out>, __args#4=<optimized out>) at /usr/include/c++/14.2.1/bits/std_function.h:290 #7 0x00007ffff3b2411b in std::function<void(int, unsigned int, unsigned int, unsigned int, spa_pod const*)>::operator() (this=<optimized out>, __args#0=<optimized out>, __args#1=<optimized out>, __args#2=<optimized out>, __args#3=<optimized out>, __args#4=<optimized out>) at /usr/include/c++/14.2.1/bits/std_function.h:591 #8 0x00007ffff3b23cfa in QtPipeWire::NodeEventListener::onParam (data=<optimized out>, seq=<optimized out>, id=<optimized out>, index=<optimized out>, next=<optimized out>, param=<optimized out>) at /home/david/projects/kde6/src/qtmultimedia/src/multimedia/pipewire/qpipewire_async_support.cpp:69 #9 0x00007ffe9cdcf314 in port_demarshal_param (data=<optimized out>, msg=<optimized out>) at ../pipewire/src/modules/module-protocol-native/protocol-native.c:1440 #10 0x00007ffe9cdbf204 in process_remote (impl=impl@entry=0x5555564781d0) at ../pipewire/src/modules/module-protocol-native.c:1095 #11 0x00007ffe9cdbf8b8 in on_remote_data (data=0x5555564781d0, fd=78, mask=1) at ../pipewire/src/modules/module-protocol-native.c:1129 #12 0x00007fff16fe4d66 in loop_iterate (object=0x555558711648, timeout=<optimized out>) at ../pipewire/spa/plugins/support/loop.c:726 #13 0x00007fffecbb3fd7 in spa_loop_control_iterate_fast (object=<optimized out>, timeout=-1) at ../pipewire/spa/include/spa/support/loop.h:309 #14 pw_loop_iterate (object=<optimized out>, timeout=-1) at ../pipewire/src/pipewire/loop.h:89
Steps to reproduce (if you have KDE). Open spectacle, make a recording, when it goes to load the preview of the recorded output, it breaks.
I could probably try and save that and run it in a minimal example if needed