New issue
Advanced search Search tips

Issue 920030 link

Starred by 2 users

Issue metadata

Status: Untriaged
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 3
Type: Bug



Sign in to add a comment

sommelier does not handle being stopped/resumed gracefully

Project Member Reported by davidriley@google.com, Jan 9

Issue description

Attempting to stop/resume sommelier results in sommelier and the called app dying upon being run again:
sommelier -X xterm
^Z
bg

(EE) failed to write to XWayland fd: Broken pipe
xterm: fatal IO error 104 (Connection reset by peer) or KillClient on X server ":1"

[1]+  Done                    sommelier -X xterm

Likely something need to handle EINTR gracefully.

684   epoll_wait(3, [{EPOLLIN, {u32=3756533856, u64=133259411859552}}], 32, -1) = 1
684   poll([{fd=6, events=POLLIN}], 1, -1) = 1 ([{fd=6, revents=POLLIN}])
684   recvmsg(6, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="#\0\0\0\0\0\f\0\222M\367\4", iov_len=944}, {iov_base="", iov_len=3152}], msg_iovlen=2, msg_controllen=0, msg_flags=MSG_CMSG_CLOEXEC}, MSG_DONTWAIT|MSG_CMSG_CLOEXEC) = 12
684   sendmsg(10, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="!\0\0\0\0\0\f\0\222M\367\4\1\0\0\0\1\0\f\0!\0\0\0", iov_len=24}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, MSG_DONTWAIT|MSG_NOSIGNAL) = 24
684   epoll_wait(3,  <unfinished ...>
687   <... epoll_wait resumed> [{EPOLLIN, {u32=41418768, u64=139234291220496}}], 256, 599738) = 1
687   recvmsg(22, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="!\0\0\0\0\0\f\0\222M\367\4\1\0\0\0\1\0\f\0!\0\0\0", iov_len=2732}, {iov_base="", iov_len=1364}], msg_iovlen=2, msg_controllen=0, msg_flags=MSG_CMSG_CLOEXEC}, MSG_DONTWAIT|MSG_CMSG_CLOEXEC) = 24
687   poll([{fd=22, events=POLLOUT}], 1, 5) = 1 ([{fd=22, revents=POLLOUT}])
687   epoll_wait(3, 0x7fffe798f250, 256, 599709) = -1 EINTR (Interrupted system call)
684   <... epoll_wait resumed> 0x7fffe15cae80, 32, -1) = -1 EINTR (Interrupted system call)
700   <... select resumed> )            = ? ERESTARTNOHAND (To be restarted if no handler)
696   <... futex resumed> )             = ? ERESTARTSYS (To be restarted if SA_RESTART is set)
695   <... futex resumed> )             = ? ERESTARTSYS (To be restarted if SA_RESTART is set)
684   --- SIGCONT {si_signo=SIGCONT, si_code=SI_USER, si_pid=269, si_uid=1000} ---
696   futex(0x7ea2027ac308, FUTEX_WAIT_PRIVATE, 0, NULL <unfinished ...>
700   --- SIGCONT {si_signo=SIGCONT, si_code=SI_USER, si_pid=269, si_uid=1000} ---
695   futex(0x7ea2027ac1a0, FUTEX_WAIT_PRIVATE, 0, NULL <unfinished ...>
700   select(6, [3 5], [], NULL, NULL <unfinished ...>
694   <... futex resumed> )             = ? ERESTARTSYS (To be restarted if SA_RESTART is set)
693   <... futex resumed> )             = ? ERESTARTSYS (To be restarted if SA_RESTART is set)
692   <... futex resumed> )             = ? ERESTARTSYS (To be restarted if SA_RESTART is set)
691   <... futex resumed> )             = ? ERESTARTSYS (To be restarted if SA_RESTART is set)
690   <... futex resumed> )             = ? ERESTARTSYS (To be restarted if SA_RESTART is set)
692   futex(0x7ea2027abd68, FUTEX_WAIT_PRIVATE, 0, NULL <unfinished ...>
689   <... futex resumed> )             = ? ERESTARTSYS (To be restarted if SA_RESTART is set)
691   futex(0x7ea2027abc00, FUTEX_WAIT_PRIVATE, 0, NULL <unfinished ...>
690   futex(0x7ea2027aba98, FUTEX_WAIT_PRIVATE, 0, NULL <unfinished ...>
689   futex(0x7ea2027ab930, FUTEX_WAIT_PRIVATE, 0, NULL <unfinished ...>
694   futex(0x7ea2027ac038, FUTEX_WAIT_PRIVATE, 0, NULL <unfinished ...>
684   exit_group(0 <unfinished ...>
687   --- SIGCONT {si_signo=SIGCONT, si_code=SI_USER, si_pid=269, si_uid=1000} ---
684   <... exit_group resumed>)         = ?
693   futex(0x7ea2027abed0, FUTEX_WAIT_PRIVATE, 0, NULL <unfinished ...>
687   poll([{fd=22, events=POLLOUT}], 1, 5) = 1 ([{fd=22, revents=POLLOUT}])
687   epoll_wait(3, [{EPOLLIN|EPOLLHUP, {u32=43897056, u64=139234293698784}}, {EPOLLIN|EPOLLHUP, {u32=41418768, u64=139234291220496}}], 256, 597006) = 2
684   +++ exited with 0 +++
687   writev(21, [{iov_base="V\2V\0\7\0 \0\0\0\0\0\7\1\0\0\317\330\31\0\326\315\31\0\0\0\0\0\0\0\0\0", iov_len=32}], 1) = -1 EPIPE (Broken pipe)
687   --- SIGPIPE {si_signo=SIGPIPE, si_code=SI_USER, si_pid=687, si_uid=1000} ---
687   epoll_ctl(3, EPOLL_CTL_DEL, 21, 0x7fffe798ef00) = 0
 

Sign in to add a comment