Process ID of process outputing a debug strind.

Hi all,

In windbg, how do I see the process ID of a process emiting a DebugPrint?

This question is in relation to another that I posted a few weeks ago
-“What is “EXWORKER: Work item deadlock detected, creating type 1 worker
thread””. I get this message only when running the checked build of the
HAL and ntoskrnl.exe. The message is particularly curious to me as it
suggests something went wrong just before a hard hang that occurs
occasionaly.

Thanks in advance,
Arun.

The EXWORKER message means (on win2k) that there were pending work items
(through IoQueueWorkItem or ExQueueWorkItem), but all of the current
worker threads are blocked in other work items, and the system is
attempting to start a new thread to handle this situation and unblock
the work item list.

As for the process ID, I don’t think that it is possible to see the
calling process. You could always do the following, but it would be
painfully slow on a serial link

bp nt!DbgPrint “k 20;g”

which would show the stack for the last 20 callers and then continue for
every call to DbgPrint.

D

This posting is provided “AS IS” with no warranties, and confers no
rights

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Arun VR
Sent: Monday, June 09, 2003 12:49 PM
To: NT Developers Interest List
Subject: [ntdev] Process ID of process outputing a debug strind.

Hi all,

In windbg, how do I see the process ID of a process emiting a
DebugPrint?

This question is in relation to another that I posted a few weeks ago
-“What is “EXWORKER: Work item deadlock detected, creating type 1 worker
thread””. I get this message only when running the checked build of the
HAL and ntoskrnl.exe. The message is particularly curious to me as it
suggests something went wrong just before a hard hang that occurs
occasionaly.

Thanks in advance,
Arun.


You are currently subscribed to ntdev as: xxxxx@windows.microsoft.com
To unsubscribe send a blank email to xxxxx@lists.osr.com

“Arun VR” wrote in message news:xxxxx@ntdev…
>
> Hi all,
>
> In windbg, how do I see the process ID of a process emiting a DebugPrint?
>

I’m not aware of any way to do this.

> This question is in relation to another that I posted a few weeks ago
> -“What is “EXWORKER: Work item deadlock detected, creating type 1 worker
> thread””. I get this message only when running the checked build of the
> HAL and ntoskrnl.exe. The message is particularly curious to me as it
> suggests something went wrong just before a hard hang that occurs
> occasionaly.
>

Sorry nobody answered you earlier. This is on Win2K, right??

This is a well known message. It’s only printed by the checked builds, and
it is displayed whenever a thread is added to the work queue, as a result of
the threads in one of the worker pools not making any progress after “a
while.”

So, you probably want to know how to debug this. OK, in WinDbg you need to
find all the threads that are currently executing worker functions. A look
through the stack of all the threads on all the processes should allow you
to locate this quickly. THEN you need to do the same thing, identifying
which threads are waiting on work queue entries.

It’s not fun, but it’s not that difficult. Just time-consuming.

Peter
OSR

> find all the threads that are currently executing worker functions.
A look

through the stack of all the threads on all the processes should
allow you
to locate this quickly. THEN you need to do the same thing,
identifying
which threads are waiting on work queue entries.

It’s not fun, but it’s not that difficult. Just time-consuming.

!process 0 7 command, which Peter is talking about, is the very, very
valuable tool to find deadlocks, even on customer sites.

Max

Do not use Ex/Io work items below the filesystem (in the storage
stack). The FSDs and Cc use ExQueueWorkItem extensively, and calling
ExQueueWorkItem from another work item routine can cause this type of
deadlocks.

Max

----- Original Message -----
From: “Arun VR”
To: “NT Developers Interest List”
Sent: Monday, June 09, 2003 11:48 PM
Subject: [ntdev] Process ID of process outputing a debug strind.

> Hi all,
>
> In windbg, how do I see the process ID of a process emiting a
DebugPrint?
>
> This question is in relation to another that I posted a few weeks
ago
> -“What is “EXWORKER: Work item deadlock detected, creating type 1
worker
> thread””. I get this message only when running the checked build of
the
> HAL and ntoskrnl.exe. The message is particularly curious to me as
it
> suggests something went wrong just before a hard hang that occurs
> occasionaly.
>
> Thanks in advance,
> Arun.
>
> —
> You are currently subscribed to ntdev as: xxxxx@storagecraft.com
> To unsubscribe send a blank email to
xxxxx@lists.osr.com