Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-4383422

Regression: CardLayout no longer Serializable

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P2 P2
    • 1.4.0
    • 1.4.0
    • client-libs
    • beta
    • generic, sparc
    • generic, solaris_2.6
    • Verified

      The fix for BugID 4362381 introduced a new, non-public, inner class to
      CardLayout.java: Card. Although CardLayout is Serializable, Card was not
      declared Serializable. The prevents client code from Serializing CardLayout.

      You can easily reproduce this bug using the existing regression test
      test/java/awt/CONFORMANCE.

      /net/jano/export/disk03/awt/dpm/merlin/test/java/awt/CONFORMANCE -> /usr/local/java/jdk1.4/solsparc/bin/java AWTConformanceTest
      java.io.NotSerializableException: java.awt.CardLayout$Card
              at java.io.ObjectOutputStream.outputObject(ObjectOutputStream.java:1148)
              at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:366)
              at java.io.ObjectOutputStream.outputArray(ObjectOutputStream.java:1098)
              at java.io.ObjectOutputStream.checkSubstitutableSpecialClasses(ObjectOutputStream.java:456)
              at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:361)
              at java.io.ObjectOutputStream.outputClassFields(ObjectOutputStream.java:1841)
              at java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:480)
              at java.io.ObjectOutputStream.outputObject(ObjectOutputStream.java:1214)
              at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:366)
              at java.io.ObjectOutputStream.outputClassFields(ObjectOutputStream.java:
      1841)
              at java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:480)
              at java.io.ObjectOutputStream.outputObject(ObjectOutputStream.java:1214)
              at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:366)
              at java.io.ObjectOutputStream.outputClassFields(ObjectOutputStream.java:1841)
              at java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:480)
              at java.awt.Container.writeObject(Container.java:2429)
              at java.lang.reflect.Method.invoke(Native Method)
              at java.io.ObjectOutputStream.invokeObjectWriter(ObjectOutputStream.java:1878)
              at java.io.ObjectOutputStream.outputObject(ObjectOutputStream.java:1210)
              at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:366)
              at java.io.ObjectOutputStream.outputArray(ObjectOutputStream.java:1098)
              at java.io.ObjectOutputStream.checkSubstitutableSpecialClasses(ObjectOutputStream.java:456)
              at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:361)
              at java.io.ObjectOutputStream.outputClassFields(ObjectOutputStream.java:1841)
              at java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:480)
              at java.awt.Container.writeObject(Container.java:2429)
              at java.lang.reflect.Method.invoke(Native Method)
              at java.io.ObjectOutputStream.invokeObjectWriter(ObjectOutputStream.java:1878)
              at java.io.ObjectOutputStream.outputObject(ObjectOutputStream.java:1210)
              at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:366)
              at AWTConformanceTest.saveSerializedFile(AWTConformanceTest.java:431)
              at AWTConformanceTest.saveSerialize(AWTConformanceTest.java:463)
              at AWTConformanceTest.actionPerformed(AWTConformanceTest.java:373)
              at AWTConformanceTest.actionPerformed(AWTConformanceTest.java:337)
              at java.awt.MenuItem.processActionEvent(MenuItem.java:540)
              at java.awt.MenuItem.processEvent(MenuItem.java:504)
              at java.awt.MenuComponent.dispatchEventImpl(MenuComponent.java:276)
              at java.awt.MenuComponent.dispatchEvent(MenuComponent.java:266)
              at java.awt.MenuComponent.dispatchEventImpl(MenuComponent.java:278)
              at java.awt.MenuComponent.dispatchEvent(MenuComponent.java:266)
              at java.awt.EventQueue.dispatchEvent(EventQueue.java:425)
              at java.awt.EventDispatchThread.pumpOneEvent(EventDispatchThread.java:136)
              at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:122)
              at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:118)
              at java.awt.EventDispatchThread.run(EventDispatchThread.java:98)
      Serialization error -- please file a bug report

            son Oleg Sukhodolsky (Inactive)
            dmendenhsunw David Mendenhall (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: