Public bug reported:

**System Information:**
* Computer Model: Lenovo Legion [Model 83F2]
* Processor: AMD Ryzen 9 9955HX 16-Core
* OS: Ubuntu 25.10
* Kernel Version: 6.17.0-8-generic
* BlueZ Source Package: bluez
* Package Version: 5.83-1~exp1ubuntu0.1
* Session Type: Wayland
* Desktop Environment: GNOME Shell 49.0
* Bluetooth Controller: MediaTek MT7925 (PCIe)
* Driver Module: mt7925e
* Firmware Version: 0x8a108a10 (Build: 20251015212927a)

**Methodology & AI Assistance:**
* Analysis Tool: Google Gemini 3 Pro
* Role in Troubleshooting:
  1. **Log Analysis:** Parsed `dmesg` and `journalctl` outputs to isolate the 
`segfault` event and correlate it with the exact timestamp of the 
GDM-to-Desktop session transition.
  2. **Error Correlation:** Identified the link between the `corrupted ACL 
packet` messages and the subsequent daemon crash.
  3. **Data Sanitization:** Automatically filtered the logs attached below to 
remove private identifiers (MAC addresses, usernames, serial numbers) while 
preserving critical debug data.
  
**What I expected to happen:**
The Bluetooth service should maintain continuity and the keyboard connection 
should persist when transitioning from the GDM Login Screen to the user 
Desktop, or when waking the system from Suspend.

**Problem Description:**
I am reporting a reproducible segfault in `bluetoothd` that occurs during 
**Power State Transitions**. The crash is triggered in two specific scenarios:
1. **Session Handoff:** Transitioning from the GDM Login Screen to the Wayland 
user desktop session.
2. **Suspend/Resume:** Waking the system from Suspend (S3/s2idle) and logging 
back in.

**Steps to Reproduce (Scenario A - Login):**
1. Boot the system.
2. Bluetooth functions correctly at the GDM login screen.
3. Log in to the GNOME user session.
4. Immediately upon loading the desktop, the Bluetooth service crashes/stops.

**Steps to Reproduce (Scenario B - Suspend):**
1. While logged in (and assuming Bluetooth was restored via workaround), click 
"Suspend".
2. Wake the computer and unlock the screen.
3. Bluetooth is found to be "Off" and the toggle in GNOME Settings is 
unresponsive/greyed out.

**Observed Behavior:**
The daemon crashes or hangs precisely when the system attempts to re-initialize 
the bluetooth adapter state after a pause/handoff. The issue specifically 
affects the MediaTek MT7925 driver on Kernel 6.17.

**Sanitized Logs:**
Kernel dmesg output shows the daemon segfaulting followed by ACL packet 
corruption from the controller. Timestamps are uptime seconds.

[  281.303420] bluetoothd[5923]: segfault at 60cf04cb2fba ip 000060c8cc8af882 
sp 00007ffc965fe320 error 4 in bluetoothd
[ 1712.643748] Bluetooth: hci0: corrupted ACL packet

**Mitigation Attempts (Failed):**
The following steps were taken to rule out configuration issues, but none 
resolved the crash:
1. Disabled USB Autosuspend (`btusb.enable_autosuspend=0`).
2. Reinstalled `bluez`, `libbluetooth3`, and `bluez-obexd` packages (Confirmed 
version: 5.83-1~exp1ubuntu0.1).

**Workaround:**
Functionality is not restored automatically. The user must manually execute a 
script to force a full driver reload:
1. `sudo modprobe -r btusb` (Unload kernel driver)
2. `sleep 5` (Wait for hardware release)
3. `sudo modprobe btusb` (Reload kernel driver)
4. `sudo systemctl restart bluetooth` (Restart userspace daemon)

** Affects: bluez (Ubuntu)
     Importance: Undecided
         Status: New


** Tags: bluetoothd bluez mediatek mt7925

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

Title:
  bluetoothd 5.83 segfault during GDM to Desktop session handoff on
  Ubuntu 25.10 (MediaTek MT7925 / GNOME 49)

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/bluez/+bug/2137719/+subscriptions


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

Reply via email to