Wicket 1.3 (revision 507527)

I have been experiencing variations on the following stacktrace since I
updated to the latest snapshot.  I say variations because sometimes the full
stack trace is many "causes" deep, but the only interesting cause is the NPE
at the bottom.  

java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
        at
wicket.util.io.ClassStreamHandler.invokeWriteMethod(ClassStreamHandler.java:421)
        at
wicket.util.io.WicketObjectOutputStream.writeObjectOverride(WicketObjectOutputStream.java:134)
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:298)
        at
wicket.util.io.ClassStreamHandler$ObjectFieldAndIndex.writeField(ClassStreamHandler.java:764)
        at
wicket.util.io.ClassStreamHandler.writeFields(ClassStreamHandler.java:340)
        at
wicket.util.io.WicketObjectOutputStream.writeObjectOverride(WicketObjectOutputStream.java:136)
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:298)
        at
wicket.util.io.ClassStreamHandler$ObjectFieldAndIndex.writeField(ClassStreamHandler.java:764)
        at
wicket.util.io.ClassStreamHandler.writeFields(ClassStreamHandler.java:340)
        at
wicket.util.io.WicketObjectOutputStream.writeObjectOverride(WicketObjectOutputStream.java:136)
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:298)
        at wicket.util.lang.Objects.objectToByteArray(Objects.java:1043)
        at 
wicket.protocol.http.FilePageStore.serializePage(FilePageStore.java:412)
        at wicket.protocol.http.FilePageStore.access$1200(FilePageStore.java:47)
        at
wicket.protocol.http.FilePageStore$PageSavingThread.run(FilePageStore.java:599)
        at java.lang.Thread.run(Thread.java:595)
Caused by: java.lang.reflect.InvocationTargetException
        at sun.reflect.GeneratedMethodAccessor62.invoke(Unknown Source)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at
wicket.util.io.ClassStreamHandler.invokeWriteMethod(ClassStreamHandler.java:409)
        ... 15 more
Caused by: java.lang.RuntimeException:
java.lang.reflect.InvocationTargetException
        at
wicket.util.io.ClassStreamHandler.invokeWriteMethod(ClassStreamHandler.java:421)
        at
wicket.util.io.WicketObjectOutputStream.writeObjectOverride(WicketObjectOutputStream.java:134)
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:298)
        at
wicket.util.io.ClassStreamHandler$ObjectFieldAndIndex.writeField(ClassStreamHandler.java:764)
        at
wicket.util.io.ClassStreamHandler.writeFields(ClassStreamHandler.java:340)
        at
wicket.util.io.WicketObjectOutputStream.writeObjectOverride(WicketObjectOutputStream.java:136)
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:298)
        at
wicket.util.io.ClassStreamHandler$ObjectFieldAndIndex.writeField(ClassStreamHandler.java:764)
        at
wicket.util.io.ClassStreamHandler.writeFields(ClassStreamHandler.java:340)
        at
wicket.util.io.WicketObjectOutputStream.writeObjectOverride(WicketObjectOutputStream.java:136)
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:298)
        at
wicket.util.io.ClassStreamHandler$ObjectFieldAndIndex.writeField(ClassStreamHandler.java:764)
        at
wicket.util.io.ClassStreamHandler.writeFields(ClassStreamHandler.java:340)
        at
wicket.util.io.WicketObjectOutputStream.writeObjectOverride(WicketObjectOutputStream.java:136)
        at
wicket.util.io.WicketObjectOutputStream.writeObjectOverride(WicketObjectOutputStream.java:113)
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:298)
        at
wicket.util.io.ClassStreamHandler$ObjectFieldAndIndex.writeField(ClassStreamHandler.java:764)
        at
wicket.util.io.ClassStreamHandler.writeFields(ClassStreamHandler.java:340)
        at
wicket.util.io.WicketObjectOutputStream.writeObjectOverride(WicketObjectOutputStream.java:136)
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:298)
        at
wicket.util.io.ClassStreamHandler$ObjectFieldAndIndex.writeField(ClassStreamHandler.java:764)
        at
wicket.util.io.ClassStreamHandler.writeFields(ClassStreamHandler.java:340)
        at
wicket.util.io.WicketObjectOutputStream.writeObjectOverride(WicketObjectOutputStream.java:136)
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:298)
        at
wicket.util.io.ClassStreamHandler$ObjectFieldAndIndex.writeField(ClassStreamHandler.java:764)
        at
wicket.util.io.ClassStreamHandler.writeFields(ClassStreamHandler.java:340)
        at
wicket.util.io.WicketObjectOutputStream.writeObjectOverride(WicketObjectOutputStream.java:136)
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:298)
        at java.util.ArrayList.writeObject(ArrayList.java:569)
        ... 19 more
Caused by: java.lang.reflect.InvocationTargetException
        at sun.reflect.GeneratedMethodAccessor62.invoke(Unknown Source)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at
wicket.util.io.ClassStreamHandler.invokeWriteMethod(ClassStreamHandler.java:409)
        ... 47 more
Caused by: java.lang.RuntimeException:
java.lang.reflect.InvocationTargetException
        at
wicket.util.io.ClassStreamHandler.invokeWriteMethod(ClassStreamHandler.java:421)
        at
wicket.util.io.WicketObjectOutputStream.writeObjectOverride(WicketObjectOutputStream.java:134)
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:298)
        at
wicket.util.io.ClassStreamHandler$ObjectFieldAndIndex.writeField(ClassStreamHandler.java:764)
        at
wicket.util.io.ClassStreamHandler.writeFields(ClassStreamHandler.java:340)
        at
wicket.util.io.WicketObjectOutputStream.writeObjectOverride(WicketObjectOutputStream.java:136)
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:298)
        at
wicket.util.io.ClassStreamHandler$ObjectFieldAndIndex.writeField(ClassStreamHandler.java:764)
        at
wicket.util.io.ClassStreamHandler.writeFields(ClassStreamHandler.java:340)
        at
wicket.util.io.WicketObjectOutputStream.writeObjectOverride(WicketObjectOutputStream.java:136)
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:298)
        at
wicket.util.io.ClassStreamHandler$ObjectFieldAndIndex.writeField(ClassStreamHandler.java:764)
        at
wicket.util.io.ClassStreamHandler.writeFields(ClassStreamHandler.java:340)
        at
wicket.util.io.WicketObjectOutputStream.writeObjectOverride(WicketObjectOutputStream.java:136)
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:298)
        at
wicket.util.io.ClassStreamHandler$ObjectFieldAndIndex.writeField(ClassStreamHandler.java:764)
        at
wicket.util.io.ClassStreamHandler.writeFields(ClassStreamHandler.java:340)
        at
wicket.util.io.WicketObjectOutputStream.writeObjectOverride(WicketObjectOutputStream.java:136)
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:298)
        at
wicket.util.io.ClassStreamHandler$ObjectFieldAndIndex.writeField(ClassStreamHandler.java:764)
        at
wicket.util.io.ClassStreamHandler.writeFields(ClassStreamHandler.java:340)
        at
wicket.util.io.WicketObjectOutputStream.writeObjectOverride(WicketObjectOutputStream.java:136)
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:298)
        at
wicket.util.io.ClassStreamHandler$ObjectFieldAndIndex.writeField(ClassStreamHandler.java:764)
        at
wicket.util.io.ClassStreamHandler.writeFields(ClassStreamHandler.java:340)
        at
wicket.util.io.WicketObjectOutputStream.writeObjectOverride(WicketObjectOutputStream.java:136)
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:298)
        at
wicket.util.io.ClassStreamHandler$ObjectFieldAndIndex.writeField(ClassStreamHandler.java:764)
        at
wicket.util.io.ClassStreamHandler.writeFields(ClassStreamHandler.java:340)
        at
wicket.util.io.WicketObjectOutputStream.writeObjectOverride(WicketObjectOutputStream.java:136)
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:298)
        at
wicket.util.io.ClassStreamHandler$ObjectFieldAndIndex.writeField(ClassStreamHandler.java:764)
        at
wicket.util.io.ClassStreamHandler.writeFields(ClassStreamHandler.java:340)
        at
wicket.util.io.WicketObjectOutputStream.writeObjectOverride(WicketObjectOutputStream.java:136)
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:298)
        at java.util.ArrayList.writeObject(ArrayList.java:569)
        ... 51 more
Caused by: java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at
wicket.util.io.ClassStreamHandler.invokeWriteMethod(ClassStreamHandler.java:409)
        ... 86 more
Caused by: java.lang.NullPointerException
        at
wicket.util.io.ClassStreamHandler.fillFields(ClassStreamHandler.java:270)
        at
wicket.util.io.ClassStreamHandler.fillFields(ClassStreamHandler.java:323)
        at wicket.util.io.ClassStreamHandler.<init>(ClassStreamHandler.java:232)
        at wicket.util.io.ClassStreamHandler.lookup(ClassStreamHandler.java:114)
        at
wicket.util.io.WicketObjectOutputStream.writeObjectOverride(WicketObjectOutputStream.java:98)
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:298)
        at org.hibernate.engine.EntityEntry.serialize(EntityEntry.java:279)
        at
org.hibernate.engine.StatefulPersistenceContext.serialize(StatefulPersistenceContext.java:1186)
        at org.hibernate.impl.SessionImpl.writeObject(SessionImpl.java:1951)
        ... 91 more

Notice that it is attempting serialization on a Hibernate session and
appears to have a problem doing it.  Well, this on its own has not shown any
obvious problems loading the page (I'm still doing basic page construction
at this point and haven't really attempt to much other than some simple AJAX
with the page).  However, I had been noticing a problem with my ModelWindow
instances not loading their Page.  It had been driving me nuts and I think I
finally found where the problem is and it is related to the custom
serialization not finishing properly.

In FilePageStore, line 262, it does a test to see if (currentKey.data ==
SERIALIZING), in my case, this is true and it is getting stuck on the
currentKey.wait() (line 268).  I think that when serialization fails, it is
not reseting currentKey.data and now I'm stuck in this looping waiting for a
process to finish that can never finish.  It's a serious pain is the ass
because when it hits this loop, Tomcat (Wicket) stops serving pages.  I
don't know if that is a normal symptom or a side-effect of finding this
issue using the ModalWindow.

What else can I tell you about this to help you find the problem?

Chuck
-- 
View this message in context: 
http://www.nabble.com/custom-serialization-problem-tf3229766.html#a8973858
Sent from the Wicket - User mailing list archive at Nabble.com.


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user

Reply via email to