timer.impure.lisp hanging appears not to be a regression as such (but
possibly recent changes have made the system more suspectible to a
problem that has always existed). What happens is that when
stress-testing signal handler scheduling and unscheduling two threads
are trying to interrupt each other using pthread_kill: the other from
gc_stop_the_world, and the other from signal_interrupt_thread, and
both just keep getting EAGAIN. ...dunno yet know why for sure, but I
suspect the fast timers used in that test simply end up flooding the
process interrupt queue, so that nothing else gets delivered.
Occasionally such a seeming hang unwedges itself after several
minutes, but sometimes they seem quite permanent.
Invalid exit status on the other hand is symptom of the last test
being too brittle.
The WARNINGs re. failed interrupts have nothing to do with each other,
and are harmless.
I am committing a comment regarding the first one, and a fix for the
second one, but possibly we should disable the whole :schedule-stress
test for now (and record this to BUGS.)