KnowledgeBase Archive

An Archive of Early Microsoft KnowledgeBase Articles

View on GitHub

Q166158: Access Violation Occurs in SPOOLSS.EXE

Article: Q166158
Product(s): Microsoft Windows NT
Version(s): winnt:4.0
Operating System(s): 
Keyword(s): kbprintkbbuglist kbfixlist
Last Modified: 07-SEP-2001

-------------------------------------------------------------------------------
The information in this article applies to:

- Microsoft Windows NT Workstation version 4.0 
- Microsoft Windows NT Server version 4.0 
-------------------------------------------------------------------------------


SYMPTOMS
========

If Spoolss.exe is under stress, you may receive an Access Violation in the
function RemoveIniPortFromIniJob. The following information may be found in the
Drwtsn32.log file:

State Dump for Thread Id 0xdd

eax=00000001 ebx=00000000 ecx=01db57b0 edx=00b90548 esi=01de8ce0
edi=01deb180
eip=5009256e esp=06dbfd60 ebp=06dbfd70 iopl=0      nv up ei ng nz ac po nc
cs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000          efl=00000296

function: RemoveIniPortFromIniJob
5009254f 56               push    esi
50092550 ff7630           push    dword ptr [esi+0x30]ds:02cf76e6=????????
50092553 e886460000       call    SetPrinterChange (50096bde)
50092558 8b4610           mov     eax,[esi+0x10]      ds:02cf76e6=????????
5009255b f6c408           test    ah,0x8
5009255e 7408             jz      RemoveIniPortFromIniJob+0x5e (50092568)
50092560 25fffbefff       and     eax,0xffeffbff
50092565 894610           mov     [esi+0x10],eax      ds:02cf76e6=????????
50092568 56               push    esi
50092569 e8f58cffff       call    DeleteJobCheck (5008b263)
5009256e 83bf8000000000   cmp   dword ptr [edi+0x80],0x0
ds:01deb200=????????    Fault occurs here ^
50092575 7511             jnz     RemoveIniPortFromIniJob+0x7e (50092588)
50092577 8bbf84000000     mov     edi,[edi+0x84]      ds:01deb204=????????
5009257d 85ff             test    edi,edi
5009257f 7407             jz      RemoveIniPortFromIniJob+0x7e (50092588)
50092581 57               push    edi
50092582 ff1510120850                              ds:50081210=77f02f0f
                         call    dword ptr [_imp__SetEvent (50081210)]
50092588 5f               pop     edi
50092589 5e               pop     esi
5009258a c9               leave
5009258b c20800           ret     0x8

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

FramePtr ReturnAd Param#1  Param#2  Param#3  Param#4
Function Name
06dbfd70 500928a9 01de8ce0 00b942b8 00000000 00000000
localspl!RemoveIniPortFromIniJob (FPO: Non-FPO [2,3,2])
06dbffb8 77f04f3f 00000001 00000000 00000000 00b942b8 l
ocalspl!PortThread (FPO: Non-FPO [1,140,3])
06dbffec 00000000 00000000 00000000 00000000 00000000
kernel32!BaseThreadStart (FPO: Non-FPO [2,8,3])
00000000 00000000 00000000 00000000 00000000 00000000
spoolss!<nosymbols>

CAUSE
=====

This problem occurs because the reference count for the number of jobs in the
spool is incorrect.

STATUS
======

Microsoft has confirmed this to be a problem in Windows NT version 4.0. This
problem was corrected in the latest Microsoft Windows NT 4.0 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: prodnt drwatson

======================================================================
Keywords          : kbprint kbbuglist kbfixlist
Technology        : kbWinNTsearch kbWinNTWsearch kbWinNTW400 kbWinNTW400search kbWinNT400search kbWinNTSsearch kbWinNTS400search kbWinNTS400
Version           : winnt:4.0
Hardware          : x86
Issue type        : kbbug

=============================================================================

THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Copyright Microsoft Corporation 1986-2002.