On Aug 8 17:02, Jon Turney via Cygwin-apps wrote: > On 07/08/2023 09:55, Corinna Vinschen wrote: > > On Aug 4 13:47, Jon Turney wrote: > > > This gets us down to no permanent failures in the testsuite in CI. > > There is an intermittent failure in kill01, which I need to do something > about before turning on taking notice of the testsuite result in CI. > > Effectively, all this does is: > > pid = fork(); > if (pid == 0) { > pause(); > } else { > kill(pid, SIGKILL); > waitpid(pid, &status, 0); > } > > This is quite easy to demonstrate with 'winsup.api/ltp/kill01 -i 1000', > which repeats the test, succeeding until it hangs. > > Looking at the strace output, I would guess it's some race condition where a > child process isn't yet in a position to receive a signal immediately after > fork() returns in the parent (so the signal is dropped, and the parent > blocks indefinitely in waitpid waiting for the child to terminate) > > I'm not sure if that's fixable (or worth effort), so maybe just adding a > small delay in the test is the thing to do... :)
It might be worth looking into it to make this more reliable, but the patch is fine for the time being, of course. Thanks, Corinna