APAR status
Closed as program error.
Error description
Error Message: If serializes a BigDecimal that has a value of 0 using Java 7, and deserializes it using Oracle or Java6, the following Exception is thrown: java.io.StreamCorruptedException: BigInteger: signum-magnitude mismatch at java.math.BigInteger.readObject(BigInteger.java:3113) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessor Impl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethod AccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.jav a:991) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java: 1866) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.j ava:1771) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:134 7) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.ja va:1964) at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.ja va:498) at java.math.BigDecimal.readObject(BigDecimal.java:3555) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessor Impl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethod AccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.jav a:991) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java: 1866) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.j ava:1771) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:134 7) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:369) . Stack Trace: N/A .
Local fix
Problem summary
Serializing BigInteger object with IBM 7.0 JDK and de-serializing the same with IBM 6.0 JDK fails with java.io.StreamCorruptedException as reported. whereas serialization with 6.0 JDK and deserialization with 7.0 JDK result in success (no exceptions).
Problem conclusion
This defect will be fixed in: 7.0.0 SR1 . The solution is to check and modify the writeObject of BigInteger in Java7.
Temporary fix
ZE FIX ERROR IV28955 12/10/05
Comments
APAR Information
APAR number
IV13214
Reported component name
JAVA CLASS LIBS
Reported component ID
620700130
Reported release
700
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2012-01-20
Closed date
2012-01-29
Last modified date
2012-11-02
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fix information
Fixed component name
JAVA CLASS LIBS
Fixed component ID
620700130
Applicable component levels
R700 PSY
UP
[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSNVBF","label":"Runtimes for Java Technology"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7.0","Line of Business":{"code":"LOB36","label":"IBM Automation"}}]
Document Information
Modified date:
21 February 2022