unity-settings-daemon can deadlock if a modeset fails
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
unity-settings-daemon (Ubuntu) |
Confirmed
|
Undecided
|
Unassigned |
Bug Description
The system I used to reproduce this bug was a laptop with two display devices (one DisplayPort, one DVI) connected to a docking station.
Dock the laptop. unity-settings-
1. The system generates an ACPI event that video.ko turns into a display change hotkey press.
2. Something sees the display change hotkey event and calls unity-settings-
3. The X driver sees the DVI monitor go away and updates the RandR configuration.
4. unity-settings-
5. gnome_rr_
6. The X driver sees the DP monitor go away and updates the RandR configuration.
7. on_randr_event() tries to reconfigure the desktop with the DVI monitor disabled and the DP monitor enabled.
8. The RandR SetCrtcConfig call fails because it's trying to set a mode on a disconnected output.
9. apply_configura
Step #9 deadlocks because gnome_rr_
Upstream gnome-settings-
https:/
This change cherry-picks cleanly to unity-settings-
(as an aside, the video.ko display change hotkey events are entirely pointless and probably deserve their own bug)
Status changed to 'Confirmed' because the bug affects multiple users.