Xwayland fatal error when Wayland output disappears

Pekka Paalanen ppaalanen at gmail.com
Mon Nov 27 10:04:18 UTC 2017


On Mon, 27 Nov 2017 10:27:29 +0100
Olivier Fourdan <fourdan at gmail.com> wrote:

> Hi,
> 
> On 23 November 2017 at 16:13, Olivier Fourdan <fourdan at gmail.com> wrote:
> 
> > FWIW, it seems we have that issue with more than just wl_output, in
> > downstream bug 1516859 [1] this occurs with wl_seat on VT switch as well.
> >
> > That's pretty easy to reproduce, issue several VT switches back and forth
> > (I use "chvt" from a remote connection) until the race occurs, here it
> > doesn't take long.
> >
> > Cheers,
> > Olivier
> >
> > [1]   https://bugzilla.redhat.com/show_bug.cgi?id=1516859
> >  
> 
> 
> So, to be clear, the race here is between wl_seat capabilities and
> wl_pointer.
> 
> On VT switch, the compositor notifies the clients of the changes in wl_seat
> capabilities, Xwayland creates and releases the pointer based on these
> capabilities, and when switching quickly between VTs, by the time the
> get_pointer() is processed by the compositor, the pointer has been released
> from a previous capability change.

Hi,

this is a different race from the globals coming and going. It seems a
compositor workaround is in order:

https://cgit.freedesktop.org/wayland/weston/tree/libweston/input.c?id=3.0.0#n2342

The compositor can hand out a "dummy" wl_pointer/wl_keyboard/wl_touch.
The client will see the capability removal later and destroy it again.


Thanks,
pq
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <https://lists.x.org/archives/xorg-devel/attachments/20171127/e92c35d3/attachment.sig>


More information about the xorg-devel mailing list