pipewire crash when starting a video stream
If you are filing this issue with a regular release please try master as it might already be fixed.
Version, Distribution, Desktop Environment:
pipewire 0.3.24
Fedora 34 Beta
GNOME 40
Description of Problem:
Using the XDG portal to request a screen cast of the user desktop returns an array of pipewire file descriptors as streams. Passing those as the fd
property of pipewiresrc
GStreamer element should normally work except it crashes and here are the logs I get by running my application with PIPEWIRE_DEBUG=5 my-app
[D][pipewire.c:249 pw_load_spa_handle()] load lib:'support/libspa-support' factory-name:'support.log'
[D][pipewire.c:131 open_plugin()] loaded plugin:'/usr/lib/x86_64-linux-gnu/spa-0.2/support/libspa-support.so'
[D][000004289.871741][logger.c:287 impl_init()] logger 0x5555571b8358: initialized
[D][000004289.871769][pipewire.c:249 pw_load_spa_handle()] load lib:'support/libspa-support' factory-name:'support.cpu'
[D][000004289.871784][cpu.c:192 impl_init()] cpu 0x5555571d1088: count:8 align:32 flags:00004bdb
[I][000004289.871791][pipewire.c:458 pw_init()] version 0.3.21
[D][000004289.924389][thread-loop.c:114 loop_new()] thread-loop 0x5555571de790: new
[D][000004289.924474][pipewire.c:249 pw_load_spa_handle()] load lib:'support/libspa-support' factory-name:'support.system'
[D][000004289.924495][system.c:348 impl_init()] system 0x5555571de8f8: initialized
[D][000004289.924524][pipewire.c:249 pw_load_spa_handle()] load lib:'support/libspa-support' factory-name:'support.loop'
[D][000004289.924557][system.c:112 impl_pollfd_create()] system 0x5555571de8f8: new fd:25
[D][000004289.924571][system.c:218 impl_eventfd_create()] system 0x5555571de8f8: new fd:26
[D][000004289.924601][system.c:218 impl_eventfd_create()] system 0x5555571de8f8: new fd:27
[D][000004289.924606][loop.c:815 impl_init()] loop 0x55555729fda8: initialized
[D][000004289.924620][system.c:218 impl_eventfd_create()] system 0x5555571de8f8: new fd:28
[D][000004289.924628][context.c:212 pw_context_new()] context 0x5555571b61d0: new
[D][000004289.924684][data-loop.c:110 loop_new()] data-loop 0x55555718ce70: new
[D][000004289.924694][pipewire.c:249 pw_load_spa_handle()] load lib:'support/libspa-support' factory-name:'support.system'
[D][000004289.924702][system.c:348 impl_init()] system 0x5555571ddc28: initialized
[D][000004289.924709][pipewire.c:249 pw_load_spa_handle()] load lib:'support/libspa-support' factory-name:'support.loop'
[D][000004289.924727][system.c:112 impl_pollfd_create()] system 0x5555571ddc28: new fd:34
[D][000004289.924739][system.c:218 impl_eventfd_create()] system 0x5555571ddc28: new fd:35
[D][000004289.924751][system.c:218 impl_eventfd_create()] system 0x5555571ddc28: new fd:36
[D][000004289.924758][loop.c:815 impl_init()] loop 0x55555713c838: initialized
[D][000004289.924771][system.c:218 impl_eventfd_create()] system 0x5555571ddc28: new fd:37
[D][000004289.924795][mem.c:147 pw_mempool_new()] mempool 0x55555718d060: new
[D][000004289.924803][pipewire.c:249 pw_load_spa_handle()] load lib:'support/libspa-dbus' factory-name:'support.dbus'
[D][000004289.969467][pipewire.c:131 open_plugin()] loaded plugin:'/usr/lib/x86_64-linux-gnu/spa-0.2/support/libspa-dbus.so'
[D][000004289.969499][dbus.c:403 impl_init()] dbus 0x5555571b70f8: initialized
[D][000004289.978571][impl-core.c:425 pw_context_create_core()] impl-core 0x5555571b7320: new pipewire-bilelmoussaoui-51
[D][000004289.978598][global.c:106 pw_global_new()] global 0x5555571dfbf0: new PipeWire:Interface:Core 0
[D][000004289.978609][global.c:150 pw_global_register()] global 0x5555571dfbf0: registered 0
[New Thread 0x7fffee106700 (LWP 85)]
[D][000004289.978915][context.c:325 pw_context_new()] context 0x5555571b61d0: module profile default
[D][000004289.978927][context.c:82 load_module_profiles()] context 0x5555571b61d0: loading default profile
[D][000004289.978926][data-loop.c:73 do_loop()] data-loop 0x55555718ce70: enter thread
[T][000004289.978944][loop.c:264 loop_enter()] loop 0x55555713c838: enter 140737187440384
[D][000004289.978960][impl-module.c:184 pw_context_load_module()] moduledir set to: /usr/lib/x86_64-linux-gnu/pipewire-0.3
[D][000004289.978977][impl-module.c:192 pw_context_load_module()] trying to load module: libpipewire-module-protocol-native (/usr/lib/x86_64-linux-gnu/pipewire-0.3/libpipewire-module-protocol-native.so) args((null))
[D][000004289.989434][global.c:106 pw_global_new()] global 0x5555571e0aa0: new PipeWire:Interface:Module 1
[D][000004289.989495][protocol.c:70 pw_protocol_new()] protocol 0x5555571e0bd0: Created protocol PipeWire:Protocol:Native
[D][000004289.989507][protocol.c:154 pw_protocol_add_marshal()] protocol 0x5555571e0bd0: Add marshal PipeWire:Interface:Core/3 to protocol PipeWire:Protocol:Native
[D][000004289.989515][protocol.c:154 pw_protocol_add_marshal()] protocol 0x5555571e0bd0: Add marshal PipeWire:Interface:Registry/3 to protocol PipeWire:Protocol:Native
[D][000004289.989521][protocol.c:154 pw_protocol_add_marshal()] protocol 0x5555571e0bd0: Add marshal PipeWire:Interface:Module/3 to protocol PipeWire:Protocol:Native
[D][000004289.989526][protocol.c:154 pw_protocol_add_marshal()] protocol 0x5555571e0bd0: Add marshal PipeWire:Interface:Device/3 to protocol PipeWire:Protocol:Native
[D][000004289.989546][protocol.c:154 pw_protocol_add_marshal()] protocol 0x5555571e0bd0: Add marshal PipeWire:Interface:Node/3 to protocol PipeWire:Protocol:Native
[D][000004289.989552][protocol.c:154 pw_protocol_add_marshal()] protocol 0x5555571e0bd0: Add marshal PipeWire:Interface:Port/3 to protocol PipeWire:Protocol:Native
[D][000004289.989558][protocol.c:154 pw_protocol_add_marshal()] protocol 0x5555571e0bd0: Add marshal PipeWire:Interface:Factory/3 to protocol PipeWire:Protocol:Native
[D][000004289.989564][protocol.c:154 pw_protocol_add_marshal()] protocol 0x5555571e0bd0: Add marshal PipeWire:Interface:Client/3 to protocol PipeWire:Protocol:Native
[D][000004289.989571][protocol.c:154 pw_protocol_add_marshal()] protocol 0x5555571e0bd0: Add marshal PipeWire:Interface:Link/3 to protocol PipeWire:Protocol:Native
[D][000004289.989583][protocol.c:154 pw_protocol_add_marshal()] protocol 0x5555571e0bd0: Add marshal PipeWire:Interface:Core/0 to protocol PipeWire:Protocol:Native
[D][000004289.989590][protocol.c:154 pw_protocol_add_marshal()] protocol 0x5555571e0bd0: Add marshal PipeWire:Interface:Registry/0 to protocol PipeWire:Protocol:Native
[D][000004289.989595][protocol.c:154 pw_protocol_add_marshal()] protocol 0x5555571e0bd0: Add marshal PipeWire:Interface:Module/0 to protocol PipeWire:Protocol:Native
[D][000004289.989602][protocol.c:154 pw_protocol_add_marshal()] protocol 0x5555571e0bd0: Add marshal PipeWire:Interface:Node/0 to protocol PipeWire:Protocol:Native
[D][000004289.989608][protocol.c:154 pw_protocol_add_marshal()] protocol 0x5555571e0bd0: Add marshal PipeWire:Interface:Port/0 to protocol PipeWire:Protocol:Native
[D][000004289.989614][protocol.c:154 pw_protocol_add_marshal()] protocol 0x5555571e0bd0: Add marshal PipeWire:Interface:Factory/0 to protocol PipeWire:Protocol:Native
[D][000004289.989620][protocol.c:154 pw_protocol_add_marshal()] protocol 0x5555571e0bd0: Add marshal PipeWire:Interface:Client/0 to protocol PipeWire:Protocol:Native
[D][000004289.989627][protocol.c:154 pw_protocol_add_marshal()] protocol 0x5555571e0bd0: Add marshal PipeWire:Interface:Link/0 to protocol PipeWire:Protocol:Native
[D][000004289.989633][module-protocol-native.c:1278 pipewire__module_init()] protocol-native 0x5555571e0bd0: new debug:0
[D][000004289.989638][module-protocol-native.c:1112 create_server()] protocol-native 0x5555571e0bd0: created server 0x5555571e0ef0
[D][000004289.989647][impl-module.c:360 pw_impl_module_update_properties()] module 0x5555571e07d0: updated 3 properties
[D][000004289.989652][global.c:150 pw_global_register()] global 0x5555571e0aa0: registered 1
[D][000004289.989655][impl-module.c:256 pw_context_load_module()] module 0x5555571e07d0: loaded module: libpipewire-module-protocol-native
[D][000004289.989660][impl-module.c:184 pw_context_load_module()] moduledir set to: /usr/lib/x86_64-linux-gnu/pipewire-0.3
[D][000004289.989672][impl-module.c:192 pw_context_load_module()] trying to load module: libpipewire-module-client-node (/usr/lib/x86_64-linux-gnu/pipewire-0.3/libpipewire-module-client-node.so) args((null))
[D][000004290.001158][global.c:106 pw_global_new()] global 0x5555571e1c00: new PipeWire:Interface:Module 2
[D][000004290.001183][impl-factory.c:70 pw_context_create_factory()] factory 0x5555571e1e80: new client-node
[D][000004290.001189][module-client-node.c:168 pipewire__module_init()] module 0x5555571e1930: new
[D][000004290.001198][protocol.c:154 pw_protocol_add_marshal()] protocol 0x5555571e0bd0: Add marshal PipeWire:Interface:ClientNode/3 to protocol PipeWire:Protocol:Native
[D][000004290.001204][protocol.c:154 pw_protocol_add_marshal()] protocol 0x5555571e0bd0: Add marshal PipeWire:Interface:ClientNode/0 to protocol PipeWire:Protocol:Native
[D][000004290.001209][context.c:1093 pw_context_register_export_type()] context 0x5555571b61d0: Add export type PipeWire:Interface:Node to context
[D][000004290.001213][context.c:1093 pw_context_register_export_type()] context 0x5555571b61d0: Add export type Spa:Pointer:Interface:Node to context
[D][000004290.001219][impl-module.c:360 pw_impl_module_update_properties()] module 0x5555571e1930: updated 3 properties
[D][000004290.001223][global.c:150 pw_global_register()] global 0x5555571e1c00: registered 2
[D][000004290.001227][impl-factory.c:161 pw_impl_factory_update_properties()] factory 0x5555571e1e80: updated 1 properties
[D][000004290.001231][global.c:106 pw_global_new()] global 0x5555572a80f0: new PipeWire:Interface:Factory 3
[D][000004290.001238][global.c:150 pw_global_register()] global 0x5555572a80f0: registered 3
[D][000004290.001241][impl-module.c:256 pw_context_load_module()] module 0x5555571e1930: loaded module: libpipewire-module-client-node
[D][000004290.001247][impl-module.c:184 pw_context_load_module()] moduledir set to: /usr/lib/x86_64-linux-gnu/pipewire-0.3
[D][000004290.001258][impl-module.c:192 pw_context_load_module()] trying to load module: libpipewire-module-client-device (/usr/lib/x86_64-linux-gnu/pipewire-0.3/libpipewire-module-client-device.so) args((null))
[D][000004290.009881][global.c:106 pw_global_new()] global 0x5555572a8d60: new PipeWire:Interface:Module 4
[D][000004290.009899][impl-factory.c:70 pw_context_create_factory()] factory 0x5555572a9020: new client-device
[D][000004290.009903][module-client-device.c:182 pipewire__module_init()] module 0x5555572a8a90: new
[D][000004290.009907][protocol.c:154 pw_protocol_add_marshal()] protocol 0x5555571e0bd0: Add marshal Spa:Pointer:Interface:Device/0 to protocol PipeWire:Protocol:Native
[D][000004290.009911][context.c:1093 pw_context_register_export_type()] context 0x5555571b61d0: Add export type Spa:Pointer:Interface:Device to context
[D][000004290.009916][impl-module.c:360 pw_impl_module_update_properties()] module 0x5555572a8a90: updated 3 properties
[D][000004290.009919][global.c:150 pw_global_register()] global 0x5555572a8d60: registered 4
[D][000004290.009925][impl-factory.c:161 pw_impl_factory_update_properties()] factory 0x5555572a9020: updated 1 properties
[D][000004290.009929][global.c:106 pw_global_new()] global 0x5555572a9400: new PipeWire:Interface:Factory 5
[D][000004290.009936][global.c:150 pw_global_register()] global 0x5555572a9400: registered 5
[D][000004290.009940][impl-module.c:256 pw_context_load_module()] module 0x5555572a8a90: loaded module: libpipewire-module-client-device
[D][000004290.009945][impl-module.c:184 pw_context_load_module()] moduledir set to: /usr/lib/x86_64-linux-gnu/pipewire-0.3
[D][000004290.009955][impl-module.c:192 pw_context_load_module()] trying to load module: libpipewire-module-adapter (/usr/lib/x86_64-linux-gnu/pipewire-0.3/libpipewire-module-adapter.so) args((null))
[D][000004290.020237][global.c:106 pw_global_new()] global 0x5555572aa100: new PipeWire:Interface:Module 6
[D][000004290.020269][impl-factory.c:70 pw_context_create_factory()] factory 0x5555572aa3a0: new adapter
[D][000004290.020278][module-adapter.c:320 pipewire__module_init()] module 0x5555572a9e50: new
[D][000004290.020285][impl-module.c:360 pw_impl_module_update_properties()] module 0x5555572a9e50: updated 3 properties
[D][000004290.020291][global.c:150 pw_global_register()] global 0x5555572aa100: registered 6
[D][000004290.020296][impl-factory.c:161 pw_impl_factory_update_properties()] factory 0x5555572aa3a0: updated 1 properties
[D][000004290.020301][global.c:106 pw_global_new()] global 0x5555572aa740: new PipeWire:Interface:Factory 7
[D][000004290.020308][global.c:150 pw_global_register()] global 0x5555572aa740: registered 7
[D][000004290.020312][impl-module.c:256 pw_context_load_module()] module 0x5555572a9e50: loaded module: libpipewire-module-adapter
[D][000004290.020319][impl-module.c:184 pw_context_load_module()] moduledir set to: /usr/lib/x86_64-linux-gnu/pipewire-0.3
[D][000004290.020336][impl-module.c:192 pw_context_load_module()] trying to load module: libpipewire-module-metadata (/usr/lib/x86_64-linux-gnu/pipewire-0.3/libpipewire-module-metadata.so) args((null))
[D][000004290.030729][global.c:106 pw_global_new()] global 0x5555572ab400: new PipeWire:Interface:Module 8
[D][000004290.030755][protocol.c:154 pw_protocol_add_marshal()] protocol 0x5555571e0bd0: Add marshal PipeWire:Interface:Metadata/3 to protocol PipeWire:Protocol:Native
[D][000004290.030762][protocol.c:154 pw_protocol_add_marshal()] protocol 0x5555571e0bd0: Add marshal PipeWire:Interface:Metadata/3 to protocol PipeWire:Protocol:Native
[D][000004290.030768][impl-factory.c:70 pw_context_create_factory()] factory 0x5555572ab6c0: new metadata
[D][000004290.030775][module-metadata.c:173 pipewire__module_init()] module 0x5555572ab150: new
[D][000004290.030781][context.c:1093 pw_context_register_export_type()] context 0x5555571b61d0: Add export type PipeWire:Interface:Metadata to context
[D][000004290.030789][impl-module.c:360 pw_impl_module_update_properties()] module 0x5555572ab150: updated 3 properties
[D][000004290.030795][global.c:150 pw_global_register()] global 0x5555572ab400: registered 8
[D][000004290.030801][impl-factory.c:161 pw_impl_factory_update_properties()] factory 0x5555572ab6c0: updated 1 properties
[D][000004290.030808][global.c:106 pw_global_new()] global 0x5555572aba70: new PipeWire:Interface:Factory 9
[D][000004290.030817][global.c:150 pw_global_register()] global 0x5555572aba70: registered 9
[D][000004290.030821][impl-module.c:256 pw_context_load_module()] module 0x5555572ab150: loaded module: libpipewire-module-metadata
[D][000004290.030829][impl-module.c:184 pw_context_load_module()] moduledir set to: /usr/lib/x86_64-linux-gnu/pipewire-0.3
[D][000004290.030859][impl-module.c:192 pw_context_load_module()] trying to load module: libpipewire-module-session-manager (/usr/lib/x86_64-linux-gnu/pipewire-0.3/libpipewire-module-session-manager.so) args((null))
[D][000004290.041200][global.c:106 pw_global_new()] global 0x5555572ac890: new PipeWire:Interface:Module 10
[D][000004290.041223][protocol.c:154 pw_protocol_add_marshal()] protocol 0x5555571e0bd0: Add marshal PipeWire:Interface:ClientEndpoint/0 to protocol PipeWire:Protocol:Native
[D][000004290.041228][protocol.c:154 pw_protocol_add_marshal()] protocol 0x5555571e0bd0: Add marshal PipeWire:Interface:ClientSession/0 to protocol PipeWire:Protocol:Native
[D][000004290.041232][protocol.c:154 pw_protocol_add_marshal()] protocol 0x5555571e0bd0: Add marshal PipeWire:Interface:EndpointLink/0 to protocol PipeWire:Protocol:Native
[D][000004290.041235][protocol.c:154 pw_protocol_add_marshal()] protocol 0x5555571e0bd0: Add marshal PipeWire:Interface:EndpointStream/0 to protocol PipeWire:Protocol:Native
[D][000004290.041239][protocol.c:154 pw_protocol_add_marshal()] protocol 0x5555571e0bd0: Add marshal PipeWire:Interface:Endpoint/0 to protocol PipeWire:Protocol:Native
[D][000004290.041243][protocol.c:154 pw_protocol_add_marshal()] protocol 0x5555571e0bd0: Add marshal PipeWire:Interface:Session/0 to protocol PipeWire:Protocol:Native
[D][000004290.041246][protocol.c:154 pw_protocol_add_marshal()] protocol 0x5555571e0bd0: Add marshal PipeWire:Interface:EndpointLink/0 to protocol PipeWire:Protocol:Native
[D][000004290.041250][protocol.c:154 pw_protocol_add_marshal()] protocol 0x5555571e0bd0: Add marshal PipeWire:Interface:EndpointStream/0 to protocol PipeWire:Protocol:Native
[D][000004290.041254][protocol.c:154 pw_protocol_add_marshal()] protocol 0x5555571e0bd0: Add marshal PipeWire:Interface:Endpoint/0 to protocol PipeWire:Protocol:Native
[D][000004290.041257][protocol.c:154 pw_protocol_add_marshal()] protocol 0x5555571e0bd0: Add marshal PipeWire:Interface:Session/0 to protocol PipeWire:Protocol:Native
[D][000004290.041262][impl-factory.c:70 pw_context_create_factory()] factory 0x5555572acc50: new client-endpoint
[D][000004290.041266][impl-factory.c:70 pw_context_create_factory()] factory 0x5555572acec0: new client-session
[D][000004290.041272][impl-factory.c:70 pw_context_create_factory()] factory 0x5555572ad130: new session
[D][000004290.041287][context.c:1093 pw_context_register_export_type()] context 0x5555571b61d0: Add export type PipeWire:Interface:Session to context
[D][000004290.041294][impl-factory.c:70 pw_context_create_factory()] factory 0x5555572ad3c0: new endpoint
[D][000004290.041298][context.c:1093 pw_context_register_export_type()] context 0x5555571b61d0: Add export type PipeWire:Interface:Endpoint to context
[D][000004290.041301][impl-factory.c:70 pw_context_create_factory()] factory 0x5555572ad650: new endpoint-stream
[D][000004290.041305][context.c:1093 pw_context_register_export_type()] context 0x5555571b61d0: Add export type PipeWire:Interface:EndpointStream to context
[D][000004290.041308][impl-factory.c:70 pw_context_create_factory()] factory 0x5555572ad8e0: new endpoint-link
[D][000004290.041312][context.c:1093 pw_context_register_export_type()] context 0x5555571b61d0: Add export type PipeWire:Interface:EndpointLink to context
[D][000004290.041316][impl-module.c:360 pw_impl_module_update_properties()] module 0x5555572ac5f0: updated 3 properties
[D][000004290.041319][global.c:150 pw_global_register()] global 0x5555572ac890: registered 10
[D][000004290.041323][impl-factory.c:161 pw_impl_factory_update_properties()] factory 0x5555572acc50: updated 1 properties
[D][000004290.041326][global.c:106 pw_global_new()] global 0x5555572adcb0: new PipeWire:Interface:Factory 11
[D][000004290.041332][global.c:150 pw_global_register()] global 0x5555572adcb0: registered 11
[D][000004290.041335][impl-factory.c:161 pw_impl_factory_update_properties()] factory 0x5555572acec0: updated 1 properties
[D][000004290.041339][global.c:106 pw_global_new()] global 0x5555572ae0e0: new PipeWire:Interface:Factory 12
[D][000004290.041343][global.c:150 pw_global_register()] global 0x5555572ae0e0: registered 12
[D][000004290.041347][impl-factory.c:161 pw_impl_factory_update_properties()] factory 0x5555572ad130: updated 1 properties
[D][000004290.041350][global.c:106 pw_global_new()] global 0x5555572ae510: new PipeWire:Interface:Factory 13
[D][000004290.041355][global.c:150 pw_global_register()] global 0x5555572ae510: registered 13
[D][000004290.041358][impl-factory.c:161 pw_impl_factory_update_properties()] factory 0x5555572ad3c0: updated 1 properties
[D][000004290.041361][global.c:106 pw_global_new()] global 0x5555572ae940: new PipeWire:Interface:Factory 14
[D][000004290.041366][global.c:150 pw_global_register()] global 0x5555572ae940: registered 14
[D][000004290.041369][impl-factory.c:161 pw_impl_factory_update_properties()] factory 0x5555572ad650: updated 1 properties
[D][000004290.041372][global.c:106 pw_global_new()] global 0x5555572aed70: new PipeWire:Interface:Factory 15
[D][000004290.041377][global.c:150 pw_global_register()] global 0x5555572aed70: registered 15
[D][000004290.041380][impl-factory.c:161 pw_impl_factory_update_properties()] factory 0x5555572ad8e0: updated 1 properties
[D][000004290.041384][global.c:106 pw_global_new()] global 0x5555572af1a0: new PipeWire:Interface:Factory 16
[D][000004290.041388][global.c:150 pw_global_register()] global 0x5555572af1a0: registered 16
[D][000004290.041391][impl-module.c:256 pw_context_load_module()] module 0x5555572ac5f0: loaded module: libpipewire-module-session-manager
[D][000004290.041395][context.c:332 pw_context_new()] context 0x5555571b61d0: created
[New Thread 0x7fffca28d700 (LWP 86)]
[D][000004290.041561][thread-loop.c:238 do_loop()] thread-loop 0x5555571de790: enter thread
[T][000004290.041582][loop.c:264 loop_enter()] loop 0x55555729fda8: enter 140736585062144
[T][000004290.041608][thread-loop.c:312 pw_thread_loop_lock()] thread-loop: 0x5555571de790
[D][000004290.041621][core.c:323 core_new()] core 0x5555572af680: new
[D][000004290.041636][mem.c:147 pw_mempool_new()] mempool 0x5555572b0050: new
[D][000004290.041644][module-protocol-native.c:985 impl_new_client()] protocol-native 0x5555571e0bd0: new client 0x5555572b00c0
[D][000004290.041652][connection.c:371 pw_protocol_native_connection_new()] connection 0x5555572b0170: new fd:-1
[D][000004290.041663][module-protocol-native.c:1009 impl_new_client()] protocol-native 0x5555571e0bd0: connect generic
[D][000004290.041670][proxy.c:112 pw_proxy_new()] proxy 0x5555572b22f0: new 1 type PipeWire:Interface:Client/3 core-proxy:0x5555572af680, marshal:0x7fffca387ea0
[D][000004290.041684][core.c:442 pw_context_connect_fd()] core 0x5555572af680: connect fd:-1
[D][000004290.041689][connection.c:404 pw_protocol_native_connection_set_fd()] connection 0x5555572b0170: fd:-1
[D][000004290.041697][connection.c:419 pw_protocol_native_connection_destroy()] connection 0x5555572b0170: destroy
[D][000004290.041703][core.c:494 pw_core_disconnect()] core 0x5555572af680: disconnect
[D][000004290.041708][proxy.c:272 pw_proxy_remove()] proxy 0x5555572af680: remove id:0 removed:0 destroyed:0 zombie:0 ref:1
[D][000004290.041714][core.c:209 proxy_core_removed()] core 0x5555572af680: core proxy removed
[D][000004290.041719][proxy.c:272 pw_proxy_remove()] proxy 0x5555572b22f0: remove id:1 removed:0 destroyed:0 zombie:0 ref:1
[D][000004290.041725][proxy.c:234 pw_proxy_destroy()] proxy 0x5555572af680: destroy id:0 removed:1 zombie:0 ref:1
[D][000004290.041730][core.c:231 proxy_core_destroy()] core 0x5555572af680: core proxy destroy
[D][000004290.041735][proxy.c:234 pw_proxy_destroy()] proxy 0x5555572b22f0: destroy id:1 removed:1 zombie:0 ref:1
[D][000004290.041740][proxy.c:299 pw_proxy_unref()] proxy 0x5555572b22f0: free 1
[D][000004290.041745][mem.c:174 pw_mempool_destroy()] mempool 0x5555572b0050: destroy
[D][000004290.041750][mem.c:163 pw_mempool_clear()] mempool 0x5555572b0050: clear
[D][000004290.041755][core.c:251 proxy_core_destroy()] core 0x5555572af680: free
[D][000004290.041762][proxy.c:299 pw_proxy_unref()] proxy 0x5555572af680: free 0
[T][000004290.041767][thread-loop.c:324 pw_thread_loop_unlock()] thread-loop: 0x5555571de790
[D][000004290.041773][context.c:367 pw_context_destroy()] context 0x5555571b61d0: destroy
[D][000004290.041778][impl-module.c:308 pw_impl_module_destroy()] module 0x5555571e07d0: destroy
[D][000004290.041783][protocol.c:109 pw_protocol_destroy()] protocol 0x5555571e0bd0: destroy
[D][000004290.041788][module-protocol-native.c:1039 destroy_server()] protocol-native 0x5555571e0bd0: server 0x5555571e0ef0
[D][000004290.041795][global.c:379 pw_global_destroy()] global 0x5555571e0aa0: destroy 1
[D][000004290.041800][global.c:175 global_unregister()] global 0x5555571e0aa0: unregistered 1
[D][000004290.041804][global.c:387 pw_global_destroy()] global 0x5555571e0aa0: free
[D][000004290.041810][impl-module.c:317 pw_impl_module_destroy()] module 0x5555571e07d0: free
[D][000004290.041850][impl-module.c:308 pw_impl_module_destroy()] module 0x5555571e1930: destroy
[D][000004290.041857][impl-factory.c:84 pw_impl_factory_destroy()] factory 0x5555571e1e80: destroy
[D][000004290.041862][global.c:379 pw_global_destroy()] global 0x5555572a80f0: destroy 3
[D][000004290.041867][global.c:175 global_unregister()] global 0x5555572a80f0: unregistered 3
[D][000004290.041871][global.c:387 pw_global_destroy()] global 0x5555572a80f0: free
[D][000004290.041877][impl-factory.c:96 pw_impl_factory_destroy()] factory 0x5555571e1e80: free
[D][000004290.041882][global.c:379 pw_global_destroy()] global 0x5555571e1c00: destroy 2
[D][000004290.041887][global.c:175 global_unregister()] global 0x5555571e1c00: unregistered 2
[D][000004290.041892][global.c:387 pw_global_destroy()] global 0x5555571e1c00: free
[D][000004290.041897][impl-module.c:317 pw_impl_module_destroy()] module 0x5555571e1930: free
[D][000004290.049669][impl-module.c:308 pw_impl_module_destroy()] module 0x5555572a8a90: destroy
[D][000004290.049686][impl-factory.c:84 pw_impl_factory_destroy()] factory 0x5555572a9020: destroy
[D][000004290.049692][global.c:379 pw_global_destroy()] global 0x5555572a9400: destroy 5
[D][000004290.049698][global.c:175 global_unregister()] global 0x5555572a9400: unregistered 5
[D][000004290.049703][global.c:387 pw_global_destroy()] global 0x5555572a9400: free
[D][000004290.049709][impl-factory.c:96 pw_impl_factory_destroy()] factory 0x5555572a9020: free
[D][000004290.049715][global.c:379 pw_global_destroy()] global 0x5555572a8d60: destroy 4
[D][000004290.049720][global.c:175 global_unregister()] global 0x5555572a8d60: unregistered 4
[D][000004290.049725][global.c:387 pw_global_destroy()] global 0x5555572a8d60: free
[D][000004290.049730][impl-module.c:317 pw_impl_module_destroy()] module 0x5555572a8a90: free
[D][000004290.056804][impl-module.c:308 pw_impl_module_destroy()] module 0x5555572a9e50: destroy
[D][000004290.056837][module-adapter.c:263 module_destroy()] adapter 0x5555572aa458: destroy
[D][000004290.056849][impl-factory.c:84 pw_impl_factory_destroy()] factory 0x5555572aa3a0: destroy
[D][000004290.056856][global.c:379 pw_global_destroy()] global 0x5555572aa740: destroy 7
[D][000004290.056862][global.c:175 global_unregister()] global 0x5555572aa740: unregistered 7
[D][000004290.056866][global.c:387 pw_global_destroy()] global 0x5555572aa740: free
[D][000004290.056875][impl-factory.c:96 pw_impl_factory_destroy()] factory 0x5555572aa3a0: free
[D][000004290.056882][global.c:379 pw_global_destroy()] global 0x5555572aa100: destroy 6
[D][000004290.056886][global.c:175 global_unregister()] global 0x5555572aa100: unregistered 6
[D][000004290.056889][global.c:387 pw_global_destroy()] global 0x5555572aa100: free
[D][000004290.056895][impl-module.c:317 pw_impl_module_destroy()] module 0x5555572a9e50: free
[D][000004290.064757][impl-module.c:308 pw_impl_module_destroy()] module 0x5555572ab150: destroy
[D][000004290.064785][impl-factory.c:84 pw_impl_factory_destroy()] factory 0x5555572ab6c0: destroy
[D][000004290.064791][global.c:379 pw_global_destroy()] global 0x5555572aba70: destroy 9
[D][000004290.064798][global.c:175 global_unregister()] global 0x5555572aba70: unregistered 9
[D][000004290.064806][global.c:387 pw_global_destroy()] global 0x5555572aba70: free
[D][000004290.064826][impl-factory.c:96 pw_impl_factory_destroy()] factory 0x5555572ab6c0: free
[D][000004290.064831][global.c:379 pw_global_destroy()] global 0x5555572ab400: destroy 8
[D][000004290.064833][global.c:175 global_unregister()] global 0x5555572ab400: unregistered 8
[D][000004290.064835][global.c:387 pw_global_destroy()] global 0x5555572ab400: free
[D][000004290.064838][impl-module.c:317 pw_impl_module_destroy()] module 0x5555572ab150: free
[D][000004290.071938][impl-module.c:308 pw_impl_module_destroy()] module 0x5555572ac5f0: destroy
[D][000004290.071956][impl-factory.c:84 pw_impl_factory_destroy()] factory 0x5555572acc50: destroy
[D][000004290.071962][global.c:379 pw_global_destroy()] global 0x5555572adcb0: destroy 11
[D][000004290.071967][global.c:175 global_unregister()] global 0x5555572adcb0: unregistered 11
[D][000004290.071972][global.c:387 pw_global_destroy()] global 0x5555572adcb0: free
[D][000004290.071991][impl-factory.c:96 pw_impl_factory_destroy()] factory 0x5555572acc50: free
[D][000004290.071999][impl-factory.c:84 pw_impl_factory_destroy()] factory 0x5555572acec0: destroy
[D][000004290.072002][global.c:379 pw_global_destroy()] global 0x5555572ae0e0: destroy 12
[D][000004290.072005][global.c:175 global_unregister()] global 0x5555572ae0e0: unregistered 12
[D][000004290.072008][global.c:387 pw_global_destroy()] global 0x5555572ae0e0: free
[D][000004290.072014][impl-factory.c:96 pw_impl_factory_destroy()] factory 0x5555572acec0: free
[D][000004290.072018][impl-factory.c:84 pw_impl_factory_destroy()] factory 0x5555572ad130: destroy
[D][000004290.072021][global.c:379 pw_global_destroy()] global 0x5555572ae510: destroy 13
[D][000004290.072023][global.c:175 global_unregister()] global 0x5555572ae510: unregistered 13
[D][000004290.072025][global.c:387 pw_global_destroy()] global 0x5555572ae510: free
[D][000004290.072028][impl-factory.c:96 pw_impl_factory_destroy()] factory 0x5555572ad130: free
[D][000004290.072034][impl-factory.c:84 pw_impl_factory_destroy()] factory 0x5555572ad3c0: destroy
[D][000004290.072037][global.c:379 pw_global_destroy()] global 0x5555572ae940: destroy 14
[D][000004290.072040][global.c:175 global_unregister()] global 0x5555572ae940: unregistered 14
[D][000004290.072044][global.c:387 pw_global_destroy()] global 0x5555572ae940: free
[D][000004290.072048][impl-factory.c:96 pw_impl_factory_destroy()] factory 0x5555572ad3c0: free
[D][000004290.072065][impl-factory.c:84 pw_impl_factory_destroy()] factory 0x5555572ad650: destroy
[D][000004290.072081][global.c:379 pw_global_destroy()] global 0x5555572aed70: destroy 15
[D][000004290.072085][global.c:175 global_unregister()] global 0x5555572aed70: unregistered 15
[D][000004290.072088][global.c:387 pw_global_destroy()] global 0x5555572aed70: free
[D][000004290.072094][impl-factory.c:96 pw_impl_factory_destroy()] factory 0x5555572ad650: free
[D][000004290.072099][impl-factory.c:84 pw_impl_factory_destroy()] factory 0x5555572ad8e0: destroy
[D][000004290.072116][global.c:379 pw_global_destroy()] global 0x5555572af1a0: destroy 16
[D][000004290.072119][global.c:175 global_unregister()] global 0x5555572af1a0: unregistered 16
[D][000004290.072122][global.c:387 pw_global_destroy()] global 0x5555572af1a0: free
[D][000004290.072126][impl-factory.c:96 pw_impl_factory_destroy()] factory 0x5555572ad8e0: free
[D][000004290.072129][global.c:379 pw_global_destroy()] global 0x5555572ac890: destroy 10
[D][000004290.072132][global.c:175 global_unregister()] global 0x5555572ac890: unregistered 10
[D][000004290.072135][global.c:387 pw_global_destroy()] global 0x5555572ac890: free
[D][000004290.072138][impl-module.c:317 pw_impl_module_destroy()] module 0x5555572ac5f0: free
[D][000004290.079937][global.c:379 pw_global_destroy()] global 0x5555571dfbf0: destroy 0
[D][000004290.079956][impl-core.c:445 pw_impl_core_destroy()] impl-core 0x5555571b7320: destroy
[D][000004290.079964][impl-core.c:457 pw_impl_core_destroy()] impl-core 0x5555571b7320: free
[D][000004290.079974][global.c:175 global_unregister()] global 0x5555571dfbf0: unregistered 0
[D][000004290.079979][global.c:387 pw_global_destroy()] global 0x5555571dfbf0: free
[D][000004290.079982][context.c:394 pw_context_destroy()] context 0x5555571b61d0: free
[D][000004290.079985][mem.c:174 pw_mempool_destroy()] mempool 0x55555718d060: destroy
[D][000004290.079987][mem.c:163 pw_mempool_clear()] mempool 0x55555718d060: clear
[D][000004290.079990][data-loop.c:166 pw_data_loop_destroy()] data-loop 0x55555718ce70: destroy
[D][000004290.079993][data-loop.c:232 pw_data_loop_stop()] data-loop: 0x55555718ce70 stopping
[D][000004290.079995][data-loop.c:235 pw_data_loop_stop()] data-loop: 0x55555718ce70 signal
[D][000004290.080003][data-loop.c:241 pw_data_loop_stop()] data-loop: 0x55555718ce70 join
[D][000004290.080013][data-loop.c:94 do_stop()] data-loop 0x55555718ce70: stopping
[D][000004290.080021][data-loop.c:63 thread_cleanup()] data-loop 0x55555718ce70: leave thread
[T][000004290.080025][loop.c:270 loop_leave()] loop 0x55555713c838: leave 140737187440384
[D][000004290.080055][data-loop.c:243 pw_data_loop_stop()] data-loop: 0x55555718ce70 joined
[D][000004290.080075][data-loop.c:245 pw_data_loop_stop()] data-loop: 0x55555718ce70 stopped
[T][000004290.080082][loop.c:653 loop_destroy_source()] loop 0x55555718cff0
[D][000004290.080103][system.c:85 impl_close()] system 0x5555571ddc28: close fd:37
[D][000004290.080115][pipewire.c:195 unref_handle()] clear handle 'support.loop'
[T][000004290.080120][loop.c:653 loop_destroy_source()] loop 0x55555718cf80
[D][000004290.080131][system.c:85 impl_close()] system 0x5555571ddc28: close fd:35
[D][000004290.080139][system.c:85 impl_close()] system 0x5555571ddc28: close fd:36
[D][000004290.080147][system.c:85 impl_close()] system 0x5555571ddc28: close fd:34
[Thread 0x7fffee106700 (LWP 85) exited]
[D][000004290.080177][pipewire.c:195 unref_handle()] clear handle 'support.system'
[D][000004290.080184][pipewire.c:195 unref_handle()] clear handle 'support.dbus'
[D][000004290.080188][pipewire.c:156 unref_plugin()] unloaded plugin:'/usr/lib/x86_64-linux-gnu/spa-0.2/support/libspa-dbus.so'
[D][000004290.088497][thread-loop.c:290 pw_thread_loop_stop()] thread-loop: 0x5555571de790 stopping 1
[D][000004290.088527][thread-loop.c:292 pw_thread_loop_stop()] thread-loop: 0x5555571de790 signal
[D][000004290.088547][thread-loop.c:294 pw_thread_loop_stop()] thread-loop: 0x5555571de790 join
[D][000004290.088561][thread-loop.c:88 do_stop()] stopping
[D][000004290.088570][thread-loop.c:250 do_loop()] thread-loop 0x5555571de790: leave thread
[T][000004290.088575][loop.c:270 loop_leave()] loop 0x55555729fda8: leave 140736585062144
[D][000004290.088614][thread-loop.c:296 pw_thread_loop_stop()] thread-loop: 0x5555571de790 joined
[D][000004290.088620][thread-loop.c:299 pw_thread_loop_stop()] thread-loop: 0x5555571de790 stopped
[T][000004290.088624][loop.c:653 loop_destroy_source()] loop 0x55555718c950
[D][000004290.088643][system.c:85 impl_close()] system 0x5555571de8f8: close fd:28
[D][000004290.088649][pipewire.c:195 unref_handle()] clear handle 'support.loop'
[T][000004290.088653][loop.c:653 loop_destroy_source()] loop 0x5555572c0560
[D][000004290.088660][system.c:85 impl_close()] system 0x5555571de8f8: close fd:26
[D][000004290.088667][system.c:85 impl_close()] system 0x5555571de8f8: close fd:27
[D][000004290.088675][system.c:85 impl_close()] system 0x5555571de8f8: close fd:25
[D][000004290.088680][pipewire.c:195 unref_handle()] clear handle 'support.system'
[Thread 0x7fffca28d700 (LWP 86) exited]
How Reproducible:
Everytime I use the screen cast portal, using another portal that returns a pipewire file descriptor like the camera one works super smoothly!
Steps to Reproduce:
I would love to provide an easy way to test it, but the portal call under gnome just calls mutter's screen cast DBus API. I will see if I can write a portable reproducer
Actual Results:
Pipewire crashing
Expected Results:
The stream being handled properly
Additional Info Eg. pw-dump > file
(As Attachment Please):
dump.txt
Please let me know if I should provide more information, thanks!