[Bug 1948894] Re: Xwayland crash in gdm as screen off and touchscreen detach.
Yuan-Chen Cheng
1948894 at bugs.launchpad.net
Wed Nov 3 02:45:48 UTC 2021
** Description changed:
+ [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 plythmouth.
+ * 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 at 1: error 0: invalid object 24"
4. Xwayland and gnome-shell process both die as this happens.
5. Try to add sleep(30) to OsVendorFatalError(), then both Xwayland and
gnome-shell stop there for 30 more seconds.
6. backtrace as Xwayland crashed:
```
#0 0x00007f447b8e818b in raise () from /lib/x86_64-linux-gnu/libc.so.6
#1 0x00007f447b8c7859 in abort () from /lib/x86_64-linux-gnu/libc.so.6
#2 0x0000564374403f30 in OsAbort () at ../../../../os/utils.c:1351
#3 0x0000564374409369 in AbortServer () at ../../../../os/log.c:872
#4 0x000056437440a1ca in FatalError (f=f at entry=0x564374416266 "%s") at ../../../../os/log.c:1010
#5 0x000056437429c8b0 in xwl_log_handler (format=<optimized out>, args=<optimized out>) at ../../../../../hw/xwayland/xwayland.c:1312
#6 0x00007f447c3d027e in wl_log (fmt=fmt at entry=0x7f447c3d121a "%s@%u: error %d: %s\n") at ../src/wayland-util.c:404
#7 0x00007f447c3cb78b in display_handle_error (data=<optimized out>, display=0x56437639f000, object=0x56437639f000, code=0, message=<optimized out>)
at ../src/wayland-client.c:911
#8 0x00007f447b7c0ff5 in ?? () from /lib/x86_64-linux-gnu/libffi.so.7
#9 0x00007f447b7c040a in ?? () from /lib/x86_64-linux-gnu/libffi.so.7
#10 0x00007f447c3cf3a8 in wl_closure_invoke (closure=closure at entry=0x564376e57350, flags=flags at entry=1, target=<optimized out>,
target at entry=0x56437639f000, opcode=opcode at entry=0, data=<optimized out>) at ../src/connection.c:1018
#11 0x00007f447c3cbc48 in dispatch_event (display=display at entry=0x56437639f000, queue=<optimized out>) at ../src/wayland-client.c:1445
#12 0x00007f447c3cd1ef in dispatch_queue (queue=0x56437639f0d0, display=0x56437639f000) at ../src/wayland-client.c:1584
#13 wl_display_dispatch_queue_pending (display=0x56437639f000, queue=0x56437639f0d0) at ../src/wayland-client.c:1833
#14 0x00007f447c3cd280 in wl_display_dispatch_pending (display=<optimized out>) at ../src/wayland-client.c:1896
#15 0x000056437429c9bb in xwl_read_events (xwl_screen=0x564376399dd0) at ../../../../../hw/xwayland/xwayland.c:957
#16 0x0000564374401c61 in ospoll_wait (ospoll=0x56437638f4a0, timeout=<optimized out>) at ../../../../os/ospoll.c:657
#17 0x00005643743faa23 in WaitForSomething (are_ready=0) at ../../../../os/WaitFor.c:208
#18 0x00005643743ca4a7 in Dispatch () at ../../../../include/list.h:220
#19 0x00005643743ce794 in dix_main (argc=16, argv=0x7ffc44d49298, envp=<optimized out>) at ../../../../dix/main.c:276
#20 0x00007f447b8c90b3 in __libc_start_main () from /lib/x86_64-linux-gnu/libc.so.6
#21 0x000056437429c60e in _start ()```
--
You received this bug notification because you are a member of Ubuntu
Sponsors Team, which is subscribed to the bug report.
https://bugs.launchpad.net/bugs/1948894
Title:
Xwayland crash in gdm as screen off and touchscreen detach.
Status in Mutter:
Unknown
Status in OEM Priority Project:
In Progress
Status in mutter package in Ubuntu:
In Progress
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 plythmouth.
* 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 at 1: error 0: invalid object 24"
4. Xwayland and gnome-shell process both die as this happens.
5. Try to add sleep(30) to OsVendorFatalError(), then both Xwayland and
gnome-shell stop there for 30 more seconds.
6. backtrace as Xwayland crashed:
```
#0 0x00007f447b8e818b in raise () from /lib/x86_64-linux-gnu/libc.so.6
#1 0x00007f447b8c7859 in abort () from /lib/x86_64-linux-gnu/libc.so.6
#2 0x0000564374403f30 in OsAbort () at ../../../../os/utils.c:1351
#3 0x0000564374409369 in AbortServer () at ../../../../os/log.c:872
#4 0x000056437440a1ca in FatalError (f=f at entry=0x564374416266 "%s") at ../../../../os/log.c:1010
#5 0x000056437429c8b0 in xwl_log_handler (format=<optimized out>, args=<optimized out>) at ../../../../../hw/xwayland/xwayland.c:1312
#6 0x00007f447c3d027e in wl_log (fmt=fmt at entry=0x7f447c3d121a "%s@%u: error %d: %s\n") at ../src/wayland-util.c:404
#7 0x00007f447c3cb78b in display_handle_error (data=<optimized out>, display=0x56437639f000, object=0x56437639f000, code=0, message=<optimized out>)
at ../src/wayland-client.c:911
#8 0x00007f447b7c0ff5 in ?? () from /lib/x86_64-linux-gnu/libffi.so.7
#9 0x00007f447b7c040a in ?? () from /lib/x86_64-linux-gnu/libffi.so.7
#10 0x00007f447c3cf3a8 in wl_closure_invoke (closure=closure at entry=0x564376e57350, flags=flags at entry=1, target=<optimized out>,
target at entry=0x56437639f000, opcode=opcode at entry=0, data=<optimized out>) at ../src/connection.c:1018
#11 0x00007f447c3cbc48 in dispatch_event (display=display at entry=0x56437639f000, queue=<optimized out>) at ../src/wayland-client.c:1445
#12 0x00007f447c3cd1ef in dispatch_queue (queue=0x56437639f0d0, display=0x56437639f000) at ../src/wayland-client.c:1584
#13 wl_display_dispatch_queue_pending (display=0x56437639f000, queue=0x56437639f0d0) at ../src/wayland-client.c:1833
#14 0x00007f447c3cd280 in wl_display_dispatch_pending (display=<optimized out>) at ../src/wayland-client.c:1896
#15 0x000056437429c9bb in xwl_read_events (xwl_screen=0x564376399dd0) at ../../../../../hw/xwayland/xwayland.c:957
#16 0x0000564374401c61 in ospoll_wait (ospoll=0x56437638f4a0, timeout=<optimized out>) at ../../../../os/ospoll.c:657
#17 0x00005643743faa23 in WaitForSomething (are_ready=0) at ../../../../os/WaitFor.c:208
#18 0x00005643743ca4a7 in Dispatch () at ../../../../include/list.h:220
#19 0x00005643743ce794 in dix_main (argc=16, argv=0x7ffc44d49298, envp=<optimized out>) at ../../../../dix/main.c:276
#20 0x00007f447b8c90b3 in __libc_start_main () from /lib/x86_64-linux-gnu/libc.so.6
#21 0x000056437429c60e in _start ()```
To manage notifications about this bug go to:
https://bugs.launchpad.net/mutter/+bug/1948894/+subscriptions
More information about the Ubuntu-sponsors
mailing list