United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
JDK-5032314 : problem affecting xalan 2.4.1 as supplied with jdk 1.4.2

Details
Type:
Bug
Submit Date:
2004-04-15
Status:
Resolved
Updated Date:
2012-04-25
Project Name:
JDK
Resolved Date:
2004-05-10
Component:
xml
OS:
solaris_8
Sub-Component:
jaxp
CPU:
sparc
Priority:
P3
Resolution:
Fixed
Affected Versions:
1.4.2_04
Fixed Versions:
1.4.2_05 (05)

Related Reports

Sub Tasks

Description
Problem as described by the customer.

This is a generic problem affecting xalan 2.4.1 as supplied with jdk 1.4.2.
In the apache source file XStringForFSB.java the method toDouble() at the
end of the file contains an algorithmic error. Specifically, if the input
String value conyains more than about 18 digits then the intermediate long
values used internally by the algorithm will overflow and the final double
value that is calculated will be wrong.

I attach a couple of small files (an xml file and an xsl file)that
illustrate this problem. 

Run as follows : java org.apache.xalan.xslt.Process -Q -IN elements.xml -XSL
elements.xsl

And observe that the output value for the "atomic weight" of helium is
completely wrong.

We observed this while comparing the output data from a real production
system that has been running successfully on Solaris using JDK 1.4 with the
output from a Linux system running JDK 1.4.2. The Solaris/1.4 system worked
perfectly, but the Linux/1.4.2 system had incorrect values in the output
file. Note that this is not a linux problem, it's a bug in the xalan
implementation and it's generic.

Apache fixed this quite some time ago but the fix is not in the 2.4.1 code
base.


                                    

Comments
CONVERTED DATA

BugTraq+ Release Management Values

COMMIT TO FIX:
1.4.2_05
generic

FIXED IN:
1.4.2_05

INTEGRATED IN:
1.4.2_05


                                     
2004-06-14
EVALUATION

Changed the implementation of toDouble() to same as in 1.5 workspace.

###@###.### 2004-04-29
                                     
2004-04-29



Hardware and Software, Engineered to Work Together