Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Mystery thread

1 view
Skip to first unread message

James Moe

unread,
Sep 14, 2012, 5:33:30 PM9/14/12
to
Hello,
I have been trying to identify what starts a particular thread, in
this case it has ID #4. I can find nothing the in the program (PMMail)
that starts the thread.
I know what all of the other threads are and what they are doing.
I note that it has the same Block ID as thread 5.

What is the following output from PSTAT telling me?

Thread
ID Priority State Block ID Owned Semaphores
01 0200 Block FDEF62A4
02 0200 Block FDEFE654
04 0200 Block FFCA0064 <== mystery thread
05 0201 Block FFCA0064
06 0200 Block FFF3FB04
07 0200 Block 0820019E
08 0200 Block FDF01D7C
0C 0200 Block FDF01D34
0D 0200 Block FDF01CEC


--
James Moe
jmm-list at sohnen-moe dot com

Steven Levine

unread,
Sep 15, 2012, 1:15:39 AM9/15/12
to
On Fri, 14 Sep 2012 21:33:30 UTC, James Moe
<jimoe...@sohnen-moe.com> wrote:

Hi,

> I note that it has the same Block ID as thread 5.
> What is the following output from PSTAT telling me?

It's telling you that you should be using pmdf to figure out what
thread #4 exists. :-)

> Thread
> ID Priority State Block ID Owned Semaphores
> 01 0200 Block FDEF62A4
> 02 0200 Block FDEFE654
> 04 0200 Block FFCA0064 <== mystery thread
> 05 0201 Block FFCA0064
> 06 0200 Block FFF3FB04
> 07 0200 Block 0820019E
> 08 0200 Block FDF01D7C
> 0C 0200 Block FDF01D34
> 0D 0200 Block FDF01CEC

The reason it has the same block id is because it is waiting for the
same resource. Given that the blockid looks like it's somewhere in
the kernel heap, it probably represents a semaphore or maybe a file
handle.

Once you have pmmail in a state where the mystery thread exists, use
my pdumpctl to force an extended dump. This may capture enough data
to work with.

Open up the dump file in pmdf. Install .sym files as needed. Use the
.p command to see the thread slots. Use the .s to switch to the
mystery threads slot. Use Analyze->Thread->Call gate to find out why
the thread is waiting. Use ln eip to see where the ring 3 code is.
Use k to see the call stack (maybe).

Ask you need more assistance.

Steven

--
---------------------------------------------------------------------
Steven Levine <ste...@earthlink.bogus.net>
eCS/Warp/DIY etc. www.scoug.com www.ecomstation.com
---------------------------------------------------------------------

Dave Saville

unread,
Sep 15, 2012, 4:38:31 AM9/15/12
to
On Fri, 14 Sep 2012 21:33:30 UTC, James Moe
<jimoe...@sohnen-moe.com> wrote:

> Hello,
> I have been trying to identify what starts a particular thread, in
> this case it has ID #4. I can find nothing the in the program (PMMail)
> that starts the thread.
> I know what all of the other threads are and what they are doing.
> I note that it has the same Block ID as thread 5.

Not the other side of a pipe or socketpair is it?
--
Regards
Dave Saville

Dave Saville

unread,
Sep 15, 2012, 6:15:41 AM9/15/12
to
Silly me, threads not file handles! Too early in the morning. :-)
--
Regards
Dave Saville

Paul Ratcliffe

unread,
Sep 15, 2012, 7:10:24 PM9/15/12
to
What did thread 3 do? Does that give a clue? What about 5?
Obviously 4 is started after 3. Should just be a matter of
stepping through in the debugger watching what happens when.

I would suspect it's multimedia related.
0 new messages