Weird results. I like the “too many stack locations to be believed!”
How do you know that is an IRP?
The address you used in “!object” looks like an IRP to me, so I am
curious why you think it might be an object. (I think it is an IRP
because it is the 2nd parameter to NtfsFsdWrite).
The stack trace indicates a standard page-in thread waiting for a paging
IRP to complete. The question for something like this is “why is that
paging IRP not finishing?”
Regards,
Tony
Tony Mason
Consulting Partner
OSR Open Systems Resources, Inc.
http://www.osr.com
Looking forward to seeing you at the Next OSR File Systems Class October
18, 2004 in Silicon Valley!
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Ken Galipeau
Sent: Thursday, October 14, 2004 2:02 PM
To: ntfsd redirect
Subject: RE: [ntfsd] Dead-Lock
I found and interesting IRP in the dead-locked system is says:
0: kd> !irp 856feda8
Irp is active with 74 stacks 185 is current (= 0xf7737ad0)
No Mdl Irp count = 85bdc880 Thread 856fee40: Too many Irp stacks to be
believed (>30)!!
0: kd> !object 88e8ce48
Object: 88e8ce48 Type: (57575757)
ObjectHeader: 88e8ce30
HandleCount: 1465341783 PointerCount: 1465341783
Directory Object: 57575757 Name: (*** Name not accessible ***)
0: kd> .thread 856feda8
Implicit thread is now 856feda8
0: kd> kv
*** Stack trace for last set context - .thread/.cxr resets it
ChildEBP RetAddr Args to Child
b94a9440 804ed867 856fee40 856feda8 861c2748 nt!KiSwapContext+0x26 (FPO:
[EBP 0xb94a946c] [0,0,4])
b94a946c 804ecde5 861c2748 856feda8 00000000 nt!KiSwapThread+0x281 (FPO:
[Non-Fpo])
b94a94a0 805059dd 861c2748 00000009 00000000
nt!KeWaitForSingleObject+0x24b (FPO: [Non-Fpo])
b94a94c8 80505d49 814bf858 c0387c64 e1f19100
nt!MiWaitForInPageComplete+0x1d (FPO: [Non-Fpo])
b94a9550 804f50f9 00000001 e1f19100 c0387c64 nt!MiDispatchFault+0xc30
(FPO: [Non-Fpo])
b94a95b0 8052839c 00000000 e1f19100 00000000 nt!MmAccessFault+0x632
(FPO: [Non-Fpo])
b94a95d4 80538d89 0000000e 856feda8 b94a9638
nt!MiMakeSystemAddressValidPfnSystemWs+0xb2 (FPO: [EBP 0x856feda8]
[0,0,0])
b94a95f0 804f52f4 c3900000 00000001 b94a9744
nt!MmCheckCachedPageState+0xe2 (FPO: [EBP 0xb94a9638] [2,2,0])
b94a9638 804fbb16 85d737a8 b94a9678 00005000 nt!CcMapAndRead+0x85 (FPO:
[Non-Fpo])
b94a96cc 805b0ee0 857c3a28 b94a9770 00004a00 nt!CcPinFileData+0x24a
(FPO: [Non-Fpo])
b94a9798 f725ae4e 857c3a28 b94a97ec b94a97dc nt!CcZeroData+0xfc (FPO:
[Non-Fpo])
b94a982c f720a8a2 854d4380 e10b21f0 857c3a28 Ntfs!NtfsZeroData+0x2e1
(FPO: [Non-Fpo])
b94a9a34 f72057d4 854d4380 88e8ce48 8074ca10 Ntfs!NtfsCommonWrite+0x1ac8
(FPO: [Non-Fpo])
b94a9aa8 806ab630 85de6020 88e8ce48 8074ca10 Ntfs!NtfsFsdWrite+0x16a
(FPO: [Non-Fpo])
b94a9ad8 8052d84f f72e188b f72e188b 8616eb90 nt!IovCallDriver+0x110
(FPO: [Non-Fpo])
b94a9ae0 f72e188b 8616eb90 00000001 806c3de1 nt!IofCallDriver+0xe (FPO:
[0,0,0])
b94a9b34 806ab630 86182020 88e8ce48 8074ca10 fltMgr!FltpDispatch+0x3cb
(FPO: [Non-Fpo]) (CONV: stdcall)
[k:\nts03sp1\base\fs\filtermgr\filter\fltmgr.c @ 4031]
b94a9b64 8052d84f ba836c2d ba836c2d 8074ca10 nt!IovCallDriver+0x110
(FPO: [Non-Fpo])
b94a9b6c ba836c2d 8074ca10 858b0950 00000000 nt!IofCallDriver+0xe (FPO:
[0,0,0])
b94a9ba4 ba841d0e 86182020 88e8ce48 b94a9bc8 Driver!CallDriver+0x6d
(FPO: [Non-Fpo]) (CONV: stdcall)
b94a9be8 ba83b755 858b0950 88e8ce48 8074ca10 Driver!Write+0x1be (FPO:
[Non-Fpo]) (CONV: stdcall)
b94a9c44 806ab630 858b0950 88e8ce48 88e8ce48 Driver!IrpDispatch+0x395
(FPO: [Non-Fpo]) (CONV: stdcall)
b94a9c74 8052d84f 8059778b 8059778b 88e8cfd8 nt!IovCallDriver+0x110
(FPO: [Non-Fpo])
b94a9c7c 8059778b 88e8cfd8 00000001 88e8ce48 nt!IofCallDriver+0xe (FPO:
[0,0,0])
b94a9c90 805a1671 858b0950 88e8ce48 857c3a28
nt!IopSynchronousServiceTail+0xfd (FPO: [Non-Fpo])
b94a9d38 804dfd24 00000618 00000000 00000000 nt!NtWriteFile+0x65b (FPO:
[Non-Fpo])
b94a9d38 7ffe0304 00000618 00000000 00000000 nt!KiSystemService+0xd0
(FPO: [0,0] TrapFrame @ b94a9d64)
009fff30 00000000 00000000 00000000 00000000
SharedUserData!SystemCallStub+0x4 (FPO: [0,0,0])
Ken
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Tony Mason
Sent: Thursday, October 07, 2004 9:30 PM
To: Windows File Systems Devs Interest List
Subject: RE: [ntfsd] Dead-Lock
Ken,
This I/O is blocked waiting for a different I/O on the same file to
complete; this allows serialization of two different file extenders
against one another. The key here is to find the OTHER thread that
currently owns the “end of file” because it isn’t completing.
Just out of curiosity, is this running on Server '03?
If this is XP or '03 try using !stacks in WinDBG to pick out the
interesting stacks. And I’m always looking for good deadlock dumps for
debug class and articles.
Regards,
Tony
Tony Mason
Consulting Partner
OSR Open Systems Resources, Inc.
http://www.osr.com http:</http:>
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Ken Galipeau
Sent: Thursday, October 07, 2004 9:11 PM
To: ntfsd redirect
Subject: [ntfsd] Dead-Lock
I have a dead-lock condition where my system thread below is waiting on
what I presume is an event object.
How can I determine what this thread is waiting for (e.g. who is holding
it up? I am holding no resources and mutex locks within my driver or in
this thread.
This occurred while running BANGFS. I have a dump if someone would like
to look at it.
Thanks,
Ken
ChildEBP RetAddr Args to Child
ba9258f4 804ed867 85c814d8 85c81440 ba925984 nt!KiSwapContext+0x26 (FPO:
[EBP 0xba925920] [0,0,4])
ba925920 804ecde5 00000000 e14fb0d0 855c4b48 nt!KiSwapThread+0x281
ba925954 f7244b47 ba925984 00000000 00000000
nt!KeWaitForSingleObject+0x24b
ba925994 f7244c21 e14fb0d0 ba925a88 0000015c
Ntfs!NtfsWaitForIoAtEof+0x47
ba9259f4 f72dc09d 855c4b48 ba925a88 0000015c Ntfs!NtfsCopyWriteA+0xf1
ba925a44 f7314c0b 00000004 00000000 ba925a80
fltMgr!FltpPerformFastIoCall+0x17d (CONV: stdcall)
[k:\nts03sp1\base\fs\filtermgr\filter\fastiosup.c @ 361]
ba925aa4 ba1777aa 855c4b48 ba925b7c 0000015c
fltMgr!FltpFastIoWrite+0x18b (CONV: stdcall)
[k:\nts03sp1\base\fs\filtermgr\filter\fltmgr.c @ 6361]
ba925b38 805a1351 855c4b48 ba925b7c 0000015c driver!FastIoWrite+0x15a
(CONV: stdcall)
ba925be4 804dfd24 00000880 00000000 00000000 nt!NtWriteFile+0x318
ba925be4 804e8701 00000880 00000000 00000000 nt!KiSystemService+0xd0
(FPO: [0,0] TrapFrame @ ba925c10)
ba925c80 806bdb47 00000880 00000000 00000000 nt!ZwWriteFile+0x11 (FPO:
[9,0,0])
ba925cd4 ba17e5e3 00000880 00000000 00000000 nt!VfZwWriteFile+0x15b
Questions? First check the IFS FAQ at
https://www.osronline.com/article.cfm?id=17
You are currently subscribed to ntfsd as: unknown lmsubst tag argument:
‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com
Questions? First check the IFS FAQ at
https://www.osronline.com/article.cfm?id=17
You are currently subscribed to ntfsd as: unknown lmsubst tag argument:
‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com
Questions? First check the IFS FAQ at
https://www.osronline.com/article.cfm?id=17
You are currently subscribed to ntfsd as: unknown lmsubst tag argument:
‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com