Thanks to visit codestin.com
Credit goes to github.com

Skip to content

[wireplumber] waybar exits when wireplumber/pipewire configuration is corrupted/inconsistent #4584

@kostya-sh

Description

@kostya-sh

This looks like a bug in wireplumber plugin that doesn't handle invalid configuration gracefully. More generally I think even if the plugin fails to initialize it should not crash the whole waybar application.

config:

    "wireplumber": {
      "format": "{volume}% {icon}",
      "format-muted": "",
      "on-click": "helvum",
      "format-icons": ["", "", ""],
    },
    "wireplumber#source": {
        "node-type": "Audio/Source",
        "format": "{volume}% 󰍬",
        "format-muted": "󰍭",
        "on-click": "wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle",
        "scroll-step": 5,
    }

waybar -l debug | grep wireplumber output:

[2025-10-23 09:37:56.799] [debug] [wireplumber]: preparing object manager: 'Audio/Sink'
[2025-10-23 09:37:56.799] [debug] [wireplumber]: connecting to pipewire: 'Audio/Sink'...
[2025-10-23 09:37:56.799] [debug] [wireplumber]: Audio/Sink connected!
[2025-10-23 09:37:56.799] [debug] [wireplumber]: loading default nodes api module
[2025-10-23 09:37:56.800] [debug] [wireplumber]: preparing object manager: 'Audio/Source'
[2025-10-23 09:37:56.800] [debug] [wireplumber]: connecting to pipewire: 'Audio/Source'...
[2025-10-23 09:37:56.800] [debug] [wireplumber]: Audio/Source connected!
[2025-10-23 09:37:56.800] [debug] [wireplumber]: loading default nodes api module
        label#wireplumber.module:dir(ltr)
        label#wireplumber.module.source:dir(ltr)
[2025-10-23 09:37:56.922] [debug] [wireplumber]: callback loading default node api module
[2025-10-23 09:37:56.922] [debug] [wireplumber]: loaded default nodes api
[2025-10-23 09:37:56.922] [debug] [wireplumber]: loading mixer api module
[2025-10-23 09:37:56.922] [debug] [wireplumber]: callback loading default node api module
[2025-10-23 09:37:56.922] [debug] [wireplumber]: loaded default nodes api
[2025-10-23 09:37:56.922] [debug] [wireplumber]: loading mixer api module
[2025-10-23 09:37:56.926] [debug] [wireplumber]: loaded mixer API
[2025-10-23 09:37:56.926] [debug] [wireplumber]: activating plugins
[2025-10-23 09:37:56.926] [debug] [wireplumber]: onPluginActivated: mixer-api
[2025-10-23 09:37:56.926] [debug] [wireplumber]: loaded mixer API
[2025-10-23 09:37:56.926] [debug] [wireplumber]: activating plugins
[2025-10-23 09:37:56.926] [debug] [wireplumber]: onPluginActivated: mixer-api
[2025-10-23 09:37:56.926] [debug] [wireplumber]: onPluginActivated: default-nodes-api
[2025-10-23 09:37:56.926] [debug] [wireplumber]: onPluginActivated: default-nodes-api
[2025-10-23 09:37:56.927] [debug] [wireplumber]: onObjectManagerInstalled
[2025-10-23 09:37:56.927] [debug] [wireplumber]: default source: alsa_input.pci-0000_00_1f.3.analog-stereo (id: 38)
[2025-10-23 09:37:56.927] [debug] [wireplumber]: updating volume
[2025-10-23 09:37:56.927] [debug] [wireplumber]: updating 'Audio/Sink' node name with node.id 38
[2025-10-23 09:37:56.927] [debug] [wireplumber]: Updating 'Audio/Sink' node name to: LG HDR 4K
[2025-10-23 09:37:56.927] [debug] [wireplumber]: updating source volume
[2025-10-23 09:37:56.927] [debug] [wireplumber]: updating source name with node.id 38
[2025-10-23 09:37:56.927] [debug] [wireplumber]: Updating source name to: LG HDR 4K
[2025-10-23 09:37:56.927] [debug] [wireplumber]: onObjectManagerInstalled
[2025-10-23 09:37:56.927] [debug] [wireplumber]: (onObjectManagerInstalled: Audio/Source) - default configured node name: alsa_input.pci-0000_00_1f.3.analog-stereo and id: 38
[2025-10-23 09:37:56.927] [debug] [wireplumber]: default source: alsa_input.pci-0000_00_1f.3.analog-stereo (id: 38)
[2025-10-23 09:37:56.927] [debug] [wireplumber]: updating volume
[2025-10-23 09:37:56.927] [debug] [wireplumber]: updating 'Audio/Source' node name with node.id 38
[2025-10-23 09:37:56.927] [error] [wireplumber]: Object '38' not found

wpctl status -n output:

Audio
 ├─ Devices:
 │      45. alsa_card.pci-0000_00_1f.3          [alsa]
 │  
 ├─ Sinks:
 │  *   38. alsa_output.pci-0000_00_1f.3.hdmi-stereo.2 [vol: 0.40]
 │  
 ├─ Sources:
 │      36. alsa_input.pci-0000_00_1f.3.analog-stereo.2 [vol: 1.00]
 │  
 ├─ Filters:
 │  
 └─ Streams:
        48. Pragha Music Player                                         
             33. output_FL       > LG HDR 4K:playback_FL	[active]
             67. output_FR       > LG HDR 4K:playback_FR	[active]

Video
 ├─ Devices:
 │  
 ├─ Sinks:
 │  
 ├─ Sources:
 │  
 ├─ Filters:
 │  
 └─ Streams:

Settings
 └─ Default Configured Devices:
         1. Audio/Source  alsa_input.pci-0000_00_1f.3.analog-stereo

Note that the default audio/source doesn't exist. I had to switch audio card profile (wpctl set-profile 45 3) in order to play sound via speaker connected to the monitor (LG HDR 4K) and this made the config invalid.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions