Hi - I'm using my newly enhanced rpctrace to hunt down a few bugs.
Here's a minor one in glibc that shows up like this on "rpctrace /bin/true": task337(pid1240)->mach_port_deallocate (pn{ 0}) = 0xf ((os/kern) invalid name) The trick is to get rpctrace to halt the process when it encounters something like that, then gdb shows you right where the problem is. I haven't worked that up into a publishable patch, yet... agape brent
--- sysdeps/mach/hurd/dl-sysdep.c~ 2016-08-08 12:55:47.000000000 -1000 +++ sysdeps/mach/hurd/dl-sysdep.c 2016-10-30 17:25:06.564622626 -1000 @@ -472,7 +472,8 @@ err = __io_map ((mach_port_t) fd, &memobj_rd, &memobj_wr); if (err) return __hurd_fail (err), MAP_FAILED; - __mach_port_deallocate (__mach_task_self (), memobj_wr); + if (memobj_wr != MACH_PORT_NULL) + __mach_port_deallocate (__mach_task_self (), memobj_wr); } mapaddr = (vm_address_t) addr;