Test suite: the remote shell is sometimes killed by SIGIO during startup
In the remote shell server we add O_ASYNC
to the virtio channel, which causes a SIGIO
to be emitted when there is data to be read. By default SIGIO
will kill the process, but we register a NOP signal handler to fix that, however, we do that after adding O_ASYNC
, creating a race which sometimes leads to the remote sell server being killed by SIGIO
since the signal handler wasn't added in time.
See #20263 (comment 235583) for an example.
When grep
:ing for "tails-autotest-remote-shell.service: Main process exited, code=killed, status=29/IO
" over all journal artifacts from jenkins' test suite runs I got 115 matches. I looked in to a few of these, and in some it causes the scenario to fail, in some it recovers and the scenario runs with a working remote shell.