Hi,
On Tue, Nov 11, 2025 at 09:03:32AM +1300, Thomas Munro wrote:
> Interesting. Perhaps a minimal program that installs a handler
> assert(signo < 32) for both SIGUSR1 and SIGUSR2 might fail too, if
> another program loops calling kill(the_other_one, rand() % 2 == 0 ?
> SIGUSR1 : SIGUSR2), to support a bug report?
I tried that, and on 32bit (the 64bit vm is currently on a buildfarm
run) I got one crash (after many million kill()s) so far:
|test_signalhandler: ../sysdeps/mach/hurd/mig-reply.c:85:
|__mig_dealloc_reply_port: Unexpected error: (os/kern) invalid name.
For future reference, on the Mach console:
|login: task ./test_signalhandler(767) looked up a bogus port 23 for3205, most
probably a bug.
|task ./test_signalhandler(767) looked up a bogus port 23 for 3205, most
probably a bug.
|task ./test_signalhandler(767) looked up a bogus port 23 for 3205, most
probably a bug.
|task ./test_signalhandler(767) decreasing a bogus port 23 by 1, most probably
a bug.
|/hurd/crash:./test_signalhandler(767) crashed, signal {no:6, code:0, error:0},
exception {0, code:0, subcode:0}, PCs: {
|0x10674ac 0x12f1136 0x10b618c 0x10b64a5 0x10b5611 0x1066953 0x1066870
0x1066918 0x1066396 0x12cec49,
|0x10674ac 0x12e3a4f 0x107d09b 0x107e311 0x107e60f 0x1302e67 0x13031ea
0x109715a 0x1068178 0x10682a4
|}, killing task.
Not sure whether that is the same issue, but I'll report it upstream
tomorrow once I checked on 64bit as well.
Michael