wicket-examples serialization problem on shutdown
-------------------------------------------------
Key: WICKET-819
URL: https://issues.apache.org/jira/browse/WICKET-819
Project: Wicket
Issue Type: Improvement
Components: wicket-examples
Affects Versions: 1.3.0-beta2
Environment: Windows XP, Java 6, wicket 1.3-beta2, jetty 6
Reporter: Dariusz Wojtas
Priority: Minor
Fix For: 1.3.0-beta3
I started wicket-examples, it works fine - but I often get a serialization
exception starting a new game(see stacktrace below).
I press the button "Start game", new page nicely with all letters, but I gen an
exception on the console
--------------------
ERROR - Objects - Error serializing object class
org.apache.wicket.examples.hangman.Guess [object=[Page class =
org.apache.wicket.examples.hangman.Guess, id = 1, version = 0]]
org.apache.wicket.util.io.SerializableChecker$WicketNotSerializableException:
Unable to serialize class: sun.font.AttributeMap
Field hierarchy is:
1 [class=org.apache.wicket.examples.hangman.Guess, path=1]
private java.lang.Object org.apache.wicket.MarkupContainer.children
[class=[Lorg.apache.wicket.Component;]
private java.io.Serializable org.apache.wicket.model.Model.object[3]
[class=org.apache.wicket.examples.hangman.Guess$2, path=1:letters]
private java.lang.Object org.apache.wicket.MarkupContainer.children
[class=[Lorg.apache.wicket.Component;]
private java.lang.Object
org.apache.wicket.MarkupContainer.children[0]
[class=org.apache.wicket.markup.html.list.ListItem, path=1:letters:0]
private java.lang.Object org.apache.wicket.MarkupContainer.children
[class=org.apache.wicket.examples.hangman.Guess$2$1, path=1:letters:0:letter]
private java.lang.Object
org.apache.wicket.MarkupContainer.children
[class=org.apache.wicket.markup.html.image.Image, path=1:letters:0:letter:image]
private final
org.apache.wicket.markup.html.image.resource.LocalizedImageResource
org.apache.wicket.markup.html.image.Image.localizedImageResource
[class=org.apache.wicket.markup.html.image.resource.LocalizedImageResource]
private org.apache.wicket.Resource
org.apache.wicket.markup.html.image.resource.LocalizedImageResource.resource
[class=org.apache.wicket.markup.html.image.resource.DefaultButtonImageResource]
private java.util.Map
org.apache.wicket.markup.html.image.resource.DefaultButtonImageResource.fontAttributes
[class=sun.font.AttributeMap] <----- field that is not serializable
at
org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:347)
at
org.apache.wicket.util.io.SerializableChecker.checkFields(SerializableChecker.java:615)
at
org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:538)
at
org.apache.wicket.util.io.SerializableChecker.checkFields(SerializableChecker.java:615)
at
org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:538)
at
org.apache.wicket.util.io.SerializableChecker.checkFields(SerializableChecker.java:615)
at
org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:538)
at
org.apache.wicket.util.io.SerializableChecker.checkFields(SerializableChecker.java:615)
at
org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:538)
at
org.apache.wicket.util.io.SerializableChecker.checkFields(SerializableChecker.java:615)
at
org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:538)
at
org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:393)
at
org.apache.wicket.util.io.SerializableChecker.checkFields(SerializableChecker.java:615)
at
org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:538)
at
org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:393)
at
org.apache.wicket.util.io.SerializableChecker.checkFields(SerializableChecker.java:615)
at
org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:538)
at
org.apache.wicket.util.io.SerializableChecker.writeObjectOverride(SerializableChecker.java:683)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:322)
at
org.apache.wicket.util.io.IObjectStreamFactory$1.writeObjectOverride(IObjectStreamFactory.java:74)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:322)
at
org.apache.wicket.util.lang.Objects.objectToByteArray(Objects.java:1101)
at
org.apache.wicket.protocol.http.FilePageStore.serializePage(FilePageStore.java:711)
at
org.apache.wicket.protocol.http.FilePageStore.access$900(FilePageStore.java:58)
at
org.apache.wicket.protocol.http.FilePageStore$PageSerializingThread.run(FilePageStore.java:245)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.io.NotSerializableException: sun.font.AttributeMap
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1156)
at
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509)
at
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1474)
at
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
at
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509)
at
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1474)
at
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
at
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509)
at
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1474)
at
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
at
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509)
at
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1474)
at
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
at
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509)
at
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1474)
at
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1338)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1146)
at
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509)
at
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1474)
at
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1338)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1146)
at
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509)
at
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1474)
at
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
at
org.apache.wicket.util.io.IObjectStreamFactory$1.writeObjectOverride(IObjectStreamFactory.java:66)
... 6 more
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.