gtk3-demo dies with EAGAIN when running under Weston

Lyude thatslyude at gmail.com
Thu Mar 19 20:10:31 PDT 2015


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!

Cheers,
	Lyude
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: This is a digitally signed message part
URL: <http://lists.freedesktop.org/archives/wayland-devel/attachments/20150319/ccafcbde/attachment.sig>


More information about the wayland-devel mailing list