Da Zheng, le Tue 16 Mar 2010 19:51:31 +0800, a écrit : > On 10-3-16 下午5:21, Samuel Thibault wrote: > > Da Zheng, le Tue 16 Mar 2010 12:48:15 +0800, a écrit : > >> I now use the gnumach from the master branch in the git repository for > >> development. After I built and reboot my machine, I saw a few warning > >> messages > >> printed on the screen: task xxxx deallocating an invalid port xx, most > >> probably > >> a bug. What's worse, when I ran vim, there are too many such messages > >> printed on > >> the screen and I cannot even use vim. > > > > Are you using the latest libc from debian-ports? (2.10.2-6+hurd.1) > > One important fixes got in it, and should get rid of that warning flood. > You are right. After I upgraded libc, no warning flood any more when I use > vim. > I don't know if it works for all other programs. When I login, I see such a > message, but I don't know where I should start to look at.
At the place where the warning is :) Get the address of the mach_port_deallocate_debug variable, set it to 1 by entering kdb and use w theaddress 1 then trigger the warning, you'll now get kdb invoked from the context. Then you can use trace to get the backtrace, and "show all thread/u" to know which process the task corresponds to. Then you can use e.g. gdb to know exactly which mach_port_deallocate() call is apparently spurious. Samuel