On Fri, Feb 24, 2023 at 12:15 PM Nathan Bossart <nathandboss...@gmail.com> wrote: > Thoughts?
I think you should have a trailing \n when writing to stderr. Here's that reproducer I speculated about (sorry I confused SIGQUIT and SIGTERM in my earlier email, ENOCOFFEE). Seems to do the job, and I tested on a Linux box for good measure. If you comment out the kill(), "check PROVE_TESTS=t/002_archiving.pl" works fine (demonstrating that that definition of system() works fine). With the kill(), it reliably reaches 'TRAP: failed Assert("latch->owner_pid == MyProcPid")' without your patch, and with your patch it avoids it. (I believe glibc's system() could reach it too with the right timing, but I didn't try, my point being that the use of the OpenBSD system() here is only because it's easier to grok and to wrangle.)
0001-XXX-inject-SIGTERM-into-system-at-an-inconvenient-mo.xatch
Description: Binary data