pipewire-media-session recurses infinitely after laptop wakes up from suspend
The problem seems to happen after suspend, but not reliably. My guess is that it's more likely to happen after the laptop has been suspended for a long time, and unlikely if it's been only a short while. The main pipewire process itself still remains running, but pipewire-media-session ends up stuck as a zombie process.
In case it's relevant, I use a USB DAC, and unplug it before I suspend my laptop. Just unplugging without a suspend doesn't seem to cause any crash by itself.
Backtrace (truncated, since it repeats):
#60122 sm_media_session_create_links (dict=0x557b5dd83e00, sess=0x7fff9bccfed0) at ../pipewire/src/examples/media-session/media-session.c:1656
#60123 link_nodes.isra.0 (node=0x557b5dcd2b70, peer=0x557b5de89880) at ../pipewire/src/examples/media-session/policy-node.c:515
#60124 0x0000557b5d9a35de in rescan_node (n=0x557b5dcd2b70, impl=0x557b5dccb9b0) at ../pipewire/src/examples/media-session/policy-node.c:691
#60125 session_rescan (data=0x557b5dccb9b0, seq=<optimized out>) at ../pipewire/src/examples/media-session/policy-node.c:717
#60126 0x0000557b5d99f40b in core_done (data=0x7fff9bccfed0, id=0, seq=1073747347) at ../pipewire/src/examples/media-session/media-session.c:1940
#60127 0x00007fb6da051f04 in core_event_demarshal_done (object=<optimized out>, msg=<optimized out>) at ../pipewire/src/modules/module-protocol-native/protocol-native.c:290
#60128 0x00007fb6da04b7a9 in process_remote (impl=impl@entry=0x557b5dc97a70) at ../pipewire/src/modules/module-protocol-native.c:711
#60129 0x00007fb6da04bc51 in on_remote_data (data=0x557b5dc97a70, fd=<optimized out>, mask=<optimized out>) at ../pipewire/src/modules/module-protocol-native.c:756
#60130 0x00007fb6daec031b in loop_iterate (object=0x557b5dc5ff78, timeout=<optimized out>) at ../pipewire/spa/plugins/support/loop.c:306
#60131 0x0000557b5d9ae199 in sm_media_session_roundtrip (sess=0x7fff9bccfed0) at ../pipewire/src/examples/media-session/media-session.c:1347
#60132 sm_media_session_create_links (dict=0x557b5deea580, sess=0x7fff9bccfed0) at ../pipewire/src/examples/media-session/media-session.c:1656
#60133 link_nodes.isra.0 (node=0x557b5dcd2b70, peer=0x557b5de89880) at ../pipewire/src/examples/media-session/policy-node.c:515
#60134 0x0000557b5d9a35de in rescan_node (n=0x557b5dcd2b70, impl=0x557b5dccb9b0) at ../pipewire/src/examples/media-session/policy-node.c:691
#60135 session_rescan (data=0x557b5dccb9b0, seq=<optimized out>) at ../pipewire/src/examples/media-session/policy-node.c:717
#60136 0x0000557b5d99f40b in core_done (data=0x7fff9bccfed0, id=0, seq=1073747317) at ../pipewire/src/examples/media-session/media-session.c:1940
#60137 0x00007fb6da051f04 in core_event_demarshal_done (object=<optimized out>, msg=<optimized out>) at ../pipewire/src/modules/module-protocol-native/protocol-native.c:290
#60138 0x00007fb6da04b7a9 in process_remote (impl=impl@entry=0x557b5dc97a70) at ../pipewire/src/modules/module-protocol-native.c:711
#60139 0x00007fb6da04bc51 in on_remote_data (data=0x557b5dc97a70, fd=<optimized out>, mask=<optimized out>) at ../pipewire/src/modules/module-protocol-native.c:756
#60140 0x00007fb6daec031b in loop_iterate (object=0x557b5dc5ff78, timeout=<optimized out>) at ../pipewire/spa/plugins/support/loop.c:306
#60141 0x0000557b5d9ae199 in sm_media_session_roundtrip (sess=0x7fff9bccfed0) at ../pipewire/src/examples/media-session/media-session.c:1347
#60142 sm_media_session_create_links (dict=0x557b5dcd2860, sess=0x7fff9bccfed0) at ../pipewire/src/examples/media-session/media-session.c:1656
#60143 link_nodes.isra.0 (node=0x557b5dcd2b70, peer=0x557b5de89880) at ../pipewire/src/examples/media-session/policy-node.c:515
#60144 0x0000557b5d9a35de in rescan_node (n=0x557b5dcd2b70, impl=0x557b5dccb9b0) at ../pipewire/src/examples/media-session/policy-node.c:691
#60145 session_rescan (data=0x557b5dccb9b0, seq=<optimized out>) at ../pipewire/src/examples/media-session/policy-node.c:717
#60146 0x0000557b5d99f40b in core_done (data=0x7fff9bccfed0, id=0, seq=1073747289) at ../pipewire/src/examples/media-session/media-session.c:1940
#60147 0x00007fb6da051f04 in core_event_demarshal_done (object=<optimized out>, msg=<optimized out>) at ../pipewire/src/modules/module-protocol-native/protocol-native.c:290
#60148 0x00007fb6da04b7a9 in process_remote (impl=impl@entry=0x557b5dc97a70) at ../pipewire/src/modules/module-protocol-native.c:711
#60149 0x00007fb6da04bc51 in on_remote_data (data=0x557b5dc97a70, fd=<optimized out>, mask=<optimized out>) at ../pipewire/src/modules/module-protocol-native.c:756
#60150 0x00007fb6daec031b in loop_iterate (object=0x557b5dc5ff78, timeout=<optimized out>) at ../pipewire/spa/plugins/support/loop.c:306
#60151 0x0000557b5d9ae199 in sm_media_session_roundtrip (sess=0x7fff9bccfed0) at ../pipewire/src/examples/media-session/media-session.c:1347
#60152 sm_media_session_create_links (dict=0x557b5decdb30, sess=0x7fff9bccfed0) at ../pipewire/src/examples/media-session/media-session.c:1656
#60153 link_nodes.isra.0 (node=0x557b5dcd2b70, peer=0x557b5de89880) at ../pipewire/src/examples/media-session/policy-node.c:515
#60154 0x0000557b5d9a35de in rescan_node (n=0x557b5dcd2b70, impl=0x557b5dccb9b0) at ../pipewire/src/examples/media-session/policy-node.c:691
#60155 session_rescan (data=0x557b5dccb9b0, seq=<optimized out>) at ../pipewire/src/examples/media-session/policy-node.c:717
#60156 0x0000557b5d99f40b in core_done (data=0x7fff9bccfed0, id=0, seq=1073747274) at ../pipewire/src/examples/media-session/media-session.c:1940
#60157 0x00007fb6da051f04 in core_event_demarshal_done (object=<optimized out>, msg=<optimized out>) at ../pipewire/src/modules/module-protocol-native/protocol-native.c:290
#60158 0x00007fb6da04b7a9 in process_remote (impl=impl@entry=0x557b5dc97a70) at ../pipewire/src/modules/module-protocol-native.c:711
#60159 0x00007fb6da04bc51 in on_remote_data (data=0x557b5dc97a70, fd=<optimized out>, mask=<optimized out>) at ../pipewire/src/modules/module-protocol-native.c:756
#60160 0x00007fb6daec031b in loop_iterate (object=0x557b5dc5ff78, timeout=<optimized out>) at ../pipewire/spa/plugins/support/loop.c:306
#60161 0x00007fb6dae2628b in pw_main_loop_run (loop=0x557b5dc5fe30) at ../pipewire/src/pipewire/main-loop.c:156
#60162 0x0000557b5d990849 in main (argc=<optimized out>, argv=<optimized out>) at ../pipewire/src/examples/media-session/media-session.c:2247