On Mon, 2011-05-09 at 18:43 +0200, Samuel Thibault wrote: > > Single stepping in msgserver.c also triggered the console printout: task > > 5040ee18 deallocating an invalid port 340/xxx, most probably a bug. > > Note that you can make the kernel start the in-kernel debugger in that > case. Simply set the mach_port_deallocate_debug variable to 1, or use nm > on the "gnumach" binary to get its adress, e.g. 0x20001234, and use > > w 20001234 1 > cont > > from the kernel debugger (use ctrl-alt-d to invoke it) to write a 1 > there.
It's not so simple as you say: I have now found out where the mach_port_deallocate_debug variable is in gnumach-1.3.99-486-dbg (copied from boot and uncompressed). I have two alternatives: 1) Write a one into that address without using the kernel debugger, how? Then I could compress it again, and put it back in /boot! 2) Uncompress it at /boot Start the debugger with C-A-d. Does this work on an uncompressed image? w 002c10c0 1 cont and then, how to exit the debugger? Then compress the image again, and restarting the debugger?? When should I start the kernel debuggger, before or after triggering: 5040ee18 deallocating an invalid port 340, most probably a bug. Is there any help available for the kernel debugger?