You're in K rove's space

Bluetooth, Audio and GNOME Crash

A timeline of the (no longer) recent events that cause(d) GNOME to crash when changing the Bluetooth headset profile.

Posted on February 6, 2026

linuxgnome

Hello, future reader. Lucky for you, the issue outlined in this article has been resolved. You may still read it if you wish, or pick another article for better value for the time spent.

If your GNOME has been crashing lately when it comes to something about audio and Bluetooth, it’s probably because WirePlumber changed some behaviour which is causing libgnome-volume-control to reach supposedly unreachable code, resulting in a crash. This can happen in GNOME, for example, when you change a Bluetooth device’s profile, either by using the “headset” mode for the system output device, or using the Bluetooth device’s mic as the system input device. This (no longer) live article contains a sequence of relevant events.

In late December,

  1. WirePlumber makes the “breaking” change in da831fd. While the change makes sense, software that relied on old behaviour may misbehave,
  2. such as libgnome-volume-control (“libgvc” henceforth), which reaches otherwise unreachable code and an assertion causes it to crash, as highlighted in !34.
  3. As a result, everything that statically links libgvc needs to be updated. This includes GNOME Shell (the desktop shell you interact with), GNOME Settings Daemon (a background service that handles settings), and GNOME Control Center (the Settings app).

Eventually,

  1. libgvc fixes the issue and merges in #31.
  2. GNOME Shell
    1. bumps libgvc version in 7cfa577, but doesn’t get a new release or tag.
    2. Eventually gets a new 50.rc tag and release.
  3. GNOME Settings Daemon:
    1. bumps libgvc version in e3b2712, but doesn’t get a new release or tag either.
    2. Eventually gets new 50.beta and 50.rc tags and releases.
  4. GNOME Control Center:
    1. bumps libgvc version in db69e2, and soon
    2. gets tagged 49.4 without a release.
    3. Eventually gets a new 49.5 tag — which also mentions this issue in the tag description — and release.

While these changes were being mainlined, you might’ve been working around by downgrading and freezing WirePlumber packages. In the future, WirePlumber will merge the final changes in b60b2f (already merged now), which, when brought downstream by your distro, might cleanly and finally end the issue. Of course, any third-party application statically linking libgvc would also be affected, and won’t be mentioned here.

Appendix: Arch Packages

If you’re an Arch user, this is a (no longer) live sequence of fixes being brought downstream into Arch’s official packages.

(P.S.: If you saw this article early, you might remember additional links across different projects — Ubuntu, Fedora/RedHat, Arch BBS and NixOS packages to name a few — that were relevant to this issue. These have been removed as they were mostly extraneous and were increasing faster than I could add them here.)