JDK-4088176 : backward compat. fails reading an evolved class with new field,nonexistant class
  • Type: Bug
  • Component: core-libs
  • Sub-Component: java.io:serialization
  • Affected Version: 1.1.5,1.2.0
  • Priority: P2
  • Status: Closed
  • Resolution: Fixed
  • OS: solaris_2.5
  • CPU: generic
  • Submitted: 1997-10-23
  • Updated: 1999-01-15
  • Resolved: 1999-01-15
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
1.2.0 1.2beta3Fixed
Related Reports
Relates :  
Relates :  
Relates :  
Description
ClassNotFoundException is thrown when reading an evolved class with
a new field from a serialized stream when the type of the
new field did not exist in the original classes hierarchy.


Comments
CONVERTED DATA BugTraq+ Release Management Values COMMIT TO FIX: 1.1.6 1.2beta3 FIXED IN: 1.2beta3 INTEGRATED IN: 1.2beta3
14-06-2004

EVALUATION In short, the following java.awt classes are not currently backwards compatible from JDK1.2 to any JDK 1.1.x release. Color, Font and Component. All three of these classes had fields added to them in JDK 1.2 with new classes. The ClassNotFoundException is thrown when a JDK 1.2 serialized stream containining an instance of one of these objects is read back into JDK 1.1.x.
11-06-2004

WORK AROUND When ClassNotFoundException is thrown for the scenario described in description, just make the missing class available in the original class hierarchy. Be sure that the dummy class definition implements Serializable and the serialVersionUID is explicitly set to the serialver of the missing class.
11-06-2004

PUBLIC COMMENTS ClassNotFoundException is thrown when reading an evolved class with a new field from a serialized stream when the type of the new field did not exist in the original classes hierarchy.
10-06-2004