Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.
Bug 1516859 - [abrt] xorg-x11-server-Xwayland: xwl_log_handler(): Xwayland killed by SIGABRT
Summary: [abrt] xorg-x11-server-Xwayland: xwl_log_handler(): Xwayland killed by SIGABRT
Alias: None
Product: Fedora
Classification: Fedora
Component: xorg-x11-server
Version: 27
Hardware: x86_64
OS: Unspecified
Target Milestone: ---
Assignee: X/OpenGL Maintenance List
QA Contact: Fedora Extras Quality Assurance
Whiteboard: abrt_hash:3f66ffb13feadec7ffc4a78e665...
Depends On:
TreeView+ depends on / blocked
Reported: 2017-11-23 12:56 UTC by Christian Stadelmann
Modified: 2018-04-13 17:24 UTC (History)
12 users (show)

Fixed In Version: mutter-3.26.2-2.fc27
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Last Closed: 2018-04-13 16:39:55 UTC

Attachments (Terms of Use)
File: backtrace (deleted)
2017-11-23 12:56 UTC, Christian Stadelmann
no flags Details
File: core_backtrace (deleted)
2017-11-23 12:56 UTC, Christian Stadelmann
no flags Details
File: cpuinfo (deleted)
2017-11-23 12:56 UTC, Christian Stadelmann
no flags Details
File: dso_list (deleted)
2017-11-23 12:56 UTC, Christian Stadelmann
no flags Details
File: limits (deleted)
2017-11-23 12:56 UTC, Christian Stadelmann
no flags Details
File: proc_pid_status (deleted)
2017-11-23 12:56 UTC, Christian Stadelmann
no flags Details

System ID Priority Status Summary Last Updated
GNOME Bugzilla 789070 None None None 2019-02-07 16:29:33 UTC
Red Hat Bugzilla 1523952 None None None 2019-02-07 16:29:33 UTC

Description Christian Stadelmann 2017-11-23 12:56:38 UTC
Description of problem:
I tried reproducing bug #1392242 comment #15.

Steps to reproduce:
1. on gdm login screen, log in to your gnome/wayland session
2. as soon as possible, switch to another tty (i.e. while login is not completed)

I guess that the underlaying resources (input or output devices) get missing which causes this bug.

Version-Release number of selected component:

Additional info:
reporter:       libreport-2.9.3
backtrace_rating: 4
cmdline:        /usr/bin/Xwayland :0 -rootless -terminate -core -listen 4 -listen 5 -displayfd 6
crash_function: xwl_log_handler
executable:     /usr/bin/Xwayland
journald_cursor: s=56b603a1a0544164a0009e9af71baa8c;i=3944d;b=fa096e057a74423b9e4932266c55819c;m=18a124f63;t=55ea5c9fe16a6;x=72fcb15805b411f2
kernel:         4.13.13-300.fc27.x86_64
rootdir:        /
runlevel:       N 5
type:           CCpp

Truncated backtrace:
Thread no. 1 (10 frames)
 #5 xwl_log_handler at xwayland.c:885
 #6 wl_abort at src/wayland-util.c:416
 #7 wl_proxy_marshal_array_constructor_versioned at src/wayland-client.c:659
 #8 wl_proxy_marshal_array_constructor at src/wayland-client.c:599
 #9 wl_proxy_marshal_constructor at src/wayland-client.c:733
 #10 wl_display_sync at ./protocol/wayland-client-protocol.h:948
 #11 wl_display_roundtrip_queue at src/wayland-client.c:1113
 #12 wl_display_roundtrip at src/wayland-client.c:1150
 #13 xwl_screen_init at xwayland.c:806
 #14 AddScreen at dispatch.c:3916

Comment 1 Christian Stadelmann 2017-11-23 12:56:47 UTC
Created attachment 1358198 [details]
File: backtrace

Comment 2 Christian Stadelmann 2017-11-23 12:56:49 UTC
Created attachment 1358199 [details]
File: core_backtrace

Comment 3 Christian Stadelmann 2017-11-23 12:56:51 UTC
Created attachment 1358200 [details]
File: cpuinfo

Comment 4 Christian Stadelmann 2017-11-23 12:56:52 UTC
Created attachment 1358201 [details]
File: dso_list

Comment 5 Christian Stadelmann 2017-11-23 12:56:54 UTC
Created attachment 1358202 [details]
File: limits

Comment 6 Christian Stadelmann 2017-11-23 12:56:56 UTC
Created attachment 1358203 [details]
File: proc_pid_status

Comment 7 Olivier Fourdan 2017-11-23 13:06:57 UTC
I think this is this:

Comment 8 Olivier Fourdan 2017-11-23 14:08:16 UTC
But I don't think this is with wl_output in this case, I don't see outputs being added/removed on VT change.

Comment 9 Olivier Fourdan 2017-11-23 15:07:58 UTC
In this case, the race occurs with the wl_seat (which is created/destroyed on VT switch).

  [2802049.598] wl_seat@13.get_pointer(new id wl_pointer@18)
  [2802049.637]  -> wl_display@1.error(wl_display@1, 0, "invalid object 18")
  [2802050.464] wl_display@1.error(wl_display@1, 0, "invalid object 18")
  Fatal server error:
  (EE) wl_display@1: error 0: invalid object 18

Comment 10 Olivier Fourdan 2017-11-24 08:55:08 UTC
Yet, in this case here, I wonder if that couldn't be a mutter bug though.

Xwayland abort() on a Wayland issue, trying to access an object that doesn't exist anymore.

That update occurs on the wl_seat capabilities, basically mutter sends Xwayland a wl_seat_send_capabilities() enabling the pointer while the wl_seat has no pointer (thus the Wayland protocol issue).

The capabilities is sent from meta_wayland_seat_devices_updated() in meta-wayland-seat.c which is called on a signal "device-added" or "device-removed" from the device manager.

The capabilities are set or unset based on MetaWaylandSeat in meta_wayland_seat_set_capabilities() which is called from meta_wayland_seat_update_capabilities() which queries the device.

I think we have a potential race here, the device actua capabilities may have changed once more in between, which would explain the reproducer.

Comment 11 Christian Stadelmann 2017-11-24 09:06:19 UTC
(In reply to Olivier Fourdan from comment #10)
> […]

That sounds like a reasonable explanation to me.

Comment 12 Olivier Fourdan 2017-11-24 15:57:35 UTC
Humm, no, I think this is one of those case where the protocol itself is racy, not Xwayland or mutter...

Comment 13 Adam Williamson 2018-04-13 16:32:06 UTC
*** Bug 1523952 has been marked as a duplicate of this bug. ***

Comment 14 Adam Williamson 2018-04-13 16:35:07 UTC
Changed external bug per Olivier's comment here: .

Comment 15 Adam Williamson 2018-04-13 16:39:55 UTC
I believe this was fixed by - the commit mentioned there, cde545462 , is precisely the commit that fixed this bug, "wayland-outputs: Delay wl_output destruction". So, closing. Please re-open if you're hitting *exactly* this bug still.

Comment 16 Adam Williamson 2018-04-13 17:24:25 UTC
Well, I'm not 100% sure on that, so re-opening, for now, waiting on confirmation from Olivier. See (if you can, it's a private bug due to libreport silliness).

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