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
Attachment:
signature.asc
Description: This is a digitally signed message part