Assert in Cache Manager

Hi everyone - I’m now occasionally getting an assert when doing a
CcCopyWrite. The assert is

*** Assertion failed: *CapturedViewSize != 0
*** Source File: F:\nt\private\ntos\mm\mapcache.c, line 160

Can anyone tell me what this one means? (this is win2k pro, sp2).

If I let it run, I get a blue screen for “irql not less than” 0x0A
failure, but I can’t figure out what I’m passing into CcCopyWrite that
causes it. Everything looks ok to me, except that the CcCopyWrite length
would cause the file allocation size to grow. Allocation size is 0x40000,
Length to write is 0xB, filesize is 0x3FFFB, offset to begin write is
0x3FFFB also.

Here’s the call stack when the assert happens:

bb0045a4 804af2e5 00000000 baf19165 ff83e838 nt!DbgBreakPoint (FPO:
[0,0,0])
bb004880 80482e97 80482a6a 80482a46 000000a0 nt!RtlAssert+0x9a (FPO:
[Non-Fpo])
bb0048b4 804156d1 e1df61f0 818a4a50 bb004940
nt!MmMapViewInSystemCache+0x82 (FPO: [Non-Fpo])
bb004960 8041528b ff83f708 00040000 00000000 nt!CcGetVacbMiss+0x2a2 (FPO:
[Non-Fpo])
bb00498c 80410a67 ff83f708 00040000 00000000 nt!CcGetVirtualAddress+0xa7
(FPO: [Non-Fpo])
bb004a30 8040c67d ff83f708 8ca48625 bb004a94 nt!CcMapAndCopy+0x90 (FPO:
[Non-Fpo])
bb004ae4 baf197cb ff834388 bb004b34 00000006 nt!CcCopyWrite+0x4c1 (FPO:
[Non-Fpo])
bb004b84 baf19153 ff8bd008 ff8bd09c ff83e838
ntsfsd!InitiateWriteFile+0x54f (FPO: [Non-Fpo]) (CONV: stdcall)
[g:\ntfsd\current\driver\fsdwrite.c @ 494]
bb004bd8 baf11a2d ff8bd008 ff8bd09c ff83e838 ntsfsd!FsdWriteRequest+0xe6
(FPO: [Non-Fpo]) (CONV: stdcall) [g:\ntfsd\current\driver\fsdwrite.c @
139]
bb004c24 80424968 ff83e838 ff8bd008 ff8bd008 ntsfsd!FsdDispatch+0xd9 (FPO:
[Non-Fpo]) (CONV: stdcall) [g:\ntfsd\current\driver\fsddisp.c @ 270]
bb004c3c 8053444c ff8bd09c 00000000 ff8bd008 nt!IopfCallDriver+0x4f (FPO:
[0,0,3])
bb004c50 8052feab ff83e838 ff8bd008 ff834388
nt!IopSynchronousServiceTail+0x94 (FPO: [Non-Fpo])
bb004d2c 804be60a 000000ec 00000000 00000000 nt!NtWriteFile+0x6cf (FPO:
[Non-Fpo])
bb004d2c 77f794cb 000000ec 00000000 00000000 nt!KiSystemService+0x10a
(FPO: [0,3] TrapFrame @ bb004d64)
017bfd4c 77e68b7f 000000ec 00000000 00000000 ntdll!NtWriteFile+0xb (FPO:
[9,0,0])
017bfdb8 00417733 000000ec 00fe3620 0000000b KERNEL32!WriteFile+0x111
(FPO: [Non-Fpo])
WARNING: Stack unwind information not available. Following frames may be
wrong.
017bff80 004806bb 017bffa8 004806ff 017bffa0 FSDTest!+0x11a3
017bffa0 0048f29e 017bffdc 0048eeec 017bffb4 FSDTest!+0x5d363
017bffb4 77e5d4f9 00fe5700 00fe67b4 00fe67b4 FSDTest!+0x6bf46
017bffec 00000000 0048f274 00fe5700 00000000 KERNEL32!BaseThreadStart+0x52
(FPO: [Non-Fpo])

Thanks in advance,

Greg

Greg, you already figured it out.

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

-----Original Message-----
From: Greg Pearce [mailto:xxxxx@filetek.com]
Sent: Monday, July 29, 2002 10:08 AM
To: File Systems Developers
Subject: [ntfsd] Assert in Cache Manager

Hi everyone - I’m now occasionally getting an assert when doing a
CcCopyWrite. The assert is

*** Assertion failed: *CapturedViewSize != 0
*** Source File: F:\nt\private\ntos\mm\mapcache.c, line 160

Can anyone tell me what this one means? (this is win2k pro, sp2).

If I let it run, I get a blue screen for “irql not less than” 0x0A
failure, but I can’t figure out what I’m passing into CcCopyWrite that
causes it. Everything looks ok to me, except that the CcCopyWrite
length
would cause the file allocation size to grow. Allocation size is
0x40000,
Length to write is 0xB, filesize is 0x3FFFB, offset to begin write is
0x3FFFB also.

Here’s the call stack when the assert happens:

bb0045a4 804af2e5 00000000 baf19165 ff83e838 nt!DbgBreakPoint (FPO:
[0,0,0])
bb004880 80482e97 80482a6a 80482a46 000000a0 nt!RtlAssert+0x9a (FPO:
[Non-Fpo])
bb0048b4 804156d1 e1df61f0 818a4a50 bb004940
nt!MmMapViewInSystemCache+0x82 (FPO: [Non-Fpo])
bb004960 8041528b ff83f708 00040000 00000000 nt!CcGetVacbMiss+0x2a2
(FPO:
[Non-Fpo])
bb00498c 80410a67 ff83f708 00040000 00000000 nt!CcGetVirtualAddress+0xa7
(FPO: [Non-Fpo])
bb004a30 8040c67d ff83f708 8ca48625 bb004a94 nt!CcMapAndCopy+0x90 (FPO:
[Non-Fpo])
bb004ae4 baf197cb ff834388 bb004b34 00000006 nt!CcCopyWrite+0x4c1 (FPO:
[Non-Fpo])
bb004b84 baf19153 ff8bd008 ff8bd09c ff83e838
ntsfsd!InitiateWriteFile+0x54f (FPO: [Non-Fpo]) (CONV: stdcall)
[g:\ntfsd\current\driver\fsdwrite.c @ 494]
bb004bd8 baf11a2d ff8bd008 ff8bd09c ff83e838 ntsfsd!FsdWriteRequest+0xe6
(FPO: [Non-Fpo]) (CONV: stdcall) [g:\ntfsd\current\driver\fsdwrite.c @
139]
bb004c24 80424968 ff83e838 ff8bd008 ff8bd008 ntsfsd!FsdDispatch+0xd9
(FPO:
[Non-Fpo]) (CONV: stdcall) [g:\ntfsd\current\driver\fsddisp.c @ 270]
bb004c3c 8053444c ff8bd09c 00000000 ff8bd008 nt!IopfCallDriver+0x4f
(FPO:
[0,0,3])
bb004c50 8052feab ff83e838 ff8bd008 ff834388
nt!IopSynchronousServiceTail+0x94 (FPO: [Non-Fpo])
bb004d2c 804be60a 000000ec 00000000 00000000 nt!NtWriteFile+0x6cf (FPO:
[Non-Fpo])
bb004d2c 77f794cb 000000ec 00000000 00000000 nt!KiSystemService+0x10a
(FPO: [0,3] TrapFrame @ bb004d64)
017bfd4c 77e68b7f 000000ec 00000000 00000000 ntdll!NtWriteFile+0xb (FPO:
[9,0,0])
017bfdb8 00417733 000000ec 00fe3620 0000000b KERNEL32!WriteFile+0x111
(FPO: [Non-Fpo])
WARNING: Stack unwind information not available. Following frames may be
wrong.
017bff80 004806bb 017bffa8 004806ff 017bffa0 FSDTest!+0x11a3
017bffa0 0048f29e 017bffdc 0048eeec 017bffb4 FSDTest!+0x5d363
017bffb4 77e5d4f9 00fe5700 00fe67b4 00fe67b4 FSDTest!+0x6bf46
017bffec 00000000 0048f274 00fe5700 00000000
KERNEL32!BaseThreadStart+0x52
(FPO: [Non-Fpo])

Thanks in advance,

Greg


You are currently subscribed to ntfsd as: xxxxx@windows.microsoft.com
To unsubscribe send a blank email to %%email.unsub%%

Thanks for the clue! I got it working… I think!

Greg