Application attempting to print crashes, as does Explorer.exe process when attempting to print a test page from printer properties.

(Last modified: 22Jan2003)

This document (10074345) is provided subject to the disclaimer at the end of this document.

fact

Microsoft Windows XP Professional

Microsoft Windows 2000 Professional

"HP LaserJet 4, 5, 6 PCL5e Driver" set for Windows 2000 and Windows XP, posted as "lj631en.exe", "2002-03-04", "v02.12.02" on hp.com.

symptom

Application attempting to print crashes, as does Explorer.exe process when attempting to print a test page from printer properties.

Exception C0000005 (access violation) or 80000003 (hardcoded breakpoint) on a process attempting to print.

Windows print spooler process (SPOOLSV.EXE) does not crash, but actual application process attempting to print will crash.

Error: "Program Error:
<application> has generated errors and will be closed by Windows.  You will need to restart the program.
 An error log is being created.
[OK]"

Error: "Program Error:
Explorer.exe has generated errors and will be closed by Windows.  You will need to restart the program.
 An error log is being created.
[OK]"

Error: "<application name>:
<application name> has encountered a problem and needs to close.  We are sorry for the inconvenience.
In you were in the middle of something, the information you were working on may be lost.
Please tell Microsoft about this problem.
We have created an error report that you can send to help us improve <application name>.  We will treat this report as confidential and anonymous.
To see what data this report contains, click here.
[Send Error Report] [Don't Send]"

Error: " Windows Explorer:
Windows Explorer has encountered a problem and needs to close.  We are sorry for the inconvenience.
In you were in the middle of something, the information you were working on may be lost.
Please tell Microsoft about this problem.
We have created an error report that you can send to help us improve Windows Explorer.  We will treat this report as confidential and anonymous.
To see what data this report contains, click here.
[Send Error Report] [Don't Send]"

fix

The only solution currently available is to use the driver for the corresponding Hewlett Packard printer model that was included in Microsoft Windows 2000 Professional or Microsoft Windows XP Professional.

For example, with Novell iPrint use the "Add From System" option within iManager to upload drivers shipped with the Microsoft Windows operating system the iManager interface is being run on.  In NWADMN32, the corresponding option is "Extract From File" to upload drivers from the local Microsoft Windows operating system.

The issues described for the driver set(s) identified within this document are not specific to environments with the Novell client or any of the Novell printing services; the same issues can be demonstrated using these drivers in pure Microsoft Windows 2000 Professional and Microsoft Windows XP Professional environments.

These workaround instructions are provided as a service to Novell customers to advise regarding known issues with the identified third-party driver set(s).  The actual status and solutions to these issues would have to be provided and/or pursued by the corresponding third-party driver set vendor(s).


If you have already uploaded the LJ631EN.EXE v02.12.02 driver set to your iPrint/NDPS Resource Management Service (RMS), and/or have already distributed that driver to workstations:

Note that in order to successfully install the driver that had shipped with Windows 2000 Professional or Windows XP Professional, it will likely be necessary to remove the installed LJ631EN.EXE v02.12.02 driver first.  Otherwise, the newer components distributed with the LJ631EN.EXE v02.12.02 driver will not be overwritten when you install the driver from the Windows 2000 Professional or Windows XP Professional installation set.  The exceptions and issues described in this document will continue because the later driver files from the LJ631EN.EXE v02.12.02 driver set are still in place.

Deleting the driver and driver files from the workstation is required.  The printer driver is not removed when simply deleting the Windows printer entry.  To remove the actual printer driver from the Windows machine, see the instructions in Microsoft Knowledgebase article 135406, Steps to Manually Remove and Reinstall a Printer Driver.

Note that removal of the driver files from the %SystemRoot%\System32\Spool\Drivers\<Platform> directory (described in the Windows 2000 section of Q135406) may be required in order to ensure that all of the files delivered as part of the LJ631EN.EXE v02.12.02 driver set have been removed (and were not retained because the same files were part of other driver sets still installed).


Background:

The LJ631EN.EXE v02.12.02 driver set with posted date 04MAR2002 covered 27 printer models from the Hewlett Packard LaserJet Series 4, Series 5 and Series 6 printer lines.  The drivers contained in this set are for the Windows 2000 and Windows XP platforms.

In the case of the LJ631EN.EXE v02.12.02 driver set, there were originally Novell NDPS- and iPrint-specific issues that prevented the driver set from being successfully uploaded to the Resource Management Service (RMS) broker service.  Additional information on the issue preventing successful driver upload can be found in the document Unable to add printer drivers to RMS database.

However, after successfully uploading the LJ631EN.EXE v02.12.02 driver set to the RMS broker service, or simply by using the same driver set in a non-NDPS, non-iPrint environment which utilizes a network print provider, there were issues apparent with the printer drivers themselves once successfully installed to Windows 2000 Professional and Windows XP Professional workstations.

The problem occurs in the form of an exception on the process actually attempting to print.  (The problem is not an exception occurring on the Windows print spooler process, SPOOLSV.EXE.)  The exception will occur when the actual attempt to print is made, such as when selecting "Print" in an application Print dialog, or when selecting "Print Test Page" in the Windows printer properties.  Windows will inform that the application encountered an error (which is EXPLORER.EXE, in the case of "Print Test Page"), and the application will be terminated.

The problem does not appear to occur on Windows printers installed as local printers on the Windows 2000 and Windows XP platforms.  This includes printers installed as local printers that are then shared to other Windows machines using Microsoft File and Printer Sharing.  In other words, if there is a local Windows printer involved at all, either on the workstation actually attempting to print or on a remote Windows workstation sharing the printer to make it available to other Windows workstations, the issue does not appear to occur.

But the problem can be demonstrated using a purely-Microsoft environment (no Novell print services or client software need have ever been present) by using the Microsoft Internet Print Provider.  (The Microsoft Internet Print Provider is used when specifying an "http://..." printer path in the Add Printer Wizard.)  Note this is different than the "Standard TCP/IP Port" which is not a network print provider (just a port monitor), and "Standard TCP/IP Port" printers are not treated like network printers by the local Windows operating system.

The following Dr. Watson log excerpts show the exceptions observed to occur using the indicated driver set(s) on Windows 2000 Professional and Windows XP Professional.

Note these DRWTSN32.LOGs were generated with full Windows symbol information available; DRWTSN32.LOG entries showing these same failures but without symbol information will be considerably more vague within the stack trace sections.

Also note that all three of the following excerpts were generated on Windows 2000 Professional SP3 and Windows XP Professional SP1 machines without any Novell client software installed.

The following shows a c0000005 (access violation) exception observed when attempting to print from Microsoft WordPad:

Application exception occurred:

        App: C:\Program Files\Windows NT\Accessories\WORDPAD.EXE (pid=508)

        When: 9/8/2002 @ 16:52:46.921

        Exception number: c0000005 (access violation)

*----> State Dump for Thread Id 0x398 <----*


eax=00000000 ebx=0010a4d0 ecx=00274930 edx=7301e320 esi=00000000 edi=50001cc4

eip=77c4282d esp=0006ec20 ebp=0006ec30 iopl=0         nv up ei pl zr na po nc

cs=001b  ss=0023  ds=0023  es=0023  fs=0038  gs=0000             efl=00000246


function: MSVCRT!_wcsicmp

        77c42817 663bd8           cmp     bx,ax

        77c4281a 74ca             jz      MSVCRT!_wcsicmp+0x2e (77c427e6)

        77c4281c eb3c             jmp     MSVCRT!_wcsicmp+0xa2 (77c4285a)

        77c4281e 56               push    esi

        77c4281f 8b7508           mov     esi,[ebp+0x8]

        77c42822 57               push    edi

        77c42823 8b7d0c           mov     edi,[ebp+0xc]

        77c42826 eb03             jmp     MSVCRT!_wcsicmp+0x73 (77c4282b)

        77c42828 8b4dfc           mov     ecx,[ebp-0x4]

        77c4282b 33c0             xor     eax,eax

FAULT ->77c4282d 668b06           mov     ax,[esi]              ds:0023:00000000=????

        77c42830 50               push    eax

        77c42831 51               push    ecx

        77c42832 e801abfdff       call    MSVCRT!__towlower_mt (77c1d338)

        77c42837 46               inc     esi

        77c42838 46               inc     esi

        77c42839 8bd8             mov     ebx,eax

        77c4283b 33c0             xor     eax,eax

        77c4283d 668b07           mov     ax,[edi]

        77c42840 50               push    eax

        77c42841 ff75fc           push    dword ptr [ebp-0x4]

 

*----> Stack Back Trace <----*

*** ERROR: Symbol file could not be found.  Defaulted to export symbols for C:\WINDOWS\System32\spool\DRIVERS\W32X86\3\hpcrd02.dll -

WARNING: Stack unwind information not available. Following frames may be wrong.

ChildEBP RetAddr  Args to Child             

0006ec30 5000755f 00000000 50001cc4 011e0000 MSVCRT!_wcsicmp+0x75 (FPO: [Non-Fpo])

0006ec5c 768a0083 011e0000 011e0034 0000000a hpcrd02+0x755f

0006ec7c 77c8496c 011e0000 011e0034 0000000a UNIDRV!DrvStartDoc+0x91 (FPO: [Non-Fpo])

0006ecb4 77d695ac 00000000 0006eccc 00000004 GDI32!GdiPrinterThunk+0x18e (FPO: [Non-Fpo])

0006f504 77fb4da6 0006f514 00000020 00000020 USER32!__ClientPrinterThunk+0x26 (FPO: [Non-Fpo])

0006f530 77c8499b 77c84c23 af210364 0006f628 ntdll!KiUserCallbackDispatcher+0x13 (FPO: [0,0,0])

0006f670 7283f48e af210364 0006facc 009c1d48 GDI32!NtGdiStartDoc+0xc (FPO: [Non-Fpo])

0006fb60 010143e5 009c1d48 01006948 00000001 MFC42u!CView__OnFilePrint+0x3dc

0006fb70 728321c1 01006948 00000111 0006fbb0 WORDPAD!CWordPadView__OnFilePrint+0x29 (FPO: [0,0,3])

0006fb80 72832120 009c1d48 0000e107 00000000 MFC42u!_AfxDispatchCmdMsg+0x7e

0006fbb0 72832568 0000e107 00000000 00000000 MFC42u!CCmdTarget__OnCmdMsg+0x104

0006fbe0 728324d3 0000e107 00000000 00000000 MFC42u!CView__OnCmdMsg+0x20

0006fc18 728327bd 0000e107 00000000 00000000 MFC42u!CFrameWnd__OnCmdMsg+0x4c

0006fc68 7283281d 00000000 00000000 009c04e8 MFC42u!CWnd__OnCommand+0x51

0006fc80 72831ab3 0000e107 00000000 009c04e8 MFC42u!CFrameWnd__OnCommand+0x71 (FPO: [2,0,3])

0006fd00 728319d1 00000111 0000e107 00000000 MFC42u!CWnd__OnWndMsg+0x2f

0006fd20 7283195a 00000111 0000e107 00000000 MFC42u!CWnd__WindowProc+0x22

0006fd80 728318e2 00000000 001d0124 00000111 MFC42u!AfxCallWndProc+0x90

0006fd9c 728318a1 001d0124 00000111 0000e107 MFC42u!AfxWndProc+0x2b

0006fdc8 77d43a68 001d0124 00000111 0000e107 MFC42u!AfxWndProcBase+0x39

0006fdf4 77d43b37 72831868 001d0124 00000111 USER32!InternalCallWinProc+0x1b

0006fe5c 77d43d91 00000000 72831868 001d0124 USER32!UserCallWinProcCheckWow+0x150 (FPO: [Non-Fpo])

0006febc 77d43df7 010217c4 00000000 728313e0 USER32!DispatchMessageWorker+0x306 (FPO: [Non-Fpo])

0006fec8 728313e0 010217c4 00000001 01021790 USER32!DispatchMessageW+0xb (FPO: [1,0,0])

0006fed8 72844529 01021790 01021790 0006ffc0 MFC42u!CWinThread__PumpMessage+0x3a (FPO: [0,0,2])

0006fef0 728444d9 01021790 72842571 00000000 MFC42u!CWinThread__Run+0x47 (FPO: [EBP 0x01021790] [0,1,4])

0006fef8 72842571 00000000 00020728 00000002 MFC42u!CWinApp__Run+0x20 (FPO: [0,0,1])

0006ff08 01017495 01000000 00000000 00020728 MFC42u!AfxWinMain+0x67 (FPO: [4,0,3])

0006ff1c 01017088 01000000 00000000 00020728 WORDPAD!wWinMain+0x15 (FPO: [4,0,0])
01021790 00000001 00000000 00000000 00000000 WORDPAD!wWinMainCRTStartup+0x198 (FPO: [Non-Fpo])

 

The following shows a c0000005 (access violation) exception observed when attempting to print a test page from the Windows printer properties:

Application exception occurred:

        App: C:\WINDOWS\Explorer.exe (pid=840)
        When: 9/8/2002 @ 17:00:26.261

        Exception number: c0000005 (access violation)


*----> State Dump for Thread Id 0x518 <----*


eax=00000000 ebx=001069c8 ecx=0026c528 edx=7301e320 esi=00000000 edi=012c1cc4

eip=77c4282d esp=023de698 ebp=023de6a8 iopl=0         nv up ei pl zr na po nc

cs=001b  ss=0023  ds=0023  es=0023  fs=0038  gs=0000             efl=00000246

 

function: msvcrt!_wcsicmp

        77c42817 663bd8           cmp     bx,ax

        77c4281a 74ca             jz      msvcrt!_wcsicmp+0x2e (77c427e6)

        77c4281c eb3c             jmp     msvcrt!_wcsicmp+0xa2 (77c4285a)

        77c4281e 56               push    esi

        77c4281f 8b7508           mov     esi,[ebp+0x8]

        77c42822 57               push    edi

        77c42823 8b7d0c           mov     edi,[ebp+0xc]

        77c42826 eb03             jmp     msvcrt!_wcsicmp+0x73 (77c4282b)

        77c42828 8b4dfc           mov     ecx,[ebp-0x4]

        77c4282b 33c0             xor     eax,eax

FAULT ->77c4282d 668b06           mov     ax,[esi]              ds:0023:00000000=????

        77c42830 50               push    eax

        77c42831 51               push    ecx

        77c42832 e801abfdff       call    msvcrt!__towlower_mt (77c1d338)

        77c42837 46               inc     esi

        77c42838 46               inc     esi

        77c42839 8bd8             mov     ebx,eax

        77c4283b 33c0             xor     eax,eax

        77c4283d 668b07           mov     ax,[edi]

        77c42840 50               push    eax

        77c42841 ff75fc           push    dword ptr [ebp-0x4]


*----> Stack Back Trace <----*

*** ERROR: Symbol file could not be found.  Defaulted to export symbols for C:\WINDOWS\System32\spool\DRIVERS\W32X86\3\hpcrd02.dll -

WARNING: Stack unwind information not available. Following frames may be wrong.

ChildEBP RetAddr  Args to Child             

023de6a8 012c755f 00000000 012c1cc4 023f0000 msvcrt!_wcsicmp+0x75 (FPO: [Non-Fpo])

023de6d4 768a0083 023f0000 023f0034 00000012 hpcrd02+0x755f

023de6f4 77c8496c 023f0000 023f0034 00000012 UNIDRV!DrvStartDoc+0x91 (FPO: [Non-Fpo])

023de72c 77d695ac 00000000 023de744 00000004 GDI32!GdiPrinterThunk+0x18e (FPO: [Non-Fpo])

023def7c 77fb4da6 023def8c 00000020 00000020 USER32!__ClientPrinterThunk+0x26 (FPO: [Non-Fpo])

023defa8 77c8499b 77c84c23 2c21050f 023df0a0 ntdll!KiUserCallbackDispatcher+0x13 (FPO: [0,0,0])

023df0e8 74b902cf 2c21050f 023df32c 00140066 GDI32!NtGdiStartDoc+0xc (FPO: [Non-Fpo])

023df350 74b903f8 00140066 0026df30 00000bb9 printui!vServerPropPages+0xd78

023df78c 74b97405 00140066 0026df30 0185a4d0 printui!vServerPropPages+0xea1

023df7b4 74b98067 00000111 00000bbf 002101ac printui!vDocumentDefaults+0x3540

023df7d4 74b9fbcd 00000111 00000bbf 002101ac printui!vDocumentDefaults+0x41a2

023df7f8 77d43a68 00140066 00000111 00000bbf printui!vQueueCreate+0x13b

023df824 77d4c689 74b9fb6e 00140066 00000111 USER32!InternalCallWinProc+0x1b

023df890 77d4c4f8 000c1588 74b9fb6e 00140066 USER32!UserCallDlgProcCheckWow+0x146 (FPO: [Non-Fpo])

023df8d8 77d4c709 00000000 00000111 00000bbf USER32!DefDlgProcWorker+0xa6 (FPO: [Non-Fpo])

023df8f0 77d43a68 00140066 00000111 00000bbf USER32!DefDlgProcW+0x21 (FPO: [4,0,0])

023df91c 77d43b37 77d4c6e8 00140066 00000111 USER32!InternalCallWinProc+0x1b

023df984 77d4546b 000c1588 77d4c6e8 00140066 USER32!UserCallWinProcCheckWow+0x150 (FPO: [Non-Fpo])

023df9c0 77d454cc 0048a400 00486740 00000bbf USER32!SendMessageWorker+0x4a3 (FPO: [Non-Fpo])

023df9e0 71981492 00140066 00000111 00000bbf USER32!SendMessageW+0x7d (FPO: [Non-Fpo])

023df9fc 7198156b 0014a028 00000000 77d45485 comctl32!Button_NotifyParent+0x3a (FPO: [2,0,2])

023dfa28 71982edc 00000000 023dfa84 71982edd comctl32!Button_ReleaseCapture+0xd4 (FPO: [EBP 0x00000001] [2,1,4])

023dfa48 77d43b67 023dfa70 77d43b4b 00084880 comctl32!Button_Repaint+0x28 (FPO: [1,0,2])
00000001 00000000 00000000 00000000 00000000 USER32!UserCallWinProcCheckWow+0x170 (FPO: [Non-Fpo])

 

Note that the following 80000003 (hardcoded breakpoint) exception, although observed to occur in this same problem configuration, is rather generic and may occur in other circumstances where the specific printer driver in use is not the root problem:

Application exception occurred:

        App: obj\i386\wordpad.exe (pid=520)

        When: 9/8/2002 @ 14:47:24.899

        Exception number: 80000003 (hardcoded breakpoint)

 

State Dump for Thread Id 0x454

 

eax=00000000 ebx=00000000 ecx=00000101 edx=ffffffff esi=00000000 edi=005bfcbc

eip=77f97705 esp=024affa8 ebp=024affb4 iopl=0         nv up ei ng nz na po nc

cs=001b  ss=0023  ds=0023  es=0023  fs=0038  gs=0000             efl=00000286

 

function: <nosymbols>

        77f976e7 3bc7             cmp     eax,edi

        77f976e9 0f8560360000     jne     DbgSsHandleKmApiMsg+0x158 (77f9ad4f)

        77f976ef 8d4320           lea     eax,[ebx+0x20]         ds:00a7d5d2=????????

        77f976f2 50               push    eax

        77f976f3 8d4308           lea     eax,[ebx+0x8]          ds:00a7d5d2=????????

        77f976f6 50               push    eax

        77f976f7 ff75fc           push    dword ptr [ebp+0xfc]   ss:02f2d586=????????

        77f976fa e836ffffff       call    DbgSspCreateThread (77f97635)

        77f976ff e90bfcffff       jmp     DbgSsHandleKmApiMsg+0x18d (77f9730f)

        77f97704 cc               int     3

FAULT ->77f97705 c3               ret

        77f97706 32c0             xor     al,al

        77f97708 e929f4feff       jmp     LdrpCheckForLoadedDllHandle+0x51 (77f86b36)

        77f9770d 55               push    ebp

        77f9770e 8bec             mov     ebp,esp

        77f97710 81ec80000000     sub     esp,0x80

        77f97716 8b450c           mov     eax,[ebp+0xc]          ss:02f2d586=????????

        77f97719 83658400         and   dword ptr [ebp+0x84],0x0 ss:02f2d586=????????

        77f9771d c7458018008000                                  ss:02f2d586=????????

                                  mov     dword ptr [ebp+0x80],0x800018

        77f97724 c7459804000000   mov   dword ptr [ebp+0x98],0x4 ss:02f2d586=????????

        77f9772b 8b08             mov     ecx,[eax]              ds:00000000=????????

        77f9772d 8b4004           mov     eax,[eax+0x4]          ds:00a7d5d2=????????

 

*----> Stack Back Trace <----*

 

FramePtr ReturnAd Param#1  Param#2  Param#3  Param#4  Function Name

024AFFB4 77E887DD 00000000 005BFCBC 77F82B95 00000000 ntdll!DbgBreakPoint  (FPO: [0,0,0])

024AFFB4 77E887DD 00000000 005BFCBC 77F82B95 00000000 kernel32!BaseThreadStart (FPO: Non-FPO [2,9,3])

024AFFEC 00000000 00000000 00000000 00000000 00000000 kernel32!BaseThreadStart (FPO: Non-FPO [2,9,3])


.

document

Document Title: Application attempting to print crashes, as does Explorer.exe process when attempting to print a test page from printer properties.
Document ID: 10074345
Solution ID: NOVL82043
Creation Date: 09Sep2002
Modified Date: 22Jan2003
Novell Product Class:NetWare

disclaimer

The Origin of this information may be internal or external to Novell. Novell makes all reasonable efforts to verify this information. However, the information provided in this document is for your information only. Novell makes no explicit or implied claims to the validity of this information.
Any trademarks referenced in this document are the property of their respective owners. Consult your product manuals for complete trademark information.