Hello all,
Currently i am working with one file redirector minifilter driver. In this driver i am intercepting the IRP_MJ_WRITE and IRP_MJ_READ calls. whenever i get irp_mj_write call i need to add the updated data into dummy file at some other store location and whenever i get irp_mj_read call i need to append the updated dummy file data into actual file data. For this purpose in irp_mj_write call i am doing two tasks
1] writing the updated data into dummy file and
2] adding the updated data into cache.
For caching purpose i am using the Cc functions provided.
This is working fine when i update the file with increasing file size. i.e. ex:- Lets say file 1.txt with data like “abcd” and i update it like “12345”. It works file when next time i open file with notepad i can see the data like “12345”. Its also work if i again update the file with data “1234567” and so on.
Now the problem is like that when i update the file with decreasing file size. i.e. ex:- Lets say file 1.txt with cointains like “abcd” and i update it like “123”. Now it also works fine for one time i.e. if i open the file with notepad i can see the cointails like “123”. But if i again try to updated the file with data like “12”. this time i am getting the crash with bug check 0x34
I am not getting why its crashing this way. Please see the below crash call stack. Any suggestion will be very helpful. Thanks in advance.
*** Fatal System Error: 0x00000034
(0x00050830,0x8A013BB4,0x8A013790,0x95478601)
Break instruction exception - code 80000003 (first chance)
A fatal system error has occurred.
Debugger entered on first try; Bugcheck callbacks have not been invoked.
A fatal system error has occurred.
Connected to Windows 7 7600 x86 compatible target at (Mon Nov 19 20:03:41.223 2012 (GMT+6)), ptr64 FALSE
*** ERROR: Symbol file could not be found. Defaulted to export symbols for ntkrnlmp.exe -
Loading Kernel Symbols
…
…
…
Loading User Symbols
Loading unloaded module list
…
*******************************************************************************
* *
* Bugcheck Analysis *
* *
*******************************************************************************
Use !analyze -v to get detailed debugging information.
BugCheck 34, {50830, 8a013bb4, 8a013790, 95478601}
***** Kernel symbols are WRONG. Please fix symbols to do analysis.
*** ERROR: Module load completed but symbols could not be loaded for mssmbios.sys
*************************************************************************
*** ***
*** ***
*** Your debugger is not using the correct symbols ***
*** ***
*** In order for this command to work properly, your symbol path ***
*** must point to .pdb files that have full type information. ***
*** ***
*** Certain .pdb files (such as the public OS symbols) do not ***
*** contain the required information. Contact the group that ***
*** provided you with these symbols if you need this command to ***
*** work. ***
*** ***
*** Type referenced: nt!_KPRCB ***
*** ***
*************************************************************************
*************************************************************************
*** ***
*** ***
*** Your debugger is not using the correct symbols ***
*** ***
*** In order for this command to work properly, your symbol path ***
*** must point to .pdb files that have full type information. ***
*** ***
*** Certain .pdb files (such as the public OS symbols) do not ***
*** contain the required information. Contact the group that ***
*** provided you with these symbols if you need this command to ***
*** work. ***
*** ***
*** Type referenced: nt!_KPRCB ***
*** ***
*************************************************************************
*************************************************************************
*** ***
*** ***
*** Your debugger is not using the correct symbols ***
*** ***
*** In order for this command to work properly, your symbol path ***
*** must point to .pdb files that have full type information. ***
*** ***
*** Certain .pdb files (such as the public OS symbols) do not ***
*** contain the required information. Contact the group that ***
*** provided you with these symbols if you need this command to ***
*** work. ***
*** ***
*** Type referenced: nt!_KPRCB ***
*** ***
*************************************************************************
Probably caused by : ntkrnlmp.exe ( nt!ExfTryToWakePushLock+ac1 )
Followup: MachineOwner
nt!DbgBreakPointWithStatus+0x4:
8286cbc0 cc int 3
*** ERROR: Module load completed but symbols could not be loaded for kdcom.dll
*** ERROR: Symbol file could not be found. Defaulted to export symbols for halacpi.dll -
*** ERROR: Module load completed but symbols could not be loaded for mcupdate_GenuineIntel.dll
*** ERROR: Symbol file could not be found. Defaulted to export symbols for PSHED.dll -
*** ERROR: Symbol file could not be found. Defaulted to export symbols for BOOTVID.dll -
*** ERROR: Symbol file could not be found. Defaulted to export symbols for CLFS.SYS -
*** ERROR: Module load completed but symbols could not be loaded for CI.dll
*** ERROR: Module load completed but symbols could not be loaded for Wdf01000.sys
*** ERROR: Module load completed but symbols could not be loaded for WDFLDR.SYS
*** ERROR: Module load completed but symbols could not be loaded for ACPI.sys
*** ERROR: Module load completed but symbols could not be loaded for WMILIB.SYS
*** ERROR: Module load completed but symbols could not be loaded for msisadrv.sys
*** ERROR: Module load completed but symbols could not be loaded for pci.sys
*** ERROR: Module load completed but symbols could not be loaded for vdrvroot.sys
*** ERROR: Module load completed but symbols could not be loaded for partmgr.sys
*** ERROR: Module load completed but symbols could not be loaded for compbatt.sys
*** ERROR: Module load completed but symbols could not be loaded for BATTC.SYS
*** ERROR: Module load completed but symbols could not be loaded for volmgr.sys
*** WARNING: Unable to verify timestamp for volmgrx.sys
*** ERROR: Module load completed but symbols could not be loaded for volmgrx.sys
*** ERROR: Module load completed but symbols could not be loaded for intelide.sys
*** ERROR: Module load completed but symbols could not be loaded for PCIIDEX.SYS
*** ERROR: Module load completed but symbols could not be loaded for mountmgr.sys
*** ERROR: Module load completed but symbols could not be loaded for atapi.sys
*** ERROR: Module load completed but symbols could not be loaded for ataport.SYS
*** ERROR: Module load completed but symbols could not be loaded for msahci.sys
*** ERROR: Module load completed but symbols could not be loaded for amdxata.sys
*** ERROR: Symbol file could not be found. Defaulted to export symbols for fltmgr.sys -
*** ERROR: Module load completed but symbols could not be loaded for fileinfo.sys
*** ERROR: Module load completed but symbols could not be loaded for discache.sys
*** ERROR: Module load completed but symbols could not be loaded for lltdio.sys
*** ERROR: Module load completed but symbols could not be loaded for rspndr.sys
*** ERROR: Module load completed but symbols could not be loaded for Ntfs.sys
*** WARNING: Unable to verify timestamp for msrpc.sys
*** ERROR: Module load completed but symbols could not be loaded for msrpc.sys
*** ERROR: Module load completed but symbols could not be loaded for ksecdd.sys
*** ERROR: Module load completed but symbols could not be loaded for cng.sys
*** ERROR: Module load completed but symbols could not be loaded for VBoxGuest.sys
*** ERROR: Module load completed but symbols could not be loaded for pcw.sys
*** WARNING: Unable to verify timestamp for Fs_Rec.sys
*** ERROR: Module load completed but symbols could not be loaded for Fs_Rec.sys
*** ERROR: Module load completed but symbols could not be loaded for ndis.sys
*** ERROR: Module load completed but symbols could not be loaded for NETIO.SYS
*** ERROR: Module load completed but symbols could not be loaded for ksecpkg.sys
*** ERROR: Module load completed but symbols could not be loaded for netbt.sys
*** ERROR: Module load completed but symbols could not be loaded for VBoxSF.sys
*** ERROR: Module load completed but symbols could not be loaded for wanarp.sys
*** ERROR: Module load completed but symbols could not be loaded for termdd.sys
*** ERROR: Symbol file could not be found. Defaulted to export symbols for rdbss.sys -
*** ERROR: Module load completed but symbols could not be loaded for pacer.sys
*** ERROR: Module load completed but symbols could not be loaded for nsiproxy.sys
*** ERROR: Module load completed but symbols could not be loaded for tcpip.sys
*** ERROR: Module load completed but symbols could not be loaded for fwpkclnt.sys
*** WARNING: Unable to verify timestamp for vmstorfl.sys
*** ERROR: Module load completed but symbols could not be loaded for vmstorfl.sys
*** ERROR: Module load completed but symbols could not be loaded for volsnap.sys
*** ERROR: Module load completed but symbols could not be loaded for spldr.sys
*** ERROR: Module load completed but symbols could not be loaded for rdyboost.sys
*** ERROR: Module load completed but symbols could not be loaded for mup.sys
*** ERROR: Module load completed but symbols could not be loaded for hwpolicy.sys
*** ERROR: Module load completed but symbols could not be loaded for fvevol.sys
*** ERROR: Module load completed but symbols could not be loaded for disk.sys
*** ERROR: Module load completed but symbols could not be loaded for CLASSPNP.SYS
*** ERROR: Module load completed but symbols could not be loaded for monitor.sys
*** ERROR: Module load completed but symbols could not be loaded for luafv.sys
*** ERROR: Module load completed but symbols could not be loaded for cdrom.sys
*** ERROR: Module load completed but symbols could not be loaded for Null.SYS
*** ERROR: Module load completed but symbols could not be loaded for Beep.SYS
*** ERROR: Module load completed but symbols could not be loaded for vga.sys
*** ERROR: Symbol file could not be found. Defaulted to export symbols for VIDEOPRT.SYS -
*** ERROR: Symbol file could not be found. Defaulted to export symbols for watchdog.sys -
*** ERROR: Module load completed but symbols could not be loaded for RDPCDD.sys
*** ERROR: Module load completed but symbols could not be loaded for rdpencdd.sys
*** ERROR: Module load completed but symbols could not be loaded for rdprefmp.sys
*** ERROR: Module load completed but symbols could not be loaded for Msfs.SYS
*** ERROR: Module load completed but symbols could not be loaded for Npfs.SYS
*** ERROR: Module load completed but symbols could not be loaded for tdx.sys
*** ERROR: Symbol file could not be found. Defaulted to export symbols for TDI.SYS -
*** ERROR: Module load completed but symbols could not be loaded for afd.sys
*** ERROR: Module load completed but symbols could not be loaded for wfplwf.sys
*** ERROR: Module load completed but symbols could not be loaded for netbios.sys
*** ERROR: Module load completed but symbols could not be loaded for dump_dumpfve.sys
*** ERROR: Symbol file could not be found. Defaulted to export symbols for Dxapi.sys -
*** ERROR: Module load completed but symbols could not be loaded for csc.sys
*** ERROR: Module load completed but symbols could not be loaded for dfsc.sys
*** ERROR: Module load completed but symbols could not be loaded for blbdrive.sys
*** ERROR: Module load completed but symbols could not be loaded for tunnel.sys
*** ERROR: Module load completed but symbols could not be loaded for i8042prt.sys
*** ERROR: Module load completed but symbols could not be loaded for kbdclass.sys
*** ERROR: Module load completed but symbols could not be loaded for VBoxMouse.sys
*** ERROR: Module load completed but symbols could not be loaded for mouclass.sys
*** ERROR: Module load completed but symbols could not be loaded for parport.sys
*** ERROR: Module load completed but symbols could not be loaded for VBoxVideo.sys
*** ERROR: Module load completed but symbols could not be loaded for E1G60I32.sys
*** ERROR: Module load completed but symbols could not be loaded for HDAudBus.sys
*** ERROR: Module load completed but symbols could not be loaded for usbohci.sys
*** ERROR: Symbol file could not be found. Defaulted to export symbols for USBPORT.SYS -
*** ERROR: Module load completed but symbols could not be loaded for usbehci.sys
*** ERROR: Module load completed but symbols could not be loaded for CmBatt.sys
*** ERROR: Module load completed but symbols could not be loaded for CompositeBus.sys
*** ERROR: Module load completed but symbols could not be loaded for AgileVpn.sys
*** ERROR: Module load completed but symbols could not be loaded for rasl2tp.sys
*** ERROR: Symbol file could not be found. Defaulted to export symbols for ndistapi.sys -
*** ERROR: Module load completed but symbols could not be loaded for ndiswan.sys
*** ERROR: Module load completed but symbols could not be loaded for raspppoe.sys
*** ERROR: Module load completed but symbols could not be loaded for raspptp.sys
*** ERROR: Module load completed but symbols could not be loaded for rassstp.sys
*** ERROR: Module load completed but symbols could not be loaded for rdpbus.sys
*** ERROR: Module load completed but symbols could not be loaded for swenum.sys
*** ERROR: Module load completed but symbols could not be loaded for ks.sys
*** ERROR: Module load completed but symbols could not be loaded for umbus.sys
*** ERROR: Module load completed but symbols could not be loaded for usbhub.sys
*** ERROR: Module load completed but symbols could not be loaded for NDProxy.SYS
*** ERROR: Module load completed but symbols could not be loaded for HdAudio.sys
*** ERROR: Module load completed but symbols could not be loaded for portcls.sys
*** ERROR: Module load completed but symbols could not be loaded for drmk.sys
*** ERROR: Symbol file could not be found. Defaulted to export symbols for crashdmp.sys -
*** ERROR: Symbol file could not be found. Defaulted to export symbols for dump_dumpata.sys -
*** ERROR: Module load completed but symbols could not be loaded for dump_msahci.sys
*** WARNING: Unable to verify timestamp for win32k.sys
*** ERROR: Module load completed but symbols could not be loaded for win32k.sys
*** WARNING: Unable to verify timestamp for dxg.sys
*** ERROR: Module load completed but symbols could not be loaded for dxg.sys
*** WARNING: Unable to verify timestamp for TSDDD.dll
*** ERROR: Module load completed but symbols could not be loaded for TSDDD.dll
*** WARNING: Unable to verify timestamp for VBoxDisp.dll
*** ERROR: Module load completed but symbols could not be loaded for VBoxDisp.dll
*** ERROR: Module load completed but symbols could not be loaded for HTTP.sys
*** ERROR: Module load completed but symbols could not be loaded for bowser.sys
*** ERROR: Module load completed but symbols could not be loaded for mpsdrv.sys
*** ERROR: Symbol file could not be found. Defaulted to export symbols for mrxsmb.sys -
*** ERROR: Module load completed but symbols could not be loaded for mrxsmb10.sys
*** ERROR: Module load completed but symbols could not be loaded for mrxsmb20.sys
*** ERROR: Module load completed but symbols could not be loaded for parvdm.sys
*** ERROR: Module load completed but symbols could not be loaded for peauth.sys
*** ERROR: Module load completed but symbols could not be loaded for secdrv.SYS
*** ERROR: Symbol file could not be found. Defaulted to export symbols for srvnet.sys -
*** ERROR: Module load completed but symbols could not be loaded for tcpipreg.sys
*** ERROR: Module load completed but symbols could not be loaded for srv2.sys
*** ERROR: Module load completed but symbols could not be loaded for srv.sys
*** ERROR: Module load completed but symbols could not be loaded for spsys.sys
kd> !analyze -v
*******************************************************************************
* *
* Bugcheck Analysis *
* *
*******************************************************************************
CACHE_MANAGER (34)
See the comment for FAT_FILE_SYSTEM (0x23)
Arguments:
Arg1: 00050830
Arg2: 8a013bb4
Arg3: 8a013790
Arg4: 95478601
Debugging Details:
***** Kernel symbols are WRONG. Please fix symbols to do analysis.
*************************************************************************
*** ***
*** ***
*** Your debugger is not using the correct symbols ***
*** ***
*** In order for this command to work properly, your symbol path ***
*** must point to .pdb files that have full type information. ***
*** ***
*** Certain .pdb files (such as the public OS symbols) do not ***
*** contain the required information. Contact the group that ***
*** provided you with these symbols if you need this command to ***
*** work. ***
*** ***
*** Type referenced: nt!_KPRCB ***
*** ***
*************************************************************************
*************************************************************************
*** ***
*** ***
*** Your debugger is not using the correct symbols ***
*** ***
*** In order for this command to work properly, your symbol path ***
*** must point to .pdb files that have full type information. ***
*** ***
*** Certain .pdb files (such as the public OS symbols) do not ***
*** contain the required information. Contact the group that ***
*** provided you with these symbols if you need this command to ***
*** work. ***
*** ***
*** Type referenced: nt!_KPRCB ***
*** ***
*************************************************************************
*************************************************************************
*** ***
*** ***
*** Your debugger is not using the correct symbols ***
*** ***
*** In order for this command to work properly, your symbol path ***
*** must point to .pdb files that have full type information. ***
*** ***
*** Certain .pdb files (such as the public OS symbols) do not ***
*** contain the required information. Contact the group that ***
*** provided you with these symbols if you need this command to ***
*** work. ***
*** ***
*** Type referenced: nt!_KPRCB ***
*** ***
*************************************************************************
ADDITIONAL_DEBUG_TEXT:
Use ‘!findthebuild’ command to search for the target build information.
If the build information is available, run ‘!findthebuild -s ; .reload’ to set symbol path and load symbols.
MODULE_NAME: nt
FAULTING_MODULE: 82814000 nt
DEBUG_FLR_IMAGE_TIMESTAMP: 4a5bbffc
EXCEPTION_RECORD: 8a013bb4 – (.exr 0xffffffff8a013bb4)
ExceptionAddress: 95478601
ExceptionCode: c0000005 (Access violation)
ExceptionFlags: 00000000
NumberParameters: 2
Parameter[0]: 00000001
Parameter[1]: 00000000
Attempt to write to address 00000000
CONTEXT: 8a013790 – (.cxr 0xffffffff8a013790)
eax=95478508 ebx=00000000 ecx=00000000 edx=00000000 esi=841806f8 edi=855d9d30
eip=95478601 esp=8a013c7c ebp=8a013ca8 iopl=0 nv up ei pl nz na po nc
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00010202
95478601 0001 add byte ptr [ecx],al ds:0023:00000000=??
Resetting default scope
DEFAULT_BUCKET_ID: VISTA_DRIVER_FAULT
BUGCHECK_STR: 0x34
CURRENT_IRQL: 0
LAST_CONTROL_TRANSFER: from 828a0971 to 95478601
STACK_TEXT:
WARNING: Frame IP not in any known module. Following frames may be wrong.
8a013c78 828a0971 842e90e8 00000001 855d9d30 0x95478601
8a013ca8 828a7fb3 8a013cc4 f9f0c550 83fd80a8 nt!ExfTryToWakePushLock+0xac1
8a013d00 8286f043 83fd80a8 00000000 83fdfa70 nt!KeSetPriorityThread+0x370
8a013d50 829fbd16 00000000 f9f0c5c0 00000000 nt!KeInsertQueueDpc+0x36e
8a013d90 8289d159 8286ef36 00000000 00000000 nt!PsGetProcessSecurityPort+0xb5
00000000 00000000 00000000 00000000 00000000 nt!KeTestAlertThread+0x15a
FOLLOWUP_IP:
nt!ExfTryToWakePushLock+ac1
828a0971 84c0 test al,al
SYMBOL_STACK_INDEX: 1
SYMBOL_NAME: nt!ExfTryToWakePushLock+ac1
FOLLOWUP_NAME: MachineOwner
IMAGE_NAME: ntkrnlmp.exe
STACK_COMMAND: .cxr 0xffffffff8a013790 ; kb
BUCKET_ID: WRONG_SYMBOLS