JDK-6556039 : subclass of java.awt.geom.Arc2D.Double can not be deserialized
  • Type: Bug
  • Component: client-libs
  • Sub-Component: 2d
  • Affected Version: 6
  • Priority: P3
  • Status: Closed
  • Resolution: Duplicate
  • OS: windows_xp
  • CPU: x86
  • Submitted: 2007-05-10
  • Updated: 2010-04-04
  • Resolved: 2007-05-11
Related Reports
Duplicate :  
Description
FULL PRODUCT VERSION :
java version "1.6.0_01"
Java(TM) SE Runtime Environment (build 1.6.0_01-b06)
Java HotSpot(TM) Client VM (build 1.6.0_01-b06, mixed mode, sharing)

ADDITIONAL OS VERSION INFORMATION :
winXP, sp2

A DESCRIPTION OF THE PROBLEM :
The Serializable class can not access the no-arg constructor of its closest non-Serializable superclass:
Arc2D.Double becomes Serializable in 1.6. But Arc2D has no no-arg constructor.


STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Try to deserialize a Test class extends Arc2D.Double.

EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
deserialized successfully.
ACTUAL -
failed to deserialize, exception thrown.

ERROR MESSAGES/STACK TRACES THAT OCCUR :
java.io.InvalidClassException: Test; Test; no valid constructor
        at java.io.ObjectStreamClass.checkDeserialize(ObjectStreamClass.java:713)
        at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1733)
        at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
        at test.Test.main(Test.java:xxx)


REPRODUCIBILITY :
This bug can be reproduced always.

Comments
EVALUATION This was already reported as bug 6522514
11-05-2007