[prev in list] [next in list] [prev in thread] [next in thread]
List: freedesktop-xorg-devel
Subject: Re: Xwayland fatal error when Wayland output disappears
From: Pekka Paalanen <ppaalanen () gmail ! com>
Date: 2017-11-27 10:04:18
Message-ID: 20171127120418.2670ac9f () eldfell
[Download RAW message or body]
[Attachment #2 (multipart/signed)]
On Mon, 27 Nov 2017 10:27:29 +0100
Olivier Fourdan <fourdan@gmail.com> wrote:
> Hi,
>
> On 23 November 2017 at 16:13, Olivier Fourdan <fourdan@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
[Attachment #5 (application/pgp-signature)]
[Attachment #6 (text/plain)]
_______________________________________________
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: https://lists.x.org/mailman/listinfo/xorg-devel
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic