On Wed, Jun 08, 2022 at 08:15:43AM +0100, Chris Lamb wrote: > I'm not quite sure what connection you are making between the signal > processing within diffoscope and HTML output generation. When > diffoscope receives a TERM signal, it only attempts to clean up > temporary files, it does not attempt to try and write any HTML output. > See sigterm_handler in diffoscope/main.py, etc.. (I'm not entirely > sure it should attempt to do so either. Signals are weird.)
Thank you for reminding me what the handler was doing!
I wrote my email yesterday without actually looking, I just vaguely
remembered it was doing _something_!
> We could certainly try and print the profiling output if we receive a
> TERM though... aaaand I've pushed something to that effect to master.
> I've also added some logging warnings so it's much clearer if we are
> in that state.
Oh, yes, that's probably what it ought to do indeed (logging that it
received a signal and leave some traces of itself on stdout, at least).
> > If somebody looks into the point above I can change jenkins to wait
> > 12 minutes (or 18) before KILLing after the TERM signal.
>
> I'm +1 for increasing the hard upper limit on Jenkins and could be
> convinced to increase this TERM/KILL gap too, but as I mention above,
> I'm not sure we're following the same rationale yet.
Before raising the KILL limit diffoscope should learn how to treat TERM
(and/or probably other signals too?) in a way that makes it at least
terminating its current task (i.e. killing subprocesses, and start to
render the output). But indeed, should diffoscope really do that?
Overall, I agree we don't have a bug here.
--
regards,
Mattia Rizzolo
GPG Key: 66AE 2B4A FCCF 3F52 DA18 4D18 4B04 3FCD B944 4540 .''`.
More about me: https://mapreri.org : :' :
Launchpad user: https://launchpad.net/~mapreri `. `'`
Debian QA page: https://qa.debian.org/developer.php?login=mattia `-
signature.asc
Description: PGP signature

