Pipewire crashing lately
- PipeWire version: 0.3.61
- Distribution: Arch Linux
- Desktop Environment: KDE Plasma
- Kernel version: 6.0.11-arch1-1
Description of Problem:
I have been getting almost daily crashes after a system upgrade 2-4 weeks ago. Before that there were no issues. Crashes usually happen as I'm going through audio samples on websites like junodownload/bandcamp/beatport. Sometimes pipewire doesn't crash but there is no audio after starting playback, clicking pause and then play again fixes that. Both my external DAC and onboard audio have the same issue. All config files are default.
Additional Info:
Mon 2022-12-05 09:37:36 EET 2766 1000 984 SIGSEGV present /usr/bin/pipewire 789.5K
Signal: 11 (SEGV)
Process 2766 (pipewire) of user 1000 dumped core.
Stack trace of thread 2809:
#0 0x00007f2a2926fd2e n/a (libspa-audioconvert.so + 0x27d2e)
#1 0x00007f2a29258902 n/a (libspa-audioconvert.so + 0x10902)
#2 0x00007f2a2bd25629 n/a (libpipewire-0.3.so.0 + 0x61629)
#3 0x00007f2a2bd25ae7 n/a (libpipewire-0.3.so.0 + 0x61ae7)
#4 0x00007f2a2bda9c77 n/a (libspa-support.so + 0x6c77)
#5 0x00007f2a2bd06177 n/a (libpipewire-0.3.so.0 + 0x42177)
#6 0x00007f2a2bb638fd n/a (libc.so.6 + 0x868fd)
#7 0x00007f2a2bbe4c74 __clone (libc.so.6 + 0x107c74)
Stack trace of thread 2766:
#0 0x00007f2a2bbe5096 epoll_wait (libc.so.6 + 0x108096)
#1 0x00007f2a2bdb75c9 n/a (libspa-support.so + 0x145c9)
#2 0x00007f2a2bda9b2b n/a (libspa-support.so + 0x6b2b)
#3 0x00007f2a2bd22571 pw_main_loop_run (libpipewire-0.3.so.0 + 0x5e571)
#4 0x00005638684c02ee n/a (pipewire + 0x12ee)
#5 0x00007f2a2bb00290 n/a (libc.so.6 + 0x23290)
#6 0x00007f2a2bb0034a __libc_start_main (libc.so.6 + 0x2334a)
#7 0x00005638684c0495 n/a (pipewire + 0x1495)
ELF object binary architecture: AMD x86-64
Edit: more informative backtrace as suggested by Niklāvs
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
Core was generated by `/usr/bin/pipewire'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0x00007f2a2926fd2e in impl_node_process (object=<optimized out>) at ../pipewire/spa/plugins/audioconvert/audioconvert.c:2410
Downloading 0.09 MB source file /usr/src/debug/pipewire/build/../pipewire/spa/plugins/audioconvert/audioconvert.c
2410 offs = SPA_MIN(bd->chunk->offset, bd->maxsize);
[Current thread is 1 (Thread 0x7f2a29e916c0 (LWP 2809))]
(gdb) thread apply all bt
Thread 2 (Thread 0x7f2a2baba740 (LWP 2766)):
#0 0x00007f2a2bbe5096 in epoll_wait (epfd=4, events=events@entry=0x7ffe7d0935a0, maxevents=32, timeout=-1) at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
#1 0x00007f2a2bdb75c9 in impl_pollfd_wait (object=<optimized out>, pfd=<optimized out>, ev=0x7ffe7d093770, n_ev=<optimized out>, timeout=<optimized out>) at ../pipewire/spa/plugins/support/system.c:157
#2 0x00007f2a2bda9b2b in loop_iterate (object=0x563869f4cfe8, timeout=-1) at ../pipewire/spa/plugins/support/loop.c:401
#3 0x00007f2a2bd22571 in pw_main_loop_run (loop=loop@entry=0x563869f4cea0) at ../pipewire/src/pipewire/main-loop.c:148
#4 0x00005638684c02ee in main (argc=<optimized out>, argv=<optimized out>) at ../pipewire/src/daemon/pipewire.c:131
Thread 1 (Thread 0x7f2a29e916c0 (LWP 2809)):
#0 0x00007f2a2926fd2e in impl_node_process (object=<optimized out>) at ../pipewire/spa/plugins/audioconvert/audioconvert.c:2410
#1 0x00007f2a29258902 in impl_node_process (object=0x56386a04d498) at ../pipewire/spa/plugins/audioconvert/audioadapter.c:1436
#2 0x00007f2a2bd25629 in process_node (data=0x56386a06af60) at ../pipewire/src/pipewire/impl-node.c:1128
#3 0x00007f2a2bd25ae7 in node_on_fd_events (source=<optimized out>) at ../pipewire/src/pipewire/impl-node.c:1186
#4 0x00007f2a2bda9c77 in loop_iterate (object=<optimized out>, timeout=<optimized out>) at ../pipewire/spa/plugins/support/loop.c:431
#5 0x00007f2a2bd06177 in do_loop (user_data=0x563869f59750) at ../pipewire/src/pipewire/data-loop.c:81
#6 0x00007f2a2bb638fd in start_thread (arg=<optimized out>) at pthread_create.c:442
#7 0x00007f2a2bbe4c74 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:100