Xwayland crash in gdm as screen off and touchscreen detach.
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Mutter |
Fix Released
|
Unknown
|
|||
OEM Priority Project |
Fix Released
|
Critical
|
Yuan-Chen Cheng | ||
mutter (Ubuntu) |
Fix Released
|
High
|
Yuan-Chen Cheng | ||
Focal |
Fix Released
|
High
|
Yuan-Chen Cheng | ||
Hirsute |
Fix Released
|
High
|
Yuan-Chen Cheng | ||
Impish |
Fix Released
|
High
|
Yuan-Chen Cheng |
Bug Description
[Impact]
* Gdm crashed and user need to be an expert to know how to work around,
or need to reboot to fix.
* OEM projects got certain SKU that can reliably reproduce this issue.
* A merged patch in upstream fix the race condition.
[Test Plan]
* Use the SKU that can reliably reproduce this issue.
* Do a cold boot, and wait for 5 mins. The monitor should turned-black
but showing the Machine Vendor logo that was previously
displayed by plymouth.
* Try to dog-food the deb from the proposed channel and make sure
all input events still properly propagate.
[Where problems could occur]
* If the patch is not properly working as expected, per the file this
patch touch, the user desktop session could stop responding to
mouse, keyboard, and touch screen input.
[Other Info]
* Can't think of any for now.
----
This is a reproducible issue. Step to reproduce
1. cold boot into gdm login screen.
2. wait for 5 mins, and the screen will be turned off. (also observed that the touchscreen USB device drop of a USB bus on the target machine)
Note: this bug seems to be timing sensitive. I got an OEM project machine that can reproduce this issue (reproducible on several machines with the same HW design). The machine is using ADL CPU, which needs a patched 5.14 kernel. So I can't reproduce this on impish. With the backported mutter, I verified an upstream patch seems to fix this issue.
Expected result:
The screen just turns black.
Actual result:
Saw Vendor boot logo on the monitor (previous draw by plymouth during booting)
Analysis as it happens:
1. Saw "LGDisplay Incell Touch" drop off the USB bus.
Kernel message like: "usb 1-9: USB disconnect, device number 6"
as the screen turned black.
2. There is no switch on virtual tty.
3. journal log from Xwayland "wl_display@1: error 0: invalid object 24"
4. Xwayland and gnome-shell process both die as this happens.
5. Try to add sleep(30) to OsVendorFatalEr
gnome-shell stop there for 30 more seconds.
6. backtrace as Xwayland crashed:
```
#0 0x00007f447b8e818b in raise () from /lib/x86_
#1 0x00007f447b8c7859 in abort () from /lib/x86_
#2 0x0000564374403f30 in OsAbort () at ../../.
#3 0x0000564374409369 in AbortServer () at ../../.
#4 0x000056437440a1ca in FatalError (f=f@entry=
#5 0x000056437429c8b0 in xwl_log_handler (format=<optimized out>, args=<optimized out>) at ../../.
#6 0x00007f447c3d027e in wl_log (fmt=fmt@
#7 0x00007f447c3cb78b in display_
at ../src/
#8 0x00007f447b7c0ff5 in ?? () from /lib/x86_
#9 0x00007f447b7c040a in ?? () from /lib/x86_
#10 0x00007f447c3cf3a8 in wl_closure_invoke (closure=
target@
#11 0x00007f447c3cbc48 in dispatch_event (display=
#12 0x00007f447c3cd1ef in dispatch_queue (queue=
#13 wl_display_
#14 0x00007f447c3cd280 in wl_display_
#15 0x000056437429c9bb in xwl_read_events (xwl_screen=
#16 0x0000564374401c61 in ospoll_wait (ospoll=
#17 0x00005643743faa23 in WaitForSomething (are_ready=0) at ../../.
#18 0x00005643743ca4a7 in Dispatch () at ../../.
#19 0x00005643743ce794 in dix_main (argc=16, argv=0x7ffc44d4
#20 0x00007f447b8c90b3 in __libc_start_main () from /lib/x86_
#21 0x000056437429c60e in _start ()```
description: | updated |
description: | updated |
Changed in mutter (Ubuntu): | |
assignee: | nobody → Yuan-Chen Cheng (ycheng-twn) |
status: | Fix Committed → In Progress |
Changed in mutter (Ubuntu): | |
importance: | Undecided → High |
affects: | mutter (Fedora) → ubuntu |
Changed in ubuntu: | |
importance: | Unknown → Undecided |
status: | Unknown → New |
no longer affects: | ubuntu |
affects: | xorg-server → ubuntu |
Changed in ubuntu: | |
importance: | Unknown → Undecided |
status: | Unknown → New |
no longer affects: | ubuntu |
description: | updated |
Changed in mutter (Ubuntu Impish): | |
assignee: | nobody → Yuan-Chen Cheng (ycheng-twn) |
importance: | Undecided → High |
status: | New → In Progress |
Changed in mutter (Ubuntu Focal): | |
assignee: | nobody → Yuan-Chen Cheng (ycheng-twn) |
importance: | Undecided → High |
status: | New → In Progress |
description: | updated |
Changed in oem-priority: | |
status: | In Progress → Fix Committed |
Changed in mutter (Ubuntu Hirsute): | |
importance: | Undecided → High |
Changed in mutter (Ubuntu Hirsute): | |
assignee: | nobody → Yuan-Chen Cheng (ycheng-twn) |
Changed in oem-priority: | |
status: | Fix Committed → Fix Released |
Changed in mutter: | |
status: | Unknown → Fix Released |
upstream bug: https:/ /gitlab. freedesktop. org/xorg/ xserver/ -/issues/ 1239