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


Reply via email to