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