HPMON Causes an Access Violation in SPOOLSS

ID: Q150485


The information in this article applies to:
  • Microsoft Windows NT Workstation version 3.51
  • Microsoft Windows NT Server version 3.51


SYMPTOMS

SPOOLSS may cause an access violation, which will cause the Spooler service to fail.

If Dr Watson is enabled you may get a report in DRWTSN32.LOG.


CAUSE

The Spooler service (SPOOLSS) is a fairly simple and very reliable service. The Spooler service needs what are called Monitors to communicate with. The Spooler service has been designed to be modular which gives users the flexibility to add specific Monitors (device-specific drivers) to Windows NT. These Monitors run as part of the Spooler service.

If the Monitor has difficulty, it can cause the Spooler to attempt to access memory not available to the Spooler; this is called an Access Violation. To help determine which Monitor is most likely at fault, check for a DRWTSN32.LOG. Open the file with an ASCII editor such as Notepad and search for the KeyWord FAULT.

HPMON incorrectly handled a DLC timed out response from DLC.


MORE INFORMATION

This issue with HPMON will appear exactly in the same code every time. Below is an example of DLC Timed Out causing a DRWTSN32.LOG.


eax=7737afc8 ebx=00000002 ecx=00009999 edx=7737b06a esi=00717000
edi=7737b06c
eip=77fa54bd esp=0098fe14 ebp=00716f5c 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: wcscpy
        77fa54b1 8b442404         mov     eax,[esp+0x4]
ss:00dfe737=????????
        77fa54b5 56               push    esi
        77fa54b6 8b74240c         mov     esi,[esp+0xc]
ss:00dfe737=????????
        77fa54ba 57               push    edi
        77fa54bb 8bf8             mov     edi,eax
FAULT ->77fa54bd 668b0e           mov     cx,[esi]
ds:00717000=????
        77fa54c0 8bd7             mov     edx,edi
        77fa54c2 66890a           mov     [edx],cx
ds:7737b06a=9999
        77fa54c5 83c702           add     edi,0x2
        77fa54c8 83c602           add     esi,0x2
        77fa54cb 6685c9           test    cx,cx
        77fa54ce 75ed             jnz     wcscpy+0xc (77fa54bd)
        77fa54d0 5f               pop     edi
        77fa54d1 5e               pop     esi
        77fa54d2 c3               ret

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

FramePtr ReturnAd Param#1  Param#2  Param#3  Param#4  Function Name
0098fe18 77f25e3e 7737afc8 00716f5c 77377bb7 7737afc8 ntdll!wcscpy  (FPO:
[2,0,2])
0098fe24 77377bb7 7737afc8 00716f5c 0079a142 7737866c kernel32!lstrcpyW
(FPO: [2,0,0])
0098fe34 7737866c 00716f5c 7737ac98 0098fea4 00000001 hpmon!Mystrtok  (FPO:
[2,0,1])
0098fe50 773786ef ffff0002 0079a140 0098fe6c 00000001 hpmon!TranslatePjl
(FPO: [EBP 0x0098fea4] [3,0,4])
0098fea4 7737437a 0079c405 ffff0002 0079a140 77373f65 hpmon!DecodePjl
0098feb4 77373f65 0079a100 0070e5f8 0070e630 00000000 hpmon!DecodeIFrame
(FPO: [1,0,0])
0098ffb8 77f26c15 00000000 0070e5f8 0070e630 00000000 hpmon!ReadThread
0098ffec 00000000 77373bd9 00000000 00000000 00905a4d
kernel32!BaseThreadStart
00000000 00000000 00000000 00000000 00000000 00000000 spoolss!<nosymbols> 


STATUS

Microsoft has confirmed this to be a problem in Windows NT version 3.51. This problem was corrected in the latest Windows NT 3.51 U.S. Service Pack. For information on obtaining the Service Pack, query on the following word in the Microsoft Knowledge Base (without the spaces):

S E R V P A C K

Additional query words: error print printing

Keywords : NTSrvWkst
Version : 3.51
Platform : winnt
Issue type :


Last Reviewed: February 17, 1999
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.