gtk3-demo dies with EAGAIN when running under Weston
Jonas Ådahl
jadahl at gmail.com
Thu Mar 19 20:37:36 PDT 2015
On Thu, Mar 19, 2015 at 11:10:31PM -0400, Lyude wrote:
> Hi! So, I'm stuck on an issue here that's unfortunately making it
> impossible for me to test any of the changes I make to GTK+ under
> Wayland. For whatever reason, all of a sudden gtk3-demo is crashing
> under Weston whenever a pointer moves over any of it's wl_surfaces. The
> error message that GDK returns is as follows:
>
> (gtk3-demo:29056): Gdk-ERROR **: Error sending request: Resource temporarily unavailable
>
> I've brought this up in some of the IRC channels, and they managed to
> help me trace it down to this strace:
>
> …
> sendmsg(3, {msg_name(0)=NULL, msg_iov(2)=[{"\v\0\0\0\10\0\f\0\1\0\0\0\v\0\0\0\2\0\30\0\0\0\0\0\0\0\0\0\30\0\0\0"..., 1592}, {"\1\0\0\0\v\0\0\0\2\0\30\0\0\0\0\0\0\0\0\0\30\0\0\0\30\0\0\0\v\0\0\0"..., 2500}], msg_controllen=0, msg_flags=0}, MSG_DONTWAIT|MSG_NOSIGNAL) = 4092
> sendmsg(3, {msg_name(0)=NULL, msg_iov(2)=[{"\20\0\0\0\0\0\30\0\322\3\0\0\v\0\0\0\v\0\0\0\v\0\0\0\v\0\0\0\1\0\24\0"..., 1596}, {"\v\0\0\0\v\0\0\0\v\0\0\0\v\0\0\0\1\0\24\0\22\0\0\0\0\0\0\0\0\0\0\0"..., 2496}], msg_controllen=0, msg_flags=0}, MSG_DONTWAIT|MSG_NOSIGNAL) = 4092
> sendmsg(3, {msg_name(0)=NULL, msg_iov(2)=[{"\v\0\0\0\10\0\f\0\1\0\0\0\v\0\0\0\2\0\30\0\0\0\0\0\0\0\0\0\30\0\0\0"..., 1600}, {"\2\0\30\0\0\0\0\0\0\0\0\0\30\0\0\0\30\0\0\0\v\0\0\0\6\0\10\0\20\0\0\0"..., 2492}], msg_controllen=0, msg_flags=0}, MSG_DONTWAIT|MSG_NOSIGNAL) = 4092
> sendmsg(3, {msg_name(0)=NULL, msg_iov(2)=[{"\20\0\0\0\0\0\30\0\322\3\0\0\v\0\0\0\v\0\0\0\v\0\0\0\v\0\0\0\1\0\24\0"..., 1604}, {"\v\0\0\0\v\0\0\0\1\0\24\0\22\0\0\0\0\0\0\0\0\0\0\0\v\0\0\0\10\0\f\0"..., 2488}], msg_controllen=0, msg_flags=0}, MSG_DONTWAIT|MSG_NOSIGNAL) = 4092
> sendmsg(3, {msg_name(0)=NULL, msg_iov(2)=[{"\v\0\0\0\10\0\f\0\1\0\0\0\v\0\0\0\2\0\30\0\0\0\0\0\0\0\0\0\30\0\0\0"..., 1608}, {"\0\0\0\0\30\0\0\0\30\0\0\0\v\0\0\0\6\0\10\0\20\0\0\0\0\0\30\0\322\3\0\0"..., 2484}], msg_controllen=0, msg_flags=0}, MSG_DONTWAIT|MSG_NOSIGNAL) = 4092
> sendmsg(3, {msg_name(0)=NULL, msg_iov(2)=[{"\20\0\0\0\0\0\30\0\322\3\0\0\v\0\0\0\v\0\0\0\v\0\0\0\v\0\0\0\1\0\24\0"..., 1612}, {"\1\0\24\0\22\0\0\0\0\0\0\0\0\0\0\0\v\0\0\0\10\0\f\0\1\0\0\0\v\0\0\0"..., 2480}], msg_controllen=0, msg_flags=0}, MSG_DONTWAIT|MSG_NOSIGNAL) = 4092
> sendmsg(3, {msg_name(0)=NULL, msg_iov(1)=[{"\v\0\0\0\10\0\f\0\1\0\0\0\v\0\0\0\2\0\30\0\0\0\0\0\0\0\0\0\30\0\0\0"..., 1364}], msg_controllen=0, msg_flags=0}, MSG_DONTWAIT|MSG_NOSIGNAL) = 1364
> poll([{fd=3, events=POLLIN}, {fd=4, events=POLLIN}], 2, 0) = 1 ([{fd=3, revents=POLLIN}])
> poll([{fd=3, events=POLLIN}], 1, 4294967295) = 1 ([{fd=3, revents=POLLIN}])
> recvmsg(3, {msg_name(0)=NULL, msg_iov(2)=[{"\1\0\f\0\f\0\0\0\v\0\0\0\0\0\f\0\f\0\0\0\v\0\0\0\1\0\f\0\f\0\0\0"..., 3552}, {"\1\0\f\0\f\0\0\0\v\0\0\0\0\0\f\0\f\0\0\0\v\0\0\0\1\0\f\0\f\0\0\0"..., 540}], msg_controllen=0, msg_flags=MSG_CMSG_CLOEXEC}, MSG_DONTWAIT|MSG_CMSG_CLOEXEC) = 4092
> sendmsg(3, {msg_name(0)=NULL, msg_iov(2)=[{"\20\0\0\0\0\0\30\0\322\3\0\0\v\0\0\0\v\0\0\0\v\0\0\0\v\0\0\0\1\0\24\0"..., 252}, {"\30\0\0\0\v\0\0\0\6\0\10\0\20\0\0\0\0\0\30\0\322\3\0\0\v\0\0\0\v\0\0\0"..., 3840}], msg_controllen=0, msg_flags=0}, MSG_DONTWAIT|MSG_NOSIGNAL) = 4092
> sendmsg(3, {msg_name(0)=NULL, msg_iov(2)=[{"\v\0\0\0\10\0\f\0\1\0\0\0\v\0\0\0\2\0\30\0\0\0\0\0\0\0\0\0\30\0\0\0"..., 256}, {"\0\0\0\0\0\0\0\0\v\0\0\0\10\0\f\0\1\0\0\0\v\0\0\0\2\0\30\0\0\0\0\0"..., 3836}], msg_controllen=0, msg_flags=0}, MSG_DONTWAIT|MSG_NOSIGNAL) = 4092
> sendmsg(3, {msg_name(0)=NULL, msg_iov(2)=[{"\20\0\0\0\0\0\30\0\322\3\0\0\v\0\0\0\v\0\0\0\v\0\0\0\v\0\0\0\1\0\24\0"..., 260}, {"\6\0\10\0\20\0\0\0\0\0\30\0\322\3\0\0\v\0\0\0\v\0\0\0\v\0\0\0\v\0\0\0"..., 3832}], msg_controllen=0, msg_flags=0}, MSG_DONTWAIT|MSG_NOSIGNAL) = 4092
> sendmsg(3, {msg_name(0)=NULL, msg_iov(2)=[{"\v\0\0\0\10\0\f\0\1\0\0\0\v\0\0\0\2\0\30\0\0\0\0\0\0\0\0\0\30\0\0\0"..., 264}, {"\v\0\0\0\10\0\f\0\1\0\0\0\v\0\0\0\2\0\30\0\0\0\0\0\0\0\0\0\30\0\0\0"..., 3828}], msg_controllen=0, msg_flags=0}, MSG_DONTWAIT|MSG_NOSIGNAL) = 4092
> sendmsg(3, {msg_name(0)=NULL, msg_iov(2)=[{"\20\0\0\0\0\0\30\0\322\3\0\0\v\0\0\0\v\0\0\0\v\0\0\0\v\0\0\0\1\0\24\0"..., 268}, {"\0\0\30\0\322\3\0\0\v\0\0\0\v\0\0\0\v\0\0\0\v\0\0\0\1\0\24\0\22\0\0\0"..., 3824}], msg_controllen=0, msg_flags=0}, MSG_DONTWAIT|MSG_NOSIGNAL) = -1 EAGAIN (Resource temporarily unavailable)
> write(2, "\n(gtk3-demo:5198): Gdk-ERROR **:"..., 90
> (gtk3-demo:5198): Gdk-ERROR **: Error sending request: Resource temporarily unavailable
>
> ) = 90
> --- SIGTRAP {si_signo=SIGTRAP, si_code=SI_KERNEL, si_value={int=1, ptr=0x1}} ---
> +++ killed by SIGTRAP +++
>
> So for some reason, gtk3-demo seems to be getting an EAGAIN error from
> the compositor, and then it gives up and dies. I've tried using earlier
> versions of Weston and Wayland without much luck, so I have a feeling it
> might be something on my system. I talked with the people from #gtk+ on
> GIMPNet, and they suggested that since GTK+ shouldn't be getting an
> EAGAIN from a Wayland compositor to begin with, that it's probably an
> issue within weston. If I recall, I don't think this error began coming
> up until after I updated my system. The only problem is I don't know
> what I updated, so I'm going to have to go through portage's logs and
> see if I could figure out what could potentially be the culprit here.
>
> I've been trying to debug this myself, but unfortunately this goes into
> an area of Weston I'm really not familiar with. This is all of the
> useful information I have for now since I'm not entirely sure what to
> include here. So if there's any more information you need, so feel free
> to ask if you need more!
Try to apply this patch http://patchwork.freedesktop.org/patch/44994/ .
Jonas
>
> Cheers,
> Lyude
> _______________________________________________
> wayland-devel mailing list
> wayland-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/wayland-devel
More information about the wayland-devel
mailing list