Windows spooler crash with Fuji Xerox Doc Centre C240 driver

  • 3912212
  • 06-Dec-2007
  • 26-Apr-2012

Environment

Novell iPrint Client for Windows
Novell iPrint for NetWare Novell NetWare 6.5 Support Pack 6
Novell iPrint for NetWare Novell NetWare 6.5 Support Pack 5
Novell iPrint for NetWare Novell NetWare 6.5 Support Pack 4
Novell iPrint for NetWare Novell NetWare 6.5 Support Pack 3

Situation

When printing to an iPrint printer using the Fuji Xerox Doc Centre C240 driver from MS Word, the Windows Spooler will crash.

This problem has been seen with the iPrint Client 4.26, and iPrint Client 4.15.

DUPLICATION STEPS:

- Install the 4.26 iPrint client on Windows XP.
- Add the Fuji Xerox Doc Centre C240 driver to the RMS.
- Create a new iPrint printer, associate the Fuji Xerox Doc Centre C240 driver to the printer.
- Install the iPrint printer on the XP workstation.
- Execute MS Word, and print a document to the printer.
- After a few seconds, an error is thrown:
- Spooler SubSystem App
- Spooler SubSystem App has encountered a problem and need to close. We are sorry for the inconvenience.
Error report:
Error signature:

s2AppName: spoolsv.exe s2AppVer: 5.1.2600.2696
szModName: localspl.dll s2ModVer: 5.1.2600.2584 offset: 0002e92f

At this point, the spooler has stopped and can be restarted manually. After a few more seconds, MS Word crashes.

Resolution

This problem was thought to be fixed in IPPSRVR.NLM dated 27APR2007 or later. However, it has been confirmed that the problem still exists in this build. The problem is resolved in IPPSRVR that ships with SP7.

Additional Information

The Driver and the Windows Print Spooler work together in creating and submitting the print job. They also work together to get information on the job that was just sent. The Spooler, at the request of the Driver, sends a GetJob request to the iPrint client to determine status of the print job. For some reason, the driver sends the wrong Job ID, causing the problem. The iPrint client forwards that request to the NetWare server (specifically IPPSRVR.NLM). IPPSRVR has a bug; instead of replying with FAIL (because the Job ID is wrong), it replies with SUCCESS. The Driver/Spooler on the workstation don't know how to handle the SUCCESS response, because it actually isn't a success because the Job ID was wrong and could not be found. This results in the spooler crashing and the end user sees the error. The fix requires a change to IPPSRVR.NLM, so that it replies with the correct answer; FAIL.