Waybar: Waybar crashes when using wireplumber module

.config/waybar/config:

...
    "modules-right": [
        "pulseaudio", 
        "wireplumber", 
        "battery", 
        "tray",
        "clock",
        "idle_inhibitor"
    ],
...
    },
    "wireplumber": {
        "format": "{volume}% {icon}  ",
        "format-muted": "",
        "format-icons": {
            "headphones": "",
            "handsfree": "",
            "headset": "",
            "phone": "",
            "portable": "",
            "car": "",
            "default": ["", "", ""]
        },
        "on-click": "pactl set-sink-mute @DEFAULT_SINK@ toggle",
        "on-click-right": "pavucontrol",
        "rotate": 270
    },
    "pulseaudio": {
...
~ [SIGTRAP]$ waybar -l trace
[2022-11-29 12:37:03.971] [debug] Try expanding: $XDG_CONFIG_HOME/waybar/config
[2022-11-29 12:37:03.971] [debug] Try expanding: $XDG_CONFIG_HOME/waybar/config.jsonc
[2022-11-29 12:37:03.971] [debug] Try expanding: $HOME/.config/waybar/config
[2022-11-29 12:37:03.971] [debug] Found config file: $HOME/.config/waybar/config
[2022-11-29 12:37:03.971] [info] Using configuration file /home/jerry/.config/waybar/config
[2022-11-29 12:37:03.972] [debug] Try expanding: $XDG_CONFIG_HOME/waybar/style.css
[2022-11-29 12:37:03.972] [debug] Try expanding: $HOME/.config/waybar/style.css
[2022-11-29 12:37:03.972] [debug] Found config file: $HOME/.config/waybar/style.css
[2022-11-29 12:37:03.972] [info] Using CSS file /home/jerry/.config/waybar/style.css
[2022-11-29 12:37:03.978] [debug] Output detection done: HDMI-A-1
[2022-11-29 12:37:03.978] [debug] Output detection done: DP-2 
[2022-11-29 12:37:03.989] [warning] For a functional tray you must have libappindicator-* installed and export XDG_CURRENT_DESKTOP=Unity
[2022-11-29 12:37:03.989] [warning] As using a timezone, some format args may be missing as the date library haven't got a release since 2018.
[2022-11-29 12:37:04.006] [debug] GTK widget tree:
window#waybar.background.right..DP-2.mode-default:dir(ltr)
  decoration:dir(ltr)
  box.vertical:dir(ltr)
    box.vertical.modules-left:dir(ltr)
      widget:dir(ltr)
        box#workspaces.vertical:dir(ltr)
      widget:dir(ltr)
        label#mode:dir(ltr)
      widget:dir(ltr)
        box.horizontal:dir(ltr)
          image:dir(ltr)
          label#window:dir(ltr)
    box.vertical.modules-center:dir(ltr)
    box.vertical.modules-right:dir(ltr)
      widget:dir(ltr)
        label#pulseaudio:dir(ltr)
      widget:dir(ltr)
        label#wireplumber:dir(ltr)
      widget:dir(ltr)
        label#battery:dir(ltr)
      widget:dir(ltr)
        box#tray.vertical:dir(ltr)
      widget:dir(ltr)
        label#clock:dir(ltr)
      widget:dir(ltr)
        label#idle_inhibitor:dir(ltr)

E 12:37:04.012041               GLib (null):(null):(null): g_log_set_writer_func() called multiple times
fish: Job 1, 'waybar -l trace' terminated by signal SIGTRAP (Trace or breakpoint trap)
~ [SIGTRAP]$ 

Unrelated, but I have libappindicator-gtk3 installed and $XDG_CURRENT_DESKTOP is Unity, why do I still get that warning?

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Reactions: 2
  • Comments: 22 (3 by maintainers)

Commits related to this issue

Most upvoted comments

Did some investigation after encountering the same issue. Seems like the wireplumber module has a problem which causes waybar to crash when using multiple monitors. Using the default config and just adding the wireplumber module (e.g. replacing pulseaudio) or even some customized config - everything works fine with wireplumber and only one monitor active. But enabling a second monitor crashes waybar with

E 23:23:02.657186 GLib (null):(null):(null): g_log_set_writer_func() called multiple times

Can be easily reproduced by enabling/disabling another monitor while watching

waybar -l trace

@smoak it fixed it for me too, thanks !

@smoak your new patch from #1942 fixes the issue partly for me: the wireplumber module works in multimonitor, but if I disconnect a monitor, waybar crashes:

$ waybar
[2023-01-16 16:33:18.617] [info] Using configuration file /home/jroy/.config/waybar/config
[2023-01-16 16:33:18.617] [info] Using CSS file /home/jroy/.config/waybar/style.css
[2023-01-16 16:33:18.635] [info] Hyprland IPC starting
[2023-01-16 16:33:18.798] [info] Bar configured (width: 1880, height: 34) for output: eDP-1
[2023-01-16 16:33:27.019] [info] Bar configured (width: 2520, height: 34) for output: DP-3
------ CONNECT MONITOR HERE ------
[2023-01-16 16:33:27.490] [warning] [wireplumber]: (onMixerChanged) - Object with id 88 not found
[2023-01-16 16:33:27.490] [warning] [wireplumber]: (onMixerChanged) - Object with id 88 not found
[2023-01-16 16:33:27.494] [warning] [wireplumber]: (onMixerChanged) - Object with id 88 not found
[2023-01-16 16:33:27.494] [warning] [wireplumber]: (onMixerChanged) - Object with id 88 not found
[2023-01-16 16:33:27.496] [warning] [wireplumber]: (onMixerChanged) - Object with id 72 not found
[2023-01-16 16:33:27.497] [warning] [wireplumber]: (onMixerChanged) - Object with id 72 not found
[2023-01-16 16:33:27.500] [warning] [wireplumber]: (onMixerChanged) - Object with id 72 not found
[2023-01-16 16:33:27.500] [warning] [wireplumber]: (onMixerChanged) - Object with id 72 not found
------ DISCONNECT MONITOR HERE ------
free(): invalid pointer
Aborted

If I disable the wireplumber module, then waybar doesn’t crash on disconnect.

@smoak I tried your patch against Waybar 0.9.17 and I still have the crash

$ waybar
[2023-01-14 21:13:42.859] [info] Using configuration file /home/jroy/.config/waybar/config
[2023-01-14 21:13:42.859] [info] Using CSS file /home/jroy/.config/waybar/style.css
[2023-01-14 21:13:42.869] [info] Hyprland IPC starting
E 21:13:42.888106               GLib (null):(null):(null): g_log_set_writer_func() called multiple times
Trace/breakpoint trap