[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: too many warning messages from gnumach

From: Da Zheng
Subject: Re: too many warning messages from gnumach
Date: Wed, 17 Mar 2010 10:25:13 +0800
User-agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv: Gecko/20100227 Thunderbird/3.0.3


On 10-3-16 下午8:59, Samuel Thibault wrote:
> 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.
OK, now I can invoke kdb and set the variable. After the Hurd triggers the
warning, I get to kdb and invoke 'show all thread/u", but I don't know how to
find the task that trigger the warning. There are so many tasks and threads. The
output is something like this:
ID:     TASK            MAP             THD             SUS             PR      
        COMMAND                 THREADS
 0:     1fef5234        1fef3294        8               0               12      
         0:(...)        1:(...) ...
 1:     1fef6b24        1fef6bc4        628             0               12

We can see that the first task is gnumach, which has 8 threads, and it lists all
threads of gnumach at the end. But I don't know some columns such as
SUS(suspend?) and PR (priority?).
But the command doesn't always display the command of a task. For example, the
next task has 628 threads, but I don't know which process it corresponds to.

Zheng Da

reply via email to

[Prev in Thread] Current Thread [Next in Thread]