Bug 1540986
| Summary: | gnome-shell fails to start Xwayland with stalled entries in /tmp/.X11-unix/ | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Product: | Red Hat Enterprise Linux 7 | Reporter: | Martin Krajnak <mkrajnak> | ||||||||
| Component: | mutter | Assignee: | Florian Müllner <fmuellner> | ||||||||
| Status: | CLOSED ERRATA | QA Contact: | Desktop QE <desktop-qa-list> | ||||||||
| Severity: | high | Docs Contact: | |||||||||
| Priority: | unspecified | ||||||||||
| Version: | 7.5 | CC: | jkoten, jreznik, lmiksik, ofourdan, tpelka | ||||||||
| Target Milestone: | rc | ||||||||||
| Target Release: | --- | ||||||||||
| Hardware: | x86_64 | ||||||||||
| OS: | Linux | ||||||||||
| Whiteboard: | |||||||||||
| Fixed In Version: | Doc Type: | If docs needed, set a value | |||||||||
| Doc Text: | Story Points: | --- | |||||||||
| Clone Of: | Environment: | ||||||||||
| Last Closed: | 2018-04-10 13:11:47 UTC | Type: | Bug | ||||||||
| Regression: | --- | Mount Type: | --- | ||||||||
| Documentation: | --- | CRM: | |||||||||
| Verified Versions: | Category: | --- | |||||||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||||||
| Embargoed: | |||||||||||
| Attachments: |
|
||||||||||
|
Description
Martin Krajnak
2018-02-01 13:13:11 UTC
Created attachment 1389493 [details]
core dump
The core file (attachment 1389493 [details]) gives:
(gdb) bt
#0 0x00007fb65cdcb1b7 in raise () from /usr/lib64/libc.so.6
#1 0x00007fb65cdcc8a8 in abort () from /usr/lib64/libc.so.6
#2 0x000000000058f1da in OsAbort () at utils.c:1361
#3 0x0000000000594ce3 in AbortServer () at log.c:877
#4 0x0000000000595b2d in FatalError (f=f@entry=0x59cf78 "failed to read Wayland events: %s\n") at log.c:1015
#5 0x0000000000424a42 in xwl_read_events (xwl_screen=0x1dec750) at xwayland.c:594
#6 0x000000000058cef2 in ospoll_wait (ospoll=0x1de3130, timeout=<optimized out>) at ospoll.c:412
#7 0x0000000000585fb3 in WaitForSomething (are_ready=0) at WaitFor.c:226
#8 0x00000000005531e1 in Dispatch () at dispatch.c:422
#9 0x000000000055744a in dix_main (argc=11, argv=0x7fff7802e158, envp=<optimized out>) at main.c:287
#10 0x00007fb65cdb7385 in __libc_start_main () from /usr/lib64/libc.so.6
#11 0x00000000004240fe in _start ()
This is typical of the Wayland compositor dying, what this tells is that the Wayland compositor is dead and Xwayland cannot read from the Wayland socket.
I thinkg this is the problem:
Feb 01 13:23:58 localhost.localdomain kernel: traps: gnome-shell[2594] trap int3 ip:7f3179f94381 sp:7fff8c8b51b0 error:0
Feb 01 13:23:58 localhost.localdomain abrt-hook-ccpp[2602]: Process 2594 (gnome-shell) of user 1000 killed by SIGTRAP - dumping core Can you provide this core file from gnome-shell please? Created attachment 1389600 [details]
backtrace and core dump
I think that should be it
Now that's funny, gnome-shell fails with “Failed to start X Wayland” and Xwayland fails because it can't talk to gnome-shell... I wonder if that could be a dupe of bug 1529175, can you please provide the full journalctl logs? Created attachment 1389636 [details]
joutnalctl
Here it is just note that's I wasn't able to retrieve the logs from previous boots so I reproduced the crash again.
Can you check (for that given user) if you have: ~/.config/gnome-session/saved-session/org.gnome.Shell.desktop And if so, paste its content in here? Alternatively, can you reproduce with a freshly created user? 1. Create a new user on the system 2. Select that user in gdm 3. Chose the session “GNOME on Wayland” That would rule out a possible session issue (In reply to Olivier Fourdan from comment #8) > Can you check (for that given user) if you have: > > ~/.config/gnome-session/saved-session/org.gnome.Shell.desktop > > And if so, paste its content in here? ~/.config/gnome-session/saved-session/ for all three users test, test2, test3 are empty so there are no saved sessions. Might be stalled entries in “/tmp/.X11-unix/” which oprevent Xwayland from starting, what gives “ls /tmp/.X11-unix/” and “fuser /tmp/.X11-unix/X?” If thse X1, X2 entries are not used by any process, can you try removing them and then retry login in GNOME on Wayland? Yes, that will be it, after removing X1 and X2 entries wayland session starts successfully for all users. Xwayland (like all Xorg servers) has the “-displayfd” options which let Xwayland pick the right display available and provide its number to the caller via the provided fd. mutter should use this to avoid dealing (badly) with stalled entries in /tmp/.X11-unix/ as in this issue. I should have looked closer to the code, mutter is already using -displayfd, so the problem lies in the way mutter tries to find the display. Upstream issue: https://gitlab.gnome.org/GNOME/mutter/issues/13 MR with fix: https://gitlab.gnome.org/GNOME/mutter/merge_requests/14 mutter-3.26.2-8.el7.x86_64 gnome-shell-3.26.2-3.el7.x86_64 gnome-session-wayland-session-3.26.1-10.el7.x86_64 I can successfully log to wayland Entries for justification: ➜ ~ ls /tmp/.X11-unix/ X0 X1 X2 Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHBA-2018:0770 |