After installing the Samsung CLP-300 printer drivers using windows update, print a test page and moments later, it BSOD’ed. After rebooting to the desktop, BSOD would immediately reoccur.
BSOD did not occure in Safe Mode. Rebooted using Last Known Good Configuration. Updated driver to the latest on the website. Print a test page would cause Explorer.exe to crash under ntdll.dll. Attempting to print in FireFox would cause FireFox to crash under ntdll.dll. Installed the driver on the CD, same problem.
Deleted AppData\Temp, however WPDNSE could not be deleted. Did a boot-time Chkdsk, reported deleting an index entry WPDNSE. Still crashed when printing.
Terminated spoolsrv.exe and deleted c:\windows\spool\printers, Samsungclp300 directory in c:\windows\system32\drivers, Samsungclp300 registry key located in HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Printers\
Reinstalled drivers provided on CD again. Print a test page no longer crashed, however failed to actually print and no error message. Samsung software recognized the printer when connected. The printer however was missing in Printers and Faxes.
Uninstalled driver and used the Add a Printer wizard. Printer driver would automatically install and create duplicate entries in the registry, [PrinterName],0 [PrinterName],1 etc. The wizard however was unable to find installed printer.
Went to Printers and Faxes -> Server Properties -> Drivers -> Remove Samsung CLP-300. Reinstalled Driver from CD, print test page works.
4 hours later.
——————–
The computer has rebooted from a bugcheck. The bugcheck was: 0×1000007e (0xc0000005, 0×804f01cf, 0xf7943aa4, 0xf79437a0). A dump was saved in: C:\WINDOWS\Minidump\Mini050508-02.dmp.
For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.
Microsoft (R) Windows Debugger Version 6.9.0003.113 X86
Copyright (c) Microsoft Corporation. All rights reserved.
Loading Dump File [C:\WINDOWS\Minidump\Mini050508-02.dmp]
Mini Kernel Dump File: Only registers and stack trace are available
Symbol search path is: SRV*c:\websymbols*http://msdl.microsoft.com/download/symbols
Executable search path is:
Windows XP Kernel Version 2600 (Service Pack 2) UP Free x86 compatible
Product: WinNt, suite: TerminalServer SingleUserTS
Built by: 2600.xpsp_sp2_gdr.070227-2254
Kernel base = 0×804d7000 PsLoadedModuleList = 0×805533a0
Debug session time: Mon May 5 14:24:51.046 2008 (GMT-7)
System Uptime: 0 days 0:01:14.613
Loading Kernel Symbols
…………………………………………………………………………………………………………………………..
Loading User Symbols
Loading unloaded module list
……………….
Unable to load image DgiVecp.sys, Win32 error 0n2
*** WARNING: Unable to verify timestamp for DgiVecp.sys
*** ERROR: Module load completed but symbols could not be loaded for DgiVecp.sys
ERROR: FindPlugIns 8007007b
*******************************************************************************
* *
* Bugcheck Analysis *
* *
*******************************************************************************
Use !analyze -v to get detailed debugging information.
BugCheck 1000007E, {c0000005, 804f01cf, f7943aa4, f79437a0}
Probably caused by : DgiVecp.sys ( DgiVecp+1233 )
Followup: MachineOwner
———
kd> !analyze -v
ERROR: FindPlugIns 8007007b
*******************************************************************************
* *
* Bugcheck Analysis *
* *
*******************************************************************************
SYSTEM_THREAD_EXCEPTION_NOT_HANDLED_M (1000007e)
This is a very common bugcheck. Usually the exception address pinpoints
the driver/function that caused the problem. Always note this address
as well as the link date of the driver/image that contains this address.
Some common problems are exception code 0×80000003. This means a hard
coded breakpoint or assertion was hit, but this system was booted
/NODEBUG. This is not supposed to happen as developers should never have
hardcoded breakpoints in retail code, but …
If this happens, make sure a debugger gets connected, and the
system is booted /DEBUG. This will let us see why this breakpoint is
happening.
Arguments:
Arg1: c0000005, The exception code that was not handled
Arg2: 804f01cf, The address that the exception occurred at
Arg3: f7943aa4, Exception Record Address
Arg4: f79437a0, Context Record Address
Debugging Details:
——————
EXCEPTION_CODE: (NTSTATUS) 0xc0000005 - The instruction at “0x%08lx” referenced memory at “0x%08lx”. The memory could not be “%s”.
FAULTING_IP:
nt!IoBuildDeviceIoControlRequest+f
804f01cf 8a4030 mov al,byte ptr [eax+30h]
EXCEPTION_RECORD: f7943aa4 — (.exr 0xfffffffff7943aa4)
ExceptionAddress: 804f01cf (nt!IoBuildDeviceIoControlRequest+0×0000000f)
ExceptionCode: c0000005 (Access violation)
ExceptionFlags: 00000000
NumberParameters: 2
Parameter[0]: 00000000
Parameter[1]: 00000030
Attempt to read from address 00000030
CONTEXT: f79437a0 — (.cxr 0xfffffffff79437a0)
eax=00000000 ebx=00000001 ecx=00000000 edx=00160030 esi=8410b768 edi=85dec830
eip=804f01cf esp=f7943b6c ebp=f7943b9c iopl=0 nv up ei ng nz na pe nc
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00210286
nt!IoBuildDeviceIoControlRequest+0xf:
804f01cf 8a4030 mov al,byte ptr [eax+30h] ds:0023:00000030=??
Resetting default scope
CUSTOMER_CRASH_COUNT: 2
PROCESS_NAME: System
ERROR_CODE: (NTSTATUS) 0xc0000005 - The instruction at “0x%08lx” referenced memory at “0x%08lx”. The memory could not be “%s”.
READ_ADDRESS: 00000030
BUGCHECK_STR: 0×7E
LAST_CONTROL_TRANSFER: from ef612233 to 804f01cf
STACK_TEXT:
f7943b9c ef612233 00160030 00000000 00000000 nt!IoBuildDeviceIoControlRequest+0xf
WARNING: Stack unwind information not available. Following frames may be wrong.
f7943bcc 805270f0 80047200 00000000 f7943bdc DgiVecp+0×1233
f7943e04 00000000 0000ffff 00000000 00000000 nt!vDbgPrintExWithPrefix+0×11e
FOLLOWUP_IP:
DgiVecp+1233
ef612233 ?? ???
SYMBOL_STACK_INDEX: 1
SYMBOL_NAME: DgiVecp+1233
FOLLOWUP_NAME: MachineOwner
MODULE_NAME: DgiVecp
IMAGE_NAME: DgiVecp.sys
DEBUG_FLR_IMAGE_TIMESTAMP: 4119bf28
STACK_COMMAND: .cxr 0xfffffffff79437a0 ; kb
FAILURE_BUCKET_ID: 0×7E_DgiVecp+1233
Followup: MachineOwner
———