JDK-6935697 : JRE 1.6.0_17 contains buggy XALAN
  • Type: Bug
  • Component: xml
  • Sub-Component: javax.xml.transform
  • Affected Version: 6,6u18
  • Priority: P3
  • Status: Closed
  • Resolution: Fixed
  • OS: generic,windows_xp
  • CPU: generic,x86
  • Submitted: 2010-03-17
  • Updated: 2012-05-25
  • Resolved: 2011-08-24
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
Other JDK 6 JDK 7
1.4.0 1.4Fixed 6-poolResolved 7u2Fixed
Related Reports
Relates :  
Description
FULL PRODUCT VERSION :
java version "1.6.0_17"
Java(TM) SE Runtime Environment (build 1.6.0_17-b04)
Java HotSpot(TM) Client VM (build 14.3-b01, mixed mode, sharing)

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

A DESCRIPTION OF THE PROBLEM :
JRE 1.6.0_17 comes with a JAXP default implementation which currently is a buggy XALAN release: Large XSL files cannot be compiled, leading to an error message. Latest XALAN 2.7.1 contains a fix, but that one is not part of the JRE bundle so far.

STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Compile a XSL transformation file being about 128 to 256 KB large.

EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
Should compile without further problems.
ACTUAL -
XALAN contained in com.sun.org.apache complains that it cannot load the translet.

ERROR MESSAGES/STACK TRACES THAT OCCUR :
javax.xml.transform.TransformerConfigurationException: Die Translet-Klasse 'GregorSamsa' konnte nicht geladen werden.


REPRODUCIBILITY :
This bug can be reproduced always.

---------- BEGIN SOURCE ----------
Java Test Driver:

package de.quipsy.xslt;
import java.io.File;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.stream.StreamSource;
public final class GregorSamsa {
    public static final void main(final String[] a) throws Throwable {
        TransformerFactory.newInstance().newTransformer(new StreamSource(new File("2010_Kundenreklamationen.XFO")));
    }
}

The used XSL Sample File can be requested by email.


---------- END SOURCE ----------

CUSTOMER SUBMITTED WORKAROUND :
Replace JVM-bundled XALAN by latest "original" XALAN-2.7.1 (to be downloaded from apache.org) -- Copy the following files into jre6/lib/ext:

serializer.jar
xalan.jar
xercesImpl.jar
xml-apis.jar

Comments
EVALUATION 9488984 ISSUE WITH BAM APPLICATION ON USING JDK160_18 was actually reported as CR 6940416 and fixed in JAXP 1.4.4 and JDK 6u20 and 21.
24-08-2011

EVALUATION The original report was similar to Oracle bug 12665704; The added report, 9488984 ISSUE WITH BAM APPLICATION ON USING JDK160_18, has been fixed in JAXP 1.4.5.
24-08-2011

EVALUATION Will fix this particular issue (compiling large stylesheet).
18-08-2011

EVALUATION JAXP now has partially updated to xerces 2.10 and xalan 2.7.1. Refer to 6971540 and 6984016.
16-06-2011

EVALUATION We've been planning for a Xerces and Xalan upgrade. However, due to the Oracle transition, we need new legal directives before we can continue. I'll update this change request once when I know more.
17-03-2010