JDK-6574713 : JRE 1.5.0_04 print job fails, JRE 1.4.2_05 print job succeeds (Novell iPrint)
  • Type: Bug
  • Component: client-libs
  • Sub-Component: 2d
  • Affected Version: 5.0
  • Priority: P3
  • Status: Closed
  • Resolution: Duplicate
  • OS: windows_xp
  • CPU: x86
  • Submitted: 2007-06-27
  • Updated: 2010-04-02
  • Resolved: 2007-07-03
Related Reports
Duplicate :  
Description
FULL PRODUCT VERSION :
JRE 1.5 Client -
Java Plug-in 1.5.0_04
Using JRE version 1.5.0_04 Java HotSpot(TM) Client VM
(from the captured console output of a device running the applet)

JRE 1.4 client -
java version "1.4.2_05"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_05-b04)
Java HotSpot(TM) Client VM (build 1.4.2_05-b04, mixed mode)

ADDITIONAL OS VERSION INFORMATION :
Microsoft Windows XP [Version 5.1.2600]

EXTRA RELEVANT SYSTEM CONFIGURATION :
Printer HP Laserjet 5 Si/Mx
Novell iPrint printing (client v04.05.00)
Direct Windows IP printing

A DESCRIPTION OF THE PROBLEM :
An applet utilizing the Java 2D printing service is experiencing strange failures on devices upgraded from JRE 1.4.2 to JRE 1.5.0.  In the environment there is both direct IP printing and Novell iPrint IP printing services in use.

Utilizing the interactive Java Print Dialog and attempting to print the same content from the same applet on the same device has different results.  The print dialog shows status of the printer, both in 1.4.2 and 1.5.0 as being "Not accepting jobs".  However the 1.4.2 job is accepted on the printing queue, while the 1.5.0 job fails and is not accepted.

The Java console output for the applet running under 1.5.0 shows an exception thrown with the error content: "Printer is not accepting job.." when the print job fails.  It almost appears that JRE 1.5 is being more sensitive to extended status information about the printer and refusing to attempt submission of the print job to the OS printer queue.

There is some indication that using direct IP printing, rather than Novell iPrint, allows the job to complete but has not been conclusive - however the same device using JRE 1.4.2 can print to the iPrint configured printer while JRE 1.5.0 fails.  Another resource is contact Novell to see if they have insight into this issue.

This behaviour is similar to that described in the forum post:
http://forum.java.sun.com/thread.jspa?forumID=31&threadID=685695

STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
1) Install Sun JRE 1.5.0_04 on the device, configure browser to utilize this as its default for applets.
2) Install HP Laserjet 5 Si/Mx using Microsoft IP printing port and install the same printer using Novell iPrint client.
3) Set the iPrint printer configuration as the Windows default printer.
4) Launch browser.  Login to custom web application, custom Swing applet loads.
5) Generate text content in applet's JEditorPane.
6) Click on applet's print button (generates a print job using the Java 2D print API to print the editor pane's document content).  Print dialog is used (java.print.ServiceUI.printDialog) to examine printer status/settings.
7) Click on the print dialog's print button

EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
Text document print job prints out succesfully.
ACTUAL -
In Java console the applet fails to print and returns the message (prints out the content of the exception after Error:) :
"Printing Failed.  Error: Printer is not accepting job.."

ERROR MESSAGES/STACK TRACES THAT OCCUR :
"Printing Failed.  Error: Printer is not accepting job.."

REPRODUCIBILITY :
This bug can be reproduced often.

---------- BEGIN SOURCE ----------
I do not currently have a basic test case to demonstrate it, however other Java applications than just the applet also appear to have a similar problem after installing JRE 1.5.0_04.
---------- END SOURCE ----------

CUSTOMER SUBMITTED WORKAROUND :
Utilizing a printer object in Windows configured using direct IP printing seems to correct the issue in most circumstances.

Ensuring all media trays (even those not required to complete the current job - e.g. 8.5 x17 and manual trays) have paper seems to clear the "Not accepting jobs" status and allow the print job to proceed.

Reverting to JRE 1.4.2_xx from 1.5.0 on the device also works to resolve the problem.

Comments
EVALUATION This is a duplicate of 6525150 Printer has "paper out" status and won't print due to a PrinterException fixed in jdk 6u2
03-07-2007