enhanced OPLOCK test hangs with my filter driver on win 8.1

Hi,

We have minifilter driver, in which we register for PreCreate(), PostCreate() , PreRead(), PreWrite(), PreSetInformation() and PreCleanup() callbacks.
We run IFSTest and IOstress test with our driver to test its stability, but with windows 8.1 OPLOCK test is hanging and I am not able to figure out what exactly is going wrong, similar test is passing on witndows 7 but hanging on windows 8.1 for ExFAT volume, for other volumes there is no issue

Following is the call stack

kd> !fltkd.filter ffffe0014e29d7c0 8 1

FLT_FILTER: ffffe0014e29d7c0 “vfsmfd” “263410”
InstanceList : (ffffe0014e29d818)
Resource (ffffe0014e29d880) List [ffffe0014e2a3990-ffffe0014ed84c10] rCount=12
FLT_INSTANCE: ffffe0014e2a3930 “VEAI” “263400”
FLT_OBJECT: ffffe0014e2a3930 [01000000] Instance
RundownRef : 0x0000000000000000 (0)
PointerCount : 0x00000001
PrimaryLink : [ffffe0014edc0350-ffffe0014edc1020]
OperationRundownRef : ffffe0014ff8c2d0
Could not read field “Number” of fltmgr!_EX_RUNDOWN_REF_CACHE_AWARE from address: ffffe0014ff8c2d0
Flags : [00000000]
Volume : ffffe0014edc0800 “\Device\Mup”
Filter : ffffe0014e29d7c0 “vfsmfd”
TrackCompletionNodes : ffffe0014fa49260
ContextLock : (ffffe0014e2a39a0)
Context : 0000000000000000
CallbackNodes : (ffffe0014e2a39c0)
VolumeLink : [ffffe0014edc0350-ffffe0014edc1020]
FilterLink : [ffffe0014e272930-ffffe0014e29d880]

FLT_INSTANCE: ffffe0014e2728d0 “VEAI” “263400”
FLT_OBJECT: ffffe0014e2728d0 [01000000] Instance
RundownRef : 0x0000000000000000 (0)
PointerCount : 0x00000001
PrimaryLink : [ffffe0014fea74d0-ffffe0014e388bc0]
OperationRundownRef : ffffe0014fa1f1b0
Could not read field “Number” of fltmgr!_EX_RUNDOWN_REF_CACHE_AWARE from address: ffffe0014fa1f1b0
Flags : [00000000]
Volume : ffffe0014ef8f7f0 “\Device\HarddiskVolume2”
Filter : ffffe0014e29d7c0 “vfsmfd”
TrackCompletionNodes : ffffe0014fe735f0
ContextLock : (ffffe0014e272940)
Context : 0000000000000000
CallbackNodes : (ffffe0014e272960)
VolumeLink : [ffffe0014fea74d0-ffffe0014e388bc0]
FilterLink : [ffffe0014fbd6c10-ffffe0014e2a3990]

FLT_INSTANCE: ffffe0014fbd6bb0 “VEAI” “263400”
FLT_OBJECT: ffffe0014fbd6bb0 [01000000] Instance
RundownRef : 0x0000000000000000 (0)
PointerCount : 0x00000001
PrimaryLink : [ffffe0014f7d3880-ffffe0014f7d4020]
OperationRundownRef : ffffe0014fff9cf0
Could not read field “Number” of fltmgr!_EX_RUNDOWN_REF_CACHE_AWARE from address: ffffe0014fff9cf0
Flags : [00000000]
Volume : ffffe0014f2d37f0 “\Device\HarddiskVolume1”
Filter : ffffe0014e29d7c0 “vfsmfd”
TrackCompletionNodes : ffffe0014dd71500
ContextLock : (ffffe0014fbd6c20)
Context : 0000000000000000
CallbackNodes : (ffffe0014fbd6c40)
VolumeLink : [ffffe0014f7d3880-ffffe0014f7d4020]
FilterLink : [ffffe0014e388c10-ffffe0014e272930]

FLT_INSTANCE: ffffe0014e388bb0 “Default” “263410”
FLT_OBJECT: ffffe0014e388bb0 [01000000] Instance
RundownRef : 0x0000000000000002 (1)
PointerCount : 0x00000001
PrimaryLink : [ffffe0014e2728e0-ffffe0014efdec70]
OperationRundownRef : ffffe0014fec87b0
Could not read field “Number” of fltmgr!_EX_RUNDOWN_REF_CACHE_AWARE from address: ffffe0014fec87b0
Flags : [00000000]
Volume : ffffe0014ef8f7f0 “\Device\HarddiskVolume2”
Filter : ffffe0014e29d7c0 “vfsmfd”
TrackCompletionNodes : ffffe0015027c850
ContextLock : (ffffe0014e388c20)
Context : 0000000000000000
CallbackNodes : (ffffe0014e388c40)
VolumeLink : [ffffe0014e2728e0-ffffe0014efdec70]
FilterLink : [ffffe0014e227a60-ffffe0014fbd6c10]

FLT_INSTANCE: ffffe0014e227a00 “VEAI” “263400”
FLT_OBJECT: ffffe0014e227a00 [01000000] Instance
RundownRef : 0x0000000000000000 (0)
PointerCount : 0x00000001
PrimaryLink : [ffffe00150460020-ffffe001500543e0]
OperationRundownRef : ffffe0014fbc9720
Could not read field “Number” of fltmgr!_EX_RUNDOWN_REF_CACHE_AWARE from address: ffffe0014fbc9720
Flags : [00000000]
Volume : ffffe0014e245010 “\Device\HarddiskVolume7”
Filter : ffffe0014e29d7c0 “vfsmfd”
TrackCompletionNodes : ffffe001503e0260
ContextLock : (ffffe0014e227a70)
Context : 0000000000000000
CallbackNodes : (ffffe0014e227a90)
VolumeLink : [ffffe00150460020-ffffe001500543e0]
FilterLink : [ffffe0014e21cc10-ffffe0014e388c10]

FLT_INSTANCE: ffffe0014e21cbb0 “VEAI” “263400”
FLT_OBJECT: ffffe0014e21cbb0 [01000000] Instance
RundownRef : 0x0000000000000000 (0)
PointerCount : 0x00000001
PrimaryLink : [ffffe001504613e0-ffffe0014fbdc930]
OperationRundownRef : ffffe0014e2df7f0
Could not read field “Number” of fltmgr!_EX_RUNDOWN_REF_CACHE_AWARE from address: ffffe0014e2df7f0
Flags : [00000000]
Volume : ffffe0014e5be7f0 “\Device\HarddiskVolume8”
Filter : ffffe0014e29d7c0 “vfsmfd”
TrackCompletionNodes : ffffe00150011250
ContextLock : (ffffe0014e21cc20)
Context : 0000000000000000
CallbackNodes : (ffffe0014e21cc40)
VolumeLink : [ffffe001504613e0-ffffe0014fbdc930]
FilterLink : [ffffe0014f01fa80-ffffe0014e227a60]

FLT_INSTANCE: ffffe0014f01fa20 “VEAI” “263400”
FLT_OBJECT: ffffe0014f01fa20 [01000000] Instance
RundownRef : 0x0000000000000000 (0)
PointerCount : 0x00000001
PrimaryLink : [ffffe00150296020-ffffe001500d36c0]
OperationRundownRef : ffffe0014fe80390
Could not read field “Number” of fltmgr!_EX_RUNDOWN_REF_CACHE_AWARE from address: ffffe0014fe80390
Flags : [00000000]
Volume : ffffe0014e5b87f0 “\Device\HarddiskVolume11”
Filter : ffffe0014e29d7c0 “vfsmfd”
TrackCompletionNodes : ffffe0014f95d770
ContextLock : (ffffe0014f01fa90)
Context : 0000000000000000
CallbackNodes : (ffffe0014f01fab0)
VolumeLink : [ffffe00150296020-ffffe001500d36c0]
FilterLink : [ffffe0014e085430-ffffe0014e21cc10]

FLT_INSTANCE: ffffe0014e0853d0 “VEAI” “263400”
FLT_OBJECT: ffffe0014e0853d0 [01000000] Instance
RundownRef : 0x0000000000000000 (0)
PointerCount : 0x00000001
PrimaryLink : [ffffe0014e395b60-ffffe0014ee29940]
OperationRundownRef : ffffe0014e3cc240
Could not read field “Number” of fltmgr!_EX_RUNDOWN_REF_CACHE_AWARE from address: ffffe0014e3cc240
Flags : [00000000]
Volume : ffffe0015041f590 “\Device\HarddiskVolume6”
Filter : ffffe0014e29d7c0 “vfsmfd”
TrackCompletionNodes : ffffe0014fef1450
ContextLock : (ffffe0014e085440)
Context : 0000000000000000
CallbackNodes : (ffffe0014e085460)
VolumeLink : [ffffe0014e395b60-ffffe0014ee29940]
FilterLink : [ffffe0014fbf0b90-ffffe0014f01fa80]

FLT_INSTANCE: ffffe0014fbf0b30 “VEAI” “263400”
FLT_OBJECT: ffffe0014fbf0b30 [01000000] Instance
RundownRef : 0x0000000000000000 (0)
PointerCount : 0x00000001
PrimaryLink : [ffffe0014ffb57b0-ffffe001502499c0]
OperationRundownRef : ffffe0014edbd820
Could not read field “Number” of fltmgr!_EX_RUNDOWN_REF_CACHE_AWARE from address: ffffe0014edbd820
Flags : [00000000]
Volume : ffffe0014e14b010 “\Device\HarddiskVolume4”
Filter : ffffe0014e29d7c0 “vfsmfd”
TrackCompletionNodes : ffffe001500d8750
ContextLock : (ffffe0014fbf0ba0)
Context : 0000000000000000
CallbackNodes : (ffffe0014fbf0bc0)
VolumeLink : [ffffe0014ffb57b0-ffffe001502499c0]
FilterLink : [ffffe0014e158c10-ffffe0014e085430]

FLT_INSTANCE: ffffe0014e158bb0 “VEAI” “263400”
FLT_OBJECT: ffffe0014e158bb0 [01000000] Instance
RundownRef : 0x0000000000000000 (0)
PointerCount : 0x00000001
PrimaryLink : [ffffe0015018c190-ffffe0014dc95c70]
OperationRundownRef : ffffe0014f192bb0
Could not read field “Number” of fltmgr!_EX_RUNDOWN_REF_CACHE_AWARE from address: ffffe0014f192bb0
Flags : [00000000]
Volume : ffffe0014e0f0010 “\Device\HarddiskVolume5”
Filter : ffffe0014e29d7c0 “vfsmfd”
TrackCompletionNodes : ffffe0014dc91630
ContextLock : (ffffe0014e158c20)
Context : 0000000000000000
CallbackNodes : (ffffe0014e158c40)
VolumeLink : [ffffe0015018c190-ffffe0014dc95c70]
FilterLink : [ffffe0014f127070-ffffe0014fbf0b90]

FLT_INSTANCE: ffffe0014f127010 “VEAI” “263400”
FLT_OBJECT: ffffe0014f127010 [01000000] Instance
RundownRef : 0x0000000000000000 (0)
PointerCount : 0x00000001
PrimaryLink : [ffffe00150297410-ffffe0015043c020]
OperationRundownRef : ffffe0015053b180
Could not read field “Number” of fltmgr!_EX_RUNDOWN_REF_CACHE_AWARE from address: ffffe0015053b180
Flags : [00000000]
Volume : ffffe0014f1e7010 “\Device\HarddiskVolume10”
Filter : ffffe0014e29d7c0 “vfsmfd”
TrackCompletionNodes : ffffe0014fee0730
ContextLock : (ffffe0014f127080)
Context : 0000000000000000
CallbackNodes : (ffffe0014f1270a0)
VolumeLink : [ffffe00150297410-ffffe0015043c020]
FilterLink : [ffffe0014ed84c10-ffffe0014e158c10]

FLT_INSTANCE: ffffe0014ed84bb0 “VEAI” “263400”
FLT_OBJECT: ffffe0014ed84bb0 [01000000] Instance
RundownRef : 0x0000000000000000 (0)
PointerCount : 0x00000001
PrimaryLink : [ffffe001502f5020-ffffe0015042d560]
OperationRundownRef : ffffe001502ed800
Could not read field “Number” of fltmgr!_EX_RUNDOWN_REF_CACHE_AWARE from address: ffffe001502ed800
Flags : [00000000]
Volume : ffffe0014e5437f0 “\Device\HarddiskVolume9”
Filter : ffffe0014e29d7c0 “vfsmfd”
TrackCompletionNodes : ffffe0014e7459c0
ContextLock : (ffffe0014ed84c20)
Context : 0000000000000000
CallbackNodes : (ffffe0014ed84c40)
VolumeLink : [ffffe001502f5020-ffffe0015042d560]
FilterLink : [ffffe0014e29d880-ffffe0014f127070]

Object usage/reference information:
References to FLT_CONTEXT : 0
Allocations of FLT_CALLBACK_DATA : 0
Allocations of FLT_DEFERRED_IO_WORKITEM : 0
Allocations of FLT_GENERIC_WORKITEM : 0
References to FLT_FILE_NAME_INFORMATION : 0
Open files : 0
References to FLT_OBJECT : 2
List of objects used/referenced::
FLT_VERIFIER_OBJECT: ffffe0014e1da900
Object: ffffe0014e388bb0 Type:
FLT_VERIFIER_OBJECT: ffffe00150375120
Object: ffffe0014ef8f7f0 Type:

Please help to understand what is the issue and why IFStest for OPLOCK is hanging with my filter driver. If our driver is not there then there is no issue and tests are complting successfully.

The information you have posted is not the call stack but the driver stack.
This may not be helpful for resolving your hang.
Please run !locks and see if you find some deadlock (only if it involves
ERESOURCES).
Otherwise, !stacks 2 yourdriver! may help to see in what all threads your
driver is involved and possibly resulting in deadlock.

Thanks

On Mon, Apr 13, 2015 at 11:18 PM, wrote:

> Hi,
>
> We have minifilter driver, in which we register for PreCreate(),
> PostCreate() , PreRead(), PreWrite(), PreSetInformation() and PreCleanup()
> callbacks.
> We run IFSTest and IOstress test with our driver to test its stability,
> but with windows 8.1 OPLOCK test is hanging and I am not able to figure out
> what exactly is going wrong, similar test is passing on witndows 7 but
> hanging on windows 8.1 for ExFAT volume, for other volumes there is no issue
>
> Following is the call stack
>
> kd> !fltkd.filter ffffe0014e29d7c0 8 1
>
> FLT_FILTER: ffffe0014e29d7c0 “vfsmfd” “263410”
> InstanceList : (ffffe0014e29d818)
> Resource (ffffe0014e29d880) List [ffffe0014e2a3990-ffffe0014ed84c10]
> rCount=12
> FLT_INSTANCE: ffffe0014e2a3930 “VEAI” “263400”
> FLT_OBJECT: ffffe0014e2a3930 [01000000] Instance
> RundownRef : 0x0000000000000000 (0)
> PointerCount : 0x00000001
> PrimaryLink :
> [ffffe0014edc0350-ffffe0014edc1020]
> OperationRundownRef : ffffe0014ff8c2d0
> Could not read field “Number” of fltmgr!_EX_RUNDOWN_REF_CACHE_AWARE from
> address: ffffe0014ff8c2d0
> Flags : [00000000]
> Volume : ffffe0014edc0800 “\Device\Mup”
> Filter : ffffe0014e29d7c0 “vfsmfd”
> TrackCompletionNodes : ffffe0014fa49260
> ContextLock : (ffffe0014e2a39a0)
> Context : 0000000000000000
> CallbackNodes : (ffffe0014e2a39c0)
> VolumeLink : [ffffe0014edc0350-ffffe0014edc1020]
> FilterLink : [ffffe0014e272930-ffffe0014e29d880]
> —
> FLT_INSTANCE: ffffe0014e2728d0 “VEAI” “263400”
> FLT_OBJECT: ffffe0014e2728d0 [01000000] Instance
> RundownRef : 0x0000000000000000 (0)
> PointerCount : 0x00000001
> PrimaryLink :
> [ffffe0014fea74d0-ffffe0014e388bc0]
> OperationRundownRef : ffffe0014fa1f1b0
> Could not read field “Number” of fltmgr!_EX_RUNDOWN_REF_CACHE_AWARE from
> address: ffffe0014fa1f1b0
> Flags : [00000000]
> Volume : ffffe0014ef8f7f0
> “\Device\HarddiskVolume2”
> Filter : ffffe0014e29d7c0 “vfsmfd”
> TrackCompletionNodes : ffffe0014fe735f0
> ContextLock : (ffffe0014e272940)
> Context : 0000000000000000
> CallbackNodes : (ffffe0014e272960)
> VolumeLink : [ffffe0014fea74d0-ffffe0014e388bc0]
> FilterLink : [ffffe0014fbd6c10-ffffe0014e2a3990]
> —
> FLT_INSTANCE: ffffe0014fbd6bb0 “VEAI” “263400”
> FLT_OBJECT: ffffe0014fbd6bb0 [01000000] Instance
> RundownRef : 0x0000000000000000 (0)
> PointerCount : 0x00000001
> PrimaryLink :
> [ffffe0014f7d3880-ffffe0014f7d4020]
> OperationRundownRef : ffffe0014fff9cf0
> Could not read field “Number” of fltmgr!_EX_RUNDOWN_REF_CACHE_AWARE from
> address: ffffe0014fff9cf0
> Flags : [00000000]
> Volume : ffffe0014f2d37f0
> “\Device\HarddiskVolume1”
> Filter : ffffe0014e29d7c0 “vfsmfd”
> TrackCompletionNodes : ffffe0014dd71500
> ContextLock : (ffffe0014fbd6c20)
> Context : 0000000000000000
> CallbackNodes : (ffffe0014fbd6c40)
> VolumeLink : [ffffe0014f7d3880-ffffe0014f7d4020]
> FilterLink : [ffffe0014e388c10-ffffe0014e272930]
> —
> FLT_INSTANCE: ffffe0014e388bb0 “Default” “263410”
> FLT_OBJECT: ffffe0014e388bb0 [01000000] Instance
> RundownRef : 0x0000000000000002 (1)
> PointerCount : 0x00000001
> PrimaryLink :
> [ffffe0014e2728e0-ffffe0014efdec70]
> OperationRundownRef : ffffe0014fec87b0
> Could not read field “Number” of fltmgr!_EX_RUNDOWN_REF_CACHE_AWARE from
> address: ffffe0014fec87b0
> Flags : [00000000]
> Volume : ffffe0014ef8f7f0
> “\Device\HarddiskVolume2”
> Filter : ffffe0014e29d7c0 “vfsmfd”
> TrackCompletionNodes : ffffe0015027c850
> ContextLock : (ffffe0014e388c20)
> Context : 0000000000000000
> CallbackNodes : (ffffe0014e388c40)
> VolumeLink : [ffffe0014e2728e0-ffffe0014efdec70]
> FilterLink : [ffffe0014e227a60-ffffe0014fbd6c10]
> —
> FLT_INSTANCE: ffffe0014e227a00 “VEAI” “263400”
> FLT_OBJECT: ffffe0014e227a00 [01000000] Instance
> RundownRef : 0x0000000000000000 (0)
> PointerCount : 0x00000001
> PrimaryLink :
> [ffffe00150460020-ffffe001500543e0]
> OperationRundownRef : ffffe0014fbc9720
> Could not read field “Number” of fltmgr!_EX_RUNDOWN_REF_CACHE_AWARE from
> address: ffffe0014fbc9720
> Flags : [00000000]
> Volume : ffffe0014e245010
> “\Device\HarddiskVolume7”
> Filter : ffffe0014e29d7c0 “vfsmfd”
> TrackCompletionNodes : ffffe001503e0260
> ContextLock : (ffffe0014e227a70)
> Context : 0000000000000000
> CallbackNodes : (ffffe0014e227a90)
> VolumeLink : [ffffe00150460020-ffffe001500543e0]
> FilterLink : [ffffe0014e21cc10-ffffe0014e388c10]
> —
> FLT_INSTANCE: ffffe0014e21cbb0 “VEAI” “263400”
> FLT_OBJECT: ffffe0014e21cbb0 [01000000] Instance
> RundownRef : 0x0000000000000000 (0)
> PointerCount : 0x00000001
> PrimaryLink :
> [ffffe001504613e0-ffffe0014fbdc930]
> OperationRundownRef : ffffe0014e2df7f0
> Could not read field “Number” of fltmgr!_EX_RUNDOWN_REF_CACHE_AWARE from
> address: ffffe0014e2df7f0
> Flags : [00000000]
> Volume : ffffe0014e5be7f0
> “\Device\HarddiskVolume8”
> Filter : ffffe0014e29d7c0 “vfsmfd”
> TrackCompletionNodes : ffffe00150011250
> ContextLock : (ffffe0014e21cc20)
> Context : 0000000000000000
> CallbackNodes : (ffffe0014e21cc40)
> VolumeLink : [ffffe001504613e0-ffffe0014fbdc930]
> FilterLink : [ffffe0014f01fa80-ffffe0014e227a60]
> —
> FLT_INSTANCE: ffffe0014f01fa20 “VEAI” “263400”
> FLT_OBJECT: ffffe0014f01fa20 [01000000] Instance
> RundownRef : 0x0000000000000000 (0)
> PointerCount : 0x00000001
> PrimaryLink :
> [ffffe00150296020-ffffe001500d36c0]
> OperationRundownRef : ffffe0014fe80390
> Could not read field “Number” of fltmgr!_EX_RUNDOWN_REF_CACHE_AWARE from
> address: ffffe0014fe80390
> Flags : [00000000]
> Volume : ffffe0014e5b87f0
> “\Device\HarddiskVolume11”
> Filter : ffffe0014e29d7c0 “vfsmfd”
> TrackCompletionNodes : ffffe0014f95d770
> ContextLock : (ffffe0014f01fa90)
> Context : 0000000000000000
> CallbackNodes : (ffffe0014f01fab0)
> VolumeLink : [ffffe00150296020-ffffe001500d36c0]
> FilterLink : [ffffe0014e085430-ffffe0014e21cc10]
> —
> FLT_INSTANCE: ffffe0014e0853d0 “VEAI” “263400”
> FLT_OBJECT: ffffe0014e0853d0 [01000000] Instance
> RundownRef : 0x0000000000000000 (0)
> PointerCount : 0x00000001
> PrimaryLink :
> [ffffe0014e395b60-ffffe0014ee29940]
> OperationRundownRef : ffffe0014e3cc240
> Could not read field “Number” of fltmgr!_EX_RUNDOWN_REF_CACHE_AWARE from
> address: ffffe0014e3cc240
> Flags : [00000000]
> Volume : ffffe0015041f590
> “\Device\HarddiskVolume6”
> Filter : ffffe0014e29d7c0 “vfsmfd”
> TrackCompletionNodes : ffffe0014fef1450
> ContextLock : (ffffe0014e085440)
> Context : 0000000000000000
> CallbackNodes : (ffffe0014e085460)
> VolumeLink : [ffffe0014e395b60-ffffe0014ee29940]
> FilterLink : [ffffe0014fbf0b90-ffffe0014f01fa80]
> —
> FLT_INSTANCE: ffffe0014fbf0b30 “VEAI” “263400”
> FLT_OBJECT: ffffe0014fbf0b30 [01000000] Instance
> RundownRef : 0x0000000000000000 (0)
> PointerCount : 0x00000001
> PrimaryLink :
> [ffffe0014ffb57b0-ffffe001502499c0]
> OperationRundownRef : ffffe0014edbd820
> Could not read field “Number” of fltmgr!_EX_RUNDOWN_REF_CACHE_AWARE from
> address: ffffe0014edbd820
> Flags : [00000000]
> Volume : ffffe0014e14b010
> “\Device\HarddiskVolume4”
> Filter : ffffe0014e29d7c0 “vfsmfd”
> TrackCompletionNodes : ffffe001500d8750
> ContextLock : (ffffe0014fbf0ba0)
> Context : 0000000000000000
> CallbackNodes : (ffffe0014fbf0bc0)
> VolumeLink : [ffffe0014ffb57b0-ffffe001502499c0]
> FilterLink : [ffffe0014e158c10-ffffe0014e085430]
> —
> FLT_INSTANCE: ffffe0014e158bb0 “VEAI” “263400”
> FLT_OBJECT: ffffe0014e158bb0 [01000000] Instance
> RundownRef : 0x0000000000000000 (0)
> PointerCount : 0x00000001
> PrimaryLink :
> [ffffe0015018c190-ffffe0014dc95c70]
> OperationRundownRef : ffffe0014f192bb0
> Could not read field “Number” of fltmgr!_EX_RUNDOWN_REF_CACHE_AWARE from
> address: ffffe0014f192bb0
> Flags : [00000000]
> Volume : ffffe0014e0f0010
> “\Device\HarddiskVolume5”
> Filter : ffffe0014e29d7c0 “vfsmfd”
> TrackCompletionNodes : ffffe0014dc91630
> ContextLock : (ffffe0014e158c20)
> Context : 0000000000000000
> CallbackNodes : (ffffe0014e158c40)
> VolumeLink : [ffffe0015018c190-ffffe0014dc95c70]
> FilterLink : [ffffe0014f127070-ffffe0014fbf0b90]
> —
> FLT_INSTANCE: ffffe0014f127010 “VEAI” “263400”
> FLT_OBJECT: ffffe0014f127010 [01000000] Instance
> RundownRef : 0x0000000000000000 (0)
> PointerCount : 0x00000001
> PrimaryLink :
> [ffffe00150297410-ffffe0015043c020]
> OperationRundownRef : ffffe0015053b180
> Could not read field “Number” of fltmgr!_EX_RUNDOWN_REF_CACHE_AWARE from
> address: ffffe0015053b180
> Flags : [00000000]
> Volume : ffffe0014f1e7010
> “\Device\HarddiskVolume10”
> Filter : ffffe0014e29d7c0 “vfsmfd”
> TrackCompletionNodes : ffffe0014fee0730
> ContextLock : (ffffe0014f127080)
> Context : 0000000000000000
> CallbackNodes : (ffffe0014f1270a0)
> VolumeLink : [ffffe00150297410-ffffe0015043c020]
> FilterLink : [ffffe0014ed84c10-ffffe0014e158c10]
> —
> FLT_INSTANCE: ffffe0014ed84bb0 “VEAI” “263400”
> FLT_OBJECT: ffffe0014ed84bb0 [01000000] Instance
> RundownRef : 0x0000000000000000 (0)
> PointerCount : 0x00000001
> PrimaryLink :
> [ffffe001502f5020-ffffe0015042d560]
> OperationRundownRef : ffffe001502ed800
> Could not read field “Number” of fltmgr!_EX_RUNDOWN_REF_CACHE_AWARE from
> address: ffffe001502ed800
> Flags : [00000000]
> Volume : ffffe0014e5437f0
> “\Device\HarddiskVolume9”
> Filter : ffffe0014e29d7c0 “vfsmfd”
> TrackCompletionNodes : ffffe0014e7459c0
> ContextLock : (ffffe0014ed84c20)
> Context : 0000000000000000
> CallbackNodes : (ffffe0014ed84c40)
> VolumeLink : [ffffe001502f5020-ffffe0015042d560]
> FilterLink : [ffffe0014e29d880-ffffe0014f127070]
> —
> Object usage/reference information:
> References to FLT_CONTEXT : 0
> Allocations of FLT_CALLBACK_DATA : 0
> Allocations of FLT_DEFERRED_IO_WORKITEM : 0
> Allocations of FLT_GENERIC_WORKITEM : 0
> References to FLT_FILE_NAME_INFORMATION : 0
> Open files : 0
> References to FLT_OBJECT : 2
> List of objects used/referenced::
> FLT_VERIFIER_OBJECT: ffffe0014e1da900
> Object: ffffe0014e388bb0 Type:
> FLT_VERIFIER_OBJECT: ffffe00150375120
> Object: ffffe0014ef8f7f0 Type:
>
> Please help to understand what is the issue and why IFStest for OPLOCK is
> hanging with my filter driver. If our driver is not there then there is no
> issue and tests are complting successfully.
>
> —
> NTFSD is sponsored by OSR
>
> OSR is hiring!! Info at http://www.osr.com/careers
>
> For our schedule of debugging and file system seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
>

Look where your driver hangs (if it is a real hang it might be something else ) using !stacks command and check for 2 scenarios that I have seen happening during those tests:

  1. TopLevelIrp scenarios
  2. Other similar recursive scenarios where toplevelirp does not give you any useful info at that stage.
    Try not to hold any locks (of your own) during these requests or in these scenarios because a simple read from enhancedoplocks might trigger a system worker thread from Cc to adjust stuff it needs to adjust and you will deadlock.

Oplock tests can also hang if they’re waiting for an oplock break that never
happens. Get FileSpy traces for the working and non-working cases and try to
spot the differences.

-scott
OSR
@OSRDrivers

wrote in message news:xxxxx@ntfsd…

Look where your driver hangs (if it is a real hang it might be something
else ) using !stacks command and check for 2 scenarios that I have seen
happening during those tests:

  1. TopLevelIrp scenarios
  2. Other similar recursive scenarios where toplevelirp does not give you any
    useful info at that stage.
    Try not to hold any locks (of your own) during these requests or in these
    scenarios because a simple read from enhancedoplocks might trigger a system
    worker thread from Cc to adjust stuff it needs to adjust and you will
    deadlock.