Bug 1492469 - Xwayland process exit with code 01 and gnome-shell crashed when I play few seconds in PAC-MAN 256
Summary: Xwayland process exit with code 01 and gnome-shell crashed when I play few se...
Keywords:
Status: CLOSED EOL
Alias: None
Product: Fedora
Classification: Fedora
Component: mutter
Version: 28
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Florian Müllner
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2017-09-17 14:14 UTC by Mikhail
Modified: 2019-05-28 19:26 UTC (History)
16 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2019-05-28 19:26:35 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
system log when crash occured (437.81 KB, text/x-vhdl)
2017-09-18 19:48 UTC, Mikhail
no flags Details
system log from another machine (Core(TM) i5-2310 + Intel® HD Graphics 2000) (570.98 KB, text/x-vhdl)
2017-09-19 18:27 UTC, Mikhail
no flags Details

Description Mikhail 2017-09-17 14:14:10 UTC
How reproduce:
1) Buy and install game: http://store.steampowered.com/app/455400/
2) Play several seconds.


[mikhail@localhost ~]$ ps aux | grep -i xwayland
gdm       1346  0.0  0.1 829764 46388 tty1     Sl+  Sep16   0:00 /usr/bin/Xwayland :1024 -rootless -noreset -listen 4 -listen 5 -displayfd 6
mikhail   5601  1.9  0.4 1007156 158192 tty2   Sl+  14:09   3:08 /usr/bin/Xwayland :0 -rootless -noreset -listen 4 -listen 5 -displayfd 6
mikhail  14067  0.0  0.0 123192  1004 pts/12   S+   16:50   0:00 grep --color=auto -i xwayland


[mikhail@localhost ~]$ gdb -p 5601

0x00007f2195094746 in __GI_epoll_pwait (epfd=7, events=events@entry=0x7fff46b58fd0, maxevents=maxevents@entry=256, timeout=-1, set=set@entry=0x0)
    at ../sysdeps/unix/sysv/linux/epoll_pwait.c:42
42	  return SYSCALL_CANCEL (epoll_pwait, epfd, events, maxevents,
(gdb) c
Continuing.
[Thread 0x7f21737fe700 (LWP 5614) exited]
[Thread 0x7f2173fff700 (LWP 5613) exited]
[Thread 0x7f2188953700 (LWP 5612) exited]
[Thread 0x7f2189154700 (LWP 5611) exited]
[Thread 0x7f218a156700 (LWP 5609) exited]
[Thread 0x7f218a957700 (LWP 5608) exited]
[Thread 0x7f218b158700 (LWP 5607) exited]
[Thread 0x7f21982fea80 (LWP 5601) exited]
[Inferior 1 (process 5601) exited with code 01]
(gdb)  thread apply all bt
(gdb) q


Expected result gnome-shell not crashed

Comment 1 Olivier Fourdan 2017-09-18 07:02:10 UTC
If Xwayland crashed, you should find a backtrace in journalctl at the time of the crash, can you please post that?

Comment 2 Mikhail 2017-09-18 09:23:49 UTC
Xwayland not crashed it exit with code 01 as you can see above.
> [Inferior 1 (process 5601) exited with code 01]

But this lead to crash gnome-shell process.
https://bugzilla.gnome.org/page.cgi?id=traceparser/trace.html&trace_id=237973

Thread 1 (Thread 0x7f101a3d2ac0 (LWP 1214)):
#0  0x00007f10195167b1 in _g_log_abort (breakpoint=1) at gmessages.c:554
#1  0x00007f10195177ec in g_log_default_handler (log_domain=<optimized out>, log_level=<optimized out>, message=<optimized out>, unused_data=<optimized out>)
    at gmessages.c:3051
#2  0x00005579cc6d4745 in default_log_handler (log_domain=log_domain@entry=0x7f1017aacf73 "mutter", log_level=log_level@entry=6, message=message@entry=0x5579d110fdb0 "Connection to xwayland lost", data=data@entry=0x0) at ../src/main.c:311
#3  0x00007f1019517a7d in g_logv (log_domain=0x7f1017aacf73 "mutter", log_level=G_LOG_LEVEL_ERROR, format=<optimized out>, args=args@entry=0x7fff4a5d74b0) at gmessages.c:1341
#4  0x00007f1019517bef in g_log (log_domain=log_domain@entry=0x7f1017aacf73 "mutter", log_level=log_level@entry=G_LOG_LEVEL_ERROR, format=format@entry=0x7f1017abf1f0 "Connection to xwayland lost") at gmessages.c:1403
#5  0x00007f1017a6f37e in x_io_error (display=<optimized out>) at wayland/meta-xwayland.c:411
#6  0x00007f101618bede in _XIOError (dpy=dpy@entry=0x5579ce5e8420) at XlibInt.c:1469
#7  0x00007f101618976d in _XEventsQueued (dpy=dpy@entry=0x5579ce5e8420, mode=mode@entry=2) at xcb_io.c:352
#8  0x00007f101617b2bd in XPending (dpy=0x5579ce5e8420) at Pending.c:55
#9  0x00007f1016cdc41e in gdk_check_xpending (display=0x5579ce5f80e0 [GdkX11Display]) at gdkeventsource.c:269
#10 0x00007f1016cdc41e in gdk_event_source_prepare (source=<optimized out>, timeout=timeout@entry=0x7fff4a5d7624) at gdkeventsource.c:287
#11 0x00007f1019510439 in g_main_context_prepare (context=context@entry=0x5579ce2e18c0, priority=priority@entry=0x7fff4a5d76b0) at gmain.c:3450
#12 0x00007f1019510e0b in g_main_context_iterate (context=0x5579ce2e18c0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3866
#13 0x00007f1019511272 in g_main_loop_run (loop=0x5579ce5d1d40) at gmain.c:4082
#14 0x00007f1017a3ba6c in meta_run () at core/main.c:648
#15 0x00005579cc6d4277 in main (argc=<optimized out>, argv=<optimized out>) at ../src/main.c:462

Comment 3 Mikhail 2017-09-18 09:25:11 UTC
> #4  0x00007f1019517bef in g_log (log_domain=log_domain@entry=0x7f1017aacf73 "mutter", log_level=log_level@entry=G_LOG_LEVEL_ERROR, format=format@entry=0x7f1017abf1f0 "Connection to xwayland lost") at gmessages.c:1403

Comment 4 Olivier Fourdan 2017-09-18 13:02:36 UTC
The backtrace in comment 2 is from mutter/gnome-shell losing its connection to the Xserver (Xwayland in this case), it's not a bug in gnome-shell, it's Xwayland vanishing.

Xwayland itself won't exit under normal circumstances, so I believe something wrong happened to Xwayland, it might show (something) in the journactl logs.

Comment 5 Mikhail 2017-09-18 19:47:28 UTC
I hope you got answer here:

[99333.663897] localhost.localdomain org.gnome.Shell.desktop[1821]: Key repeat discarded, Wayland compositor doesn't seem to be processing events fast enough!
[99333.700841] localhost.localdomain org.gnome.Shell.desktop[1821]: Key repeat discarded, Wayland compositor doesn't seem to be processing events fast enough!
[99333.737579] localhost.localdomain org.gnome.Shell.desktop[1821]: Key repeat discarded, Wayland compositor doesn't seem to be processing events fast enough!
[99333.774870] localhost.localdomain org.gnome.Shell.desktop[1821]: Key repeat discarded, Wayland compositor doesn't seem to be processing events fast enough!
[99333.812243] localhost.localdomain org.gnome.Shell.desktop[1821]: Key repeat discarded, Wayland compositor doesn't seem to be processing events fast enough!
[99333.849728] localhost.localdomain org.gnome.Shell.desktop[1821]: Key repeat discarded, Wayland compositor doesn't seem to be processing events fast enough!
[99333.886684] localhost.localdomain org.gnome.Shell.desktop[1821]: Key repeat discarded, Wayland compositor doesn't seem to be processing events fast enough!
[99333.923310] localhost.localdomain org.gnome.Shell.desktop[1821]: Key repeat discarded, Wayland compositor doesn't seem to be processing events fast enough!
[99333.960973] localhost.localdomain org.gnome.Shell.desktop[1821]: Key repeat discarded, Wayland compositor doesn't seem to be processing events fast enough!
[99333.997842] localhost.localdomain org.gnome.Shell.desktop[1821]: Key repeat discarded, Wayland compositor doesn't seem to be processing events fast enough!
[99334.033116] localhost.localdomain org.gnome.Shell.desktop[1821]: Key repeat discarded, Wayland compositor doesn't seem to be processing events fast enough!
[99334.060056] localhost.localdomain org.gnome.Shell.desktop[1821]: (EE)
[99334.060056] localhost.localdomain org.gnome.Shell.desktop[1821]: Fatal server error:
[99334.060056] localhost.localdomain org.gnome.Shell.desktop[1821]: (EE) Error sending request: Resource temporarily unavailable
[99334.060056] localhost.localdomain org.gnome.Shell.desktop[1821]: (EE)
[99334.119365] localhost.localdomain gsd-clipboard[2028]: gsd-clipboard: Fatal IO error 11 (Resource temporarily unavailable) on X server :0.
[99334.120388] localhost.localdomain gsd-a11y-keyboa[2024]: gsd-a11y-keyboard: Fatal IO error 11 (Resource temporarily unavailable) on X server :0.
[99334.121221] localhost.localdomain sealertauto.desktop[2147]: seapplet: Fatal IO error 11 (Resource temporarily unavailable) on X server :0.
[99334.121970] localhost.localdomain gsd-power[1992]: gsd-power: Fatal IO error 11 (Resource temporarily unavailable) on X server :0.
[99334.134687] localhost.localdomain at-spi-bus-launcher[1850]: XIO:  fatal IO error 11 (Resource temporarily unavailable) on X server ":0"
[99334.134687] localhost.localdomain at-spi-bus-launcher[1850]:       after 83655 requests (83655 known processed) with 0 events remaining.
[99334.137405] localhost.localdomain gsd-media-keys[2037]: gsd-media-keys: Fatal IO error 11 (Resource temporarily unavailable) on X server :0.
[99334.138220] localhost.localdomain gsd-keyboard[2033]: gsd-keyboard: Fatal IO error 11 (Resource temporarily unavailable) on X server :0.
[99334.138974] localhost.localdomain gsd-color[2032]: gsd-color: Fatal IO error 11 (Resource temporarily unavailable) on X server :0.
[99334.139778] localhost.localdomain gsd-xsettings[2011]: gsd-xsettings: Fatal IO error 11 (Resource temporarily unavailable) on X server :0.
[99334.193245] localhost.localdomain gnome-session[1694]: gnome-session-binary[1694]: WARNING: App 'org.gnome.SettingsDaemon.Keyboard.desktop' exited with code 1
[99334.204979] localhost.localdomain gnome-session-binary[1694]: WARNING: App 'org.gnome.SettingsDaemon.Keyboard.desktop' exited with code 1
[99334.228878] localhost.localdomain ibus-daemon[1910]: GChildWatchSource: Exit status of a child process was requested but ECHILD was received by waitpid(). Most likely the process is ignoring SIGCHLD, or some other thread is invoking waitpid() with a nonpositive first argument; either behavior can break applications that use g_child_watch_add()/g_spawn_sync() either directly or indirectly.
[99334.230418] localhost.localdomain bluetoothd[781]: Endpoint unregistered: sender=:1.67 path=/MediaEndpoint/A2DPSource
[99334.231533] localhost.localdomain bluetoothd[781]: Endpoint unregistered: sender=:1.67 path=/MediaEndpoint/A2DPSink
[99334.232152] localhost.localdomain org.gnome.Shell.desktop[1821]: xcb_connection_has_error() returned true
[99334.305815] localhost.localdomain gnome-session[1694]: gnome-session-binary[1694]: WARNING: App 'org.gnome.SettingsDaemon.Clipboard.desktop' exited with code 1
[99334.307541] localhost.localdomain gnome-session-binary[1694]: WARNING: App 'org.gnome.SettingsDaemon.Clipboard.desktop' exited with code 1
[99334.341310] localhost.localdomain gnome-session[1694]: gnome-session-binary[1694]: WARNING: App 'org.gnome.SettingsDaemon.A11yKeyboard.desktop' exited with code 1
[99334.342529] localhost.localdomain gnome-session-binary[1694]: WARNING: App 'org.gnome.SettingsDaemon.A11yKeyboard.desktop' exited with code 1
[99334.364058] localhost.localdomain org.gnome.SettingsDaemon.Keyboard.desktop[1351]: Cannot open display:
[99334.393396] localhost.localdomain gsd-color[1528]: failed to connect to device: Failed to connect to missing device /org/freedesktop/ColorManager/devices/xrandr_Ancor_Communications_Inc_ASUS_ML239_BCLMIB555112_mikhail_1000
[99334.409190] localhost.localdomain org.gnome.SettingsDaemon.Clipboard.desktop[1354]: Cannot open display:
[99334.414772] localhost.localdomain gnome-session[1694]: gnome-session-binary[1694]: WARNING: Child process 2011 was already dead.
[99334.415652] localhost.localdomain gnome-session-binary[1694]: WARNING: Child process 2011 was already dead.
[99334.452167] localhost.localdomain gnome-session[1694]: gnome-session-binary[1694]: WARNING: Child process 2032 was already dead.
[99334.453076] localhost.localdomain gnome-session-binary[1694]: WARNING: Child process 2032 was already dead.

Comment 6 Mikhail 2017-09-18 19:48:19 UTC
Created attachment 1327602 [details]
system log when crash occured

Comment 7 Olivier Fourdan 2017-09-19 06:58:00 UTC
(In reply to Mikhail from comment #5)
> I hope you got answer here:

Sure, there you go:

> [99333.663897] localhost.localdomain org.gnome.Shell.desktop[1821]: Key
> repeat discarded, Wayland compositor doesn't seem to be processing events
> fast enough!

That's a first sign of the system not being able to cope with events.

> [99334.060056] localhost.localdomain org.gnome.Shell.desktop[1821]: (EE)
> [99334.060056] localhost.localdomain org.gnome.Shell.desktop[1821]: Fatal
> server error:
> [99334.060056] localhost.localdomain org.gnome.Shell.desktop[1821]: (EE)
> Error sending request: Resource temporarily unavailable
> [99334.060056] localhost.localdomain org.gnome.Shell.desktop[1821]: (EE)

Basically, what that tells us is that the compositor (gnome-shell) is not fast enough to deal with events from Xwayland and the event queue fills up up until the point where the socket is full and libwayland bails out:

  https://cgit.freedesktop.org/wayland/wayland/tree/src/wayland-client.c?h=1.14#n657

So this is not really an Xwayland issue, it's in between gnome-shell/mutter (which doesn't dequeue Wayland events fast enough) and possibly the hardware/driver which can't deal with the load.

Comment 8 Mikhail 2017-09-19 07:14:58 UTC
So it impossible to fix?
Machine is fast enough Core i7 + 32GB RAM. And I run very simple 2D game as Pacman.
Very annoying that it lead to incorrect terminating all working applications, lose all unsaved data,  and loosing login into session.

Comment 9 Olivier Fourdan 2017-09-19 07:33:27 UTC
(In reply to Mikhail from comment #8)
> So it impossible to fix?

Cannot anser this without a clear understanding of what is causing this. We have the effect (Xwayland bails out because mutter/gnome-shell cannot cope with the number of Wayland requests sent by Xwayland), but we do not know why yet.

> Machine is fast enough Core i7 + 32GB RAM. And I run very simple 2D game as
> Pacman.

Which video hardware/driver is is using?

> Very annoying that it lead to incorrect terminating all working
> applications, lose all unsaved data,  and loosing login into session.

Yes, but that's another issue, mutter being unable to survive Xwayland, which is being addressed/discussed in other bugs.

Comment 10 Mikhail 2017-09-19 07:46:26 UTC
> Which video hardware/driver is is using?
Intel® HD Graphics 4600

Comment 11 Mikhail 2017-09-19 18:27:21 UTC
Created attachment 1328106 [details]
system log from another machine (Core(TM) i5-2310 +  Intel® HD Graphics 2000)

Comment 12 Mikhail 2017-09-19 18:32:04 UTC
On another machine installed much older Fedora 26. But gnome-shell crashes too when I played PAC-MAN 256 few seconds. And I don't see messages "Wayland compositor doesn't seem to be processing events fast enough!" in system log.

Comment 13 Olivier Fourdan 2017-09-22 07:45:33 UTC
Can you please try with weston to see if the issue occurs with a different Wayland compositor?

Comment 14 Mikhail 2017-09-22 10:48:21 UTC
Which is yet another Wayland compositor exists in Fedora? I know only about kwin in KDE? I am not sure that kwin already can works in Wayland session.

Comment 15 Olivier Fourdan 2017-09-22 12:00:05 UTC
Weston is the reference implementation of a Wayland compositor.

On Fedora, you can install it with "dnf install weston", that will add a new session "Weston" in the list of available sessions in gdm (*)

You may have to tweak your ~/.config/weston.ini to enable xwayland support in weston (see "man weson.ini" for more details), an example of a minimalist westom.ini I use can be found below:

#---------------------------------------------------------------------#
[core]
modules=xwayland.so
shell=desktop-shell.so

[shell]
background-color=0xff002244
panel-color=0x90ff0000
binding-modifier=alt

[launcher]
icon=/usr/share/icons/gnome/24x24/apps/utilities-terminal.png
path=/usr/bin/weston-terminal
#---------------------------------------------------------------------#


(*) Note: You can also try weston by switching to another VT and running "weston-launch" from the VT console as well, without leaving your session in GNOME.

To quit/terminale weston, simply press ctrl-alt-backspace.

Comment 16 Mikhail 2017-09-22 21:22:01 UTC
Very interesting, but under weston this issue not happens.

PACMAN 256 on weston: https://youtu.be/sP_tNXn1H6A
PACMAN 256 on mutter (gnome-shell): https://youtu.be/VKinRNOUMA8

But I noted what the mouse pointer are shifted when I use weston . This can be seen on my video (mouse hover effect is shifted above and to the left with respect to the drawn mouse pointer)

Comment 17 Olivier Fourdan 2017-09-25 06:50:11 UTC
(In reply to Mikhail from comment #16)
> Very interesting, but under weston this issue not happens.

So that confirms the problem is with gnome-shell/mutter and not Xwayland.

> But I noted what the mouse pointer are shifted when I use weston . This can
> be seen on my video (mouse hover effect is shifted above and to the left
> with respect to the drawn mouse pointer)

Unrelated.

Comment 18 Fedora End Of Life 2018-02-20 15:22:13 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 28 development cycle.
Changing version to '28'.

Comment 19 Ben Cotton 2019-05-02 22:08:19 UTC
This message is a reminder that Fedora 28 is nearing its end of life.
On 2019-May-28 Fedora will stop maintaining and issuing updates for
Fedora 28. It is Fedora's policy to close all bug reports from releases
that are no longer maintained. At that time this bug will be closed as
EOL if it remains open with a Fedora 'version' of '28'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 28 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 20 Ben Cotton 2019-05-28 19:26:35 UTC
Fedora 28 changed to end-of-life (EOL) status on 2019-05-28. Fedora 28 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
bug.

Thank you for reporting this bug and we are sorry it could not be fixed.


Note You need to log in before you can comment on or make changes to this bug.