Public bug reported:

 affects ubuntu/cinnamon-desktop
 importance medium
 tags patch

Connecting a Bluetooth headset on Ubuntu 26.04 kills Cinnamon and
csd-media-keys. X stays up. cinnamon-launcher then tries to start
metacity, which is not installed, so the session looks like the
display died.

Package: cinnamon-desktop 6.4.2-1 (libcvc0t64)
Cinnamon: 6.4.13-2ubuntu0.2
PipeWire: 1.6.2-1ubuntu1.2
WirePlumber: 0.5.13-1ubuntu1

PipeWire 1.5.84 and later can drop a stream's active port while BlueZ
switches the headset profile. In 6.4.2, gvc_mixer_stream_get_port()
hits g_assert_not_reached() and aborts:

  Cvc:ERROR:../libcvc/gvc-mixer-stream.c:541:gvc_mixer_stream_get_port:
code should not be reached
  cinnamon-settings-daemon-media-keys.desktop killed by signal 6

linuxmint/cinnamon-desktop#267 removed that assert on master (the
function now returns NULL) and the issue was closed. Three callers in
gvc-mixer-control.c still dereference the result:
gvc_mixer_control_lookup_device_from_stream,
gvc_mixer_control_change_output and gvc_mixer_control_change_input.
With only the assert removed, the same event is a NULL dereference:

  csd-media-keys: segfault at 0 in libcvc.so.0.0.0
  cinnamon:       segfault at 0 in libcvc.so.0.0.0

update_sink and update_source already test for NULL.

Pull request for current master, covering the three callers:
https://github.com/linuxmint/cinnamon-desktop/pull/278

Ubuntu debdiff for 6.4.2-1ubuntu1, which also drops the assert:
https://github.com/glira/cinnamon-bluetooth-crash-fix/blob/main/patches/cinnamon-desktop_6.4.2-1ubuntu1.debdiff

Verified locally after the NULL checks: three Bluetooth
disconnect/connect cycles, the cinnamon PID did not change, and the
journal had no new segfault.

Gemayel Lira

** Affects: cinnamon-desktop (Ubuntu)
     Importance: Medium
         Status: New

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2170365

Title:
  cinnamon crashes when a Bluetooth headset connects (libcvc NULL active
  port)

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/cinnamon-desktop/+bug/2170365/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to