bug#40981: Graphical installer tests sometimes hang.

2020-05-11 Thread Ludovic Courtès
Hello, Mathieu Othacehe skribis: >>> The work-around here is to save the installed SIGTERM handler and reset >>> it. Then, after forking, the parent can restore the SIGTERM handler. The >>> child will use the default SIGTERM handler that terminates the process. >> >> OK, makes sense. (Another o

bug#40981: Graphical installer tests sometimes hang.

2020-05-10 Thread Mathieu Othacehe
Hey Ludo, > Woow, good catch! Thanks :) >> The work-around here is to save the installed SIGTERM handler and reset >> it. Then, after forking, the parent can restore the SIGTERM handler. The >> child will use the default SIGTERM handler that terminates the process. > > OK, makes sense. (Anothe

bug#40981: Graphical installer tests sometimes hang.

2020-05-10 Thread Ludovic Courtès
Hi! Mathieu Othacehe skribis: > The previous patch was not working. The reason is that, when a process > is forked and before execv is called, it shares the parent signal > handler. > > So when sending a SIGTERM to the child process, we are stopping > root-service, if the signal is received befo

bug#40981: Graphical installer tests sometimes hang.

2020-05-07 Thread Mathieu Othacehe
Hello, The previous patch was not working. The reason is that, when a process is forked and before execv is called, it shares the parent signal handler. So when sending a SIGTERM to the child process, we are stopping root-service, if the signal is received before the child has forked. The work-

bug#40981: Graphical installer tests sometimes hang.

2020-05-06 Thread Mathieu Othacehe
Hello, I found what happened here. Turns out, when a process is forked and before "setsid" or "setpgid" is called, it shares the parent PGID. In that case the parent is Shepherd, with the PGID 0. When doing the following actions: * stop guix-daemon * start guix-daemon * stop guix-daemon * star

bug#40981: Graphical installer tests sometimes hang.

2020-05-05 Thread Mathieu Othacehe
Hey! > OK, but the trace above is “as expected”, isn’t it? Oh sorry, I pasted the wrong part! Here's the part where getpgid returns zero and the full log in attachment: --8<---cut here---start->8--- [pid 1] stat("/etc/localtime", {st_mode=S_IFREG|0444, st

bug#40981: Graphical installer tests sometimes hang.

2020-05-05 Thread Ludovic Courtès
Hi! Mathieu Othacehe skribis: >> I'll keep looking! > > Ok, getting closer. Here's a suspect part of Shepherd strace log: > > [pid 1] stat("/etc/localtime", {st_mode=S_IFREG|0444, st_size=2298, ...}) > = 0 > [pid 1] write(9, "shepherd[1]: changing HTTP/HTTPS"..., 86) = 86 > [pid 1]

bug#40981: Graphical installer tests sometimes hang.

2020-05-04 Thread Mathieu Othacehe
> I'll keep looking! Ok, getting closer. Here's a suspect part of Shepherd strace log: --8<---cut here---start->8--- [pid 1] stat("/etc/localtime", {st_mode=S_IFREG|0444, st_size=2298, ...}) = 0 [pid 1] write(9, "shepherd[1]: changing HTTP/HTTPS"...,

bug#40981: Graphical installer tests sometimes hang.

2020-04-30 Thread Mathieu Othacehe
Hello, Graphical installer tests sometimes hang, before starting marionette tests. See for instance: https://ci.guix.gnu.org/log/d31s9sycixhvfak5lpzdg0mzvz5aa9av-gui-installed-os-encrypted. Restarting tests just after a hang (on the same installed image), sometimes work. I removed the "quiet" k