Re: Clearer output on ntfs deadlock - needing some helpful - advice...

this is a shoot in the dark, but have you tried running your driver without a
debuger connected ?
please reply?

xxxxx@earthlink.net wrote:

Howdy again!

I believe that what I am seeing is a thread running the ntfs code holding a
lock to a vcb resource and then trying to acquire that same resource (even
though it already owns it).  I have included more specific info at the end
of this message which may help show what’s happening.  My problem is how to
work around or solve this problem:

===========================================================================
!irpfind output:

  Irp    [Thread] irpStack: (Mj,Mn)   DevObj  [Driver]
84277748 [842d0480] irpStack: ( 6, 0)  84293d40 [\FileSystem\pqfilter]
8427b948 [842d0480] irpStack: ( 6, 0)  843e0560 [\FileSystem\Ntfs]
84281e68 [842a5660] irpStack: ( c, 2)  843e0560 [\FileSystem\Ntfs]

looking at thread 842d0480…

kd> !thread 842d0480

THREAD 842d0480  Cid 33c.264  Teb: 7ffdb000  Win32Thread: e209b668 WAIT:
(Executive) KernelMode Non-Alertable
    84287168  SynchronizationEvent
    842d0568  NotificationTimer
IRP List:
    84277748: (0006,0190) Flags: 00000830  Mdl: 00000000
Not impersonating
Owning Process 84344960
WaitTime (seconds)      682898
Context Switch Count    2511                   LargeStack
UserTime                  0:00:00.0620
KernelTime                0:00:03.0114
Start Address 0x77e92c50
Win32 Start Address 0x76e32ab8
Stack Init bdd6b8f0 Current bdd6b1f8 Base bdd6c000 Limit bdd65000 Call
bdd6b8fc
Priority 10 BasePriority 8 PriorityDecrement 0 DecrementCount 0

ChildEBP RetAddr  Args to Child
bdd6b210 8042d61c 00000000 843e0a34 842d0480 ntoskrnl!KiSwapThread+0xc5
bdd6b238 80417148 84287168 00000000 00000000
ntoskrnl!KeWaitForSingleObject+0x1a1
bdd6b278 80416629 84271268 003e0a34 bdd6b290
ntoskrnl!ExpWaitForResource+0x1ac
bdd6b288 8041666e bdd6b32c be49e8e0 843e0a34
ntoskrnl!ExpAcquireResourceExclusiveLite+0x64

bdd6b290 be49e8e0*843e0a34*e1b35c01 84271268
ntoskrnl!ExAcquireResourceExclusiveLite+0x4b ****** <- waiting on lock for
vcb?

bdd6b2a0 be4ca605 84271268 843e0630 00000001
Ntfs!NtfsAcquireExclusiveVcb+0x1b
bdd6b32c be4c193e 84271268 8427b948 843e0560
Ntfs!NtfsCommonSetInformation+0x2dd
bdd6b39c 8041f54b 843e0560 8427b948 842e531c
Ntfs!NtfsFsdSetInformation+0xbf
bdd6b3b0 bdd2eb38 8426e808 84277748 8427ba90 ntoskrnl!IopfCallDriver+0x35
bdd6b414 bdd2d9d2 843e0560 84275c28 8426e008 pqscnt!FileMove+0x3e0
bdd6b4b4 bdd3e761 843e0560 84277748 84293d40
pqscnt!OnSetInformationDispatch+0x1a7
bdd6b524 8041f54b 84293d40 84277748 842778b4 pqfilter!FilterDispatch+0x15c
bdd6b538 804b6b7a bdd6b654 00c6e488 804c1308 ntoskrnl!IopfCallDriver+0x35
bdd6b638 80461691 000002e8 00c6e4c8 00c6e4ef
ntoskrnl!NtSetInformationFile+0x58a
bdd6b638 77f93e4a 000002e8 00c6e4c8 00c6e4ef ntoskrnl!KiSystemService+0xc4
00c6e4f0 00000000 00000000 00000000 00000000
ntdll!NtSetInformationFile+0xb
bdd6b914 804307da bdd6b9d4 bdd6b9cc 00000000 ntoskrnl!KiCallUserMode+0x4
bdd6b978 a001f885 00000002 bdd6b9a8 00000018
ntoskrnl!KeUserModeCallback+0xa6
bdd6bc08 a001f56f a0334db8 00000111 00017011 win32k!SfnDWORD+0xc2
bdd6bc60 a001b017 a0334db8 00000111 00017011
win32k!xxxSendMessageTimeout+0x2c7
bdd6bc80 a00535f0 a0334db8 00000111 00017011 win32k!xxxSendMessage+0x1a
bdd6bcc8 a00533c3 00000007 00000004 bdd6bcf0
win32k!xxxTranslateAccelerator+0x25d
bdd6bd50 80461691 000300da 00030113 00c6fef8
win32k!NtUserTranslateAccelerator+0xa1
bdd6bd50 77e19885 000300da 00030113 00c6fef8 ntoskrnl!KiSystemService+0xc4
bdd6b8f8 bdd6c000 bdd6bd64 00000000 00c6ffa4 +0x77e19885
00c6fe9c 00000000 00000000 00000000 00000000 +0xbdd6c000

===========================================================================
kd> dt ERESOURCE 843e0a34
   +0x000 SystemResourcesList : _LIST_ENTRY
   +0x008 OwnerTable       : 0x842bc148
   +0x00c ActiveCount      : 1
   +0x00e Flag             : 0
   +0x010 SharedWaiters    : (null)
   +0x014 ExclusiveWaiters : 0x84287168
   +0x018 OwnerThreads     : [2] _OWNER_ENTRY
   +0x028 ContentionCount  : 2
   +0x02c NumberOfSharedWaiters : 0
   +0x02e NumberOfExclusiveWaiters : 1
   +0x030 Address          : (null)
   +0x030 CreatorBackTraceIndex : 0
   +0x034 SpinLock         : 0

Owner table for this resource:

addr            quad hex                        quad hex
843e0a4c        0000000000000000        0000003d842d0480


You are currently subscribed to ntfsd as: xxxxx@neptune.co.il
To unsubscribe send a blank email to leave-ntfsd-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntfsd as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntfsd-$subst(‘Recip.MemberIDChar’)@lists.osr.com