Issue with Cleanup

Hi,

I could be vague here in stating the problem. We have a volume filter driver
that gets stacked on top of volsnap driver. We are seeing some issue with
cleanup dispatch routine. In one of the test scenario we got BSOD which
showed stack something like following:

volsnap:volsnapcleanup
:cleanup
ntfs:close



error (!analyze -v) was something like “trying to access pageable (or
completely invalid) address at a higher dispatch level …”.

Looking at the crash dump, it seems our cleanup routine was called with a
DeviceObject that is no longer valid (may be a stale object) => we didnt
find it in the list of objects that our driver created.

Any idea why this is happening. Pointers to how to investigate further or
which code path to look at?

Thanks,
Sunil

The call stack you posted doesn’t make sense (it would mean that NTFS’s
close dispatch entry point is somehow calling your cleanup entry point) and
the bugcheck description you have doesn’t exactly match any bugcheck
description that I know of (some of it does, but not all of it).

The first step to getting help with any crash is posting the actual
!analyze -v output to avoid these kinds of issues.

-scott


Scott Noone
Consulting Associate
OSR Open Systems Resources, Inc.
http://www.osronline.com

Hope to see you at the next OSR kernel debugging class February 14th in
Columbia, MD!

“Sunil Patil” wrote in message news:xxxxx@ntdev…
Hi,

I could be vague here in stating the problem. We have a volume filter driver
that gets stacked on top of volsnap driver. We are seeing some issue with
cleanup dispatch routine. In one of the test scenario we got BSOD which
showed stack something like following:

volsnap:volsnapcleanup
:cleanup
ntfs:close



error (!analyze -v) was something like “trying to access pageable (or
completely invalid) address at a higher dispatch level …”.

Looking at the crash dump, it seems our cleanup routine was called with a
DeviceObject that is no longer valid (may be a stale object) => we didnt
find it in the list of objects that our driver created.

Any idea why this is happening. Pointers to how to investigate further or
which code path to look at?

Thanks,
Sunil