Waybar icon indicating copy to clipboard operation
Waybar copied to clipboard

Waybar 0.10.3, libcava 0.10.1, segfaults when disconnecting a external monitor with audio output to that monitor

Open OriginCode opened this issue 1 year ago • 4 comments

The monitor has a HDMI/DP audio output, it crashes even when the output is not routed to the monitor. Tested OK without the cava module or an external monitor without audio output.

[2024-05-17 01:18:08.238] [debug] Output removed: GSM LG ULTRAGEAR
[2024-05-17 01:18:08.252] [info] Bar removed from output: DP-1

** (waybar:128726): WARNING **: 01:18:08.252: Dropped dispatcher message as the dispatcher no longer exists
fish: Job 1, './waybar -l trace' terminated by signal SIGSEGV (Address boundary error)

journalctl:

Process 128726 (waybar) of user 1000 dumped core.

                                                    Stack trace of thread 128759:
                                                    #0  0x00007f9af64fd314 pw_stream_dequeue_buffer (libpipewire-0.3.so.0 + 0x86314)
                                                    #1  0x00007f9af624dcff n/a (libcava.so + 0x11cff)
                                                    #2  0x00007f9af64fe350 n/a (libpipewire-0.3.so.0 + 0x87350)
                                                    #3  0x00007f9adffa1bb4 n/a (libspa-audioconvert.so + 0x1fbb4)
                                                    #4  0x00007f9af64dd181 n/a (libpipewire-0.3.so.0 + 0x66181)
                                                    #5  0x00007f9af7b688f6 n/a (libspa-support.so + 0x88f6)
                                                    #6  0x00007f9af64bff8a n/a (libpipewire-0.3.so.0 + 0x48f8a)
                                                    #7  0x00007f9af5a8a6eb start_thread (libc.so.6 + 0x8a6eb)
                                                    #8  0x00007f9af5b06a78 __clone3 (libc.so.6 + 0x106a78)

                                                    Stack trace of thread 128726:
                                                    #0  0x00007f9af5afd76f __GI___poll (libc.so.6 + 0xfd76f)
                                                    #1  0x00007f9af66344ff g_main_context_poll_unlocked (libglib-2.0.so.0 + 0x5e4ff)
                                                    #2  0x00007f9af6634bac g_main_context_iteration (libglib-2.0.so.0 + 0x5ebac)
                                                    #3  0x00007f9af68fb42d g_application_run (libgio-2.0.so.0 + 0xe742d)
                                                    #4  0x0000558899c945de n/a (/home/origincode/data/build_files/Waybar/build/waybar + 0xd35de)
                                                    #5  0x0000558899c7eef0 n/a (/home/origincode/data/build_files/Waybar/build/waybar + 0xbdef0)
                                                    #6  0x00007f9af5a279ca __libc_start_call_main (libc.so.6 + 0x279ca)
                                                    #7  0x00007f9af5a27a85 __libc_start_main_impl (libc.so.6 + 0x27a85)
                                                    #8  0x0000558899bfd9d1 n/a (/home/origincode/data/build_files/Waybar/build/waybar + 0x3c9d1)
                                                    ELF object binary architecture: AMD x86-64

OriginCode avatar May 17 '24 08:05 OriginCode

Hi @OriginCode , which audio output do you use for cava ? Please provide here also:

  1. waybar config
  2. cava config if it's configured as a separate cava configuration in waybar configuration

To me it seems like pipewire... but to double check If it so , can you try to do the same but with pulse audio output ?

Thanks

LukashonakV avatar May 18 '24 08:05 LukashonakV

Hi @OriginCode , which audio output do you use for cava ? Please provide here also:

1. waybar config

2. cava config if it's configured as a separate cava configuration in waybar configuration

To me it seems like pipewire... but to double check If it so , can you try to do the same but with pulse audio output ?

Thanks

It segfaults with any audio output, not only when the output is the monitor.

Waybar Config: https://fars.ee/JOUe

I'm not using a separate cava configuration.

OriginCode avatar May 18 '24 11:05 OriginCode

Can you please provide gdb for waybar?

LukashonakV avatar May 18 '24 20:05 LukashonakV

Can you please provide gdb for waybar?

(gdb) bt
#0  0x00007ffff693c314 in pw_stream_dequeue_buffer () at /usr/lib/libpipewire-0.3.so.0
#1  0x00007ffff668ccff in ??? () at /usr/lib/libcava.so
#2  0x00007ffff693d350 in ??? () at /usr/lib/libpipewire-0.3.so.0
#3  0x00007fffe4546bb4 in ??? () at /usr/lib/spa-0.2/audioconvert/libspa-audioconvert.so
#4  0x00007ffff691c181 in ??? () at /usr/lib/libpipewire-0.3.so.0
#5  0x00007ffff7fab8f6 in ??? () at /usr/lib/spa-0.2/support/libspa-support.so
#6  0x00007ffff68fef8a in ??? () at /usr/lib/libpipewire-0.3.so.0
#7  0x00007ffff5e8a6eb in start_thread (arg=<optimized out>) at pthread_create.c:444
#8  0x00007ffff5f06a78 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78

OriginCode avatar May 19 '24 09:05 OriginCode

Hi @OriginCode , I found a couple of fixes in cava upstream were done related to this problem. So once #3276 is done, these fixes will be included into libcava 0.10.2. Then you can check. Thanks

LukashonakV avatar May 22 '24 08:05 LukashonakV