use the default serialization for now, if you know why it happens then please make a test case for this.
On 7/12/07, Russell Morrisey <[EMAIL PROTECTED]> wrote: > Hi, > > I'm using wicket 1.3.0 SNAPSHOT, and I'm encountering intermittent errors > in console on my pages. I can't seem to determine a reproducible test case > for this issue, so I'm not sure how to isolate the problem any further. > Please let me know if you have any suggestions on what to look for. > > In the initial setup of my application, I'm setting > Objects.setObjectStreamFactory(new > org.apache.wicket.util.io.WicketObjectStreamFactory()); > > When I hit the page I'm working on to debug some AJAX behavior on the > page, I sometimes get a serialization error in the log. It looks like it's > trying to serialize the Hibernate session on the page. The session is on > the page to enable extended Hibernate sessions. I tried switching to > JDK-based serialization (per the suggestion in the exception message), and > got a different error; I'll post that in a separate e-mail to cut down on > the length. > > Here's the log of the error with wicket serialization: > > 11:23:58,209 ERROR Objects:1113 - Error serializing object class > com.csc.aims.specchange.wicket.SpecChangePage [object=[Page class = > > com.csc.aims.specchange.wicket.SpecChangePage, id = 4, version = 0]] > org.apache.wicket.util.io.WicketSerializeableException: Error writing > fields for com.csc.aims.specchange.wicket.SpecChangePage > NOTE: if you feel Wicket is at fault with this exception, please report to > the mailing list. You can switch to JDK based serialization by > > calling: org.apache.wicket.util.lang.Objects.setObjectStreamFactory(new > IObjectStreamFactory.DefaultObjectStreamFactory()) e.g. in the init > > method of your application > at > org.apache.wicket.util.io.WicketObjectOutputStream.writeObjectOverride(WicketObjectOutputStream.java:806) > at > java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:298) > at > org.apache.wicket.util.lang.Objects.objectToByteArray(Objects.java:1103) > at > org.apache.wicket.protocol.http.FilePageStore.serializePage(FilePageStore.java:741) > at > org.apache.wicket.protocol.http.FilePageStore.access$800(FilePageStore.java:58) > at > org.apache.wicket.protocol.http.FilePageStore$PageSerializingThread.run(FilePageStore.java:261) > at java.lang.Thread.run(Thread.java:595) > Caused by: java.lang.RuntimeException: > java.lang.reflect.InvocationTargetException > at > org.apache.wicket.util.io.ClassStreamHandler.invokeWriteMethod(ClassStreamHandler.java:471) > at > org.apache.wicket.util.io.WicketObjectOutputStream.writeObjectOverride(WicketObjectOutputStream.java:777) > ... 6 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 > org.apache.wicket.util.io.ClassStreamHandler.invokeWriteMethod(ClassStreamHandler.java:459) > ... 7 more > Caused by: org.apache.wicket.util.io.WicketSerializeableException: Error > writing fields for org.hibernate.impl.SessionImpl > pageState->com.csc.aims.specchange.wicket.SpecChangePageState->conversationSession > NOTE: if you feel Wicket is at fault with this exception, please report to > the mailing list. You can switch to JDK based serialization by > > calling: org.apache.wicket.util.lang.Objects.setObjectStreamFactory(new > IObjectStreamFactory.DefaultObjectStreamFactory()) e.g. in the init > > method of your application > at > org.apache.wicket.util.io.WicketObjectOutputStream.writeObjectOverride(WicketObjectOutputStream.java:806) > at > java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:298) > at > org.apache.wicket.util.io.ClassStreamHandler$ObjectFieldAndIndex.writeField(ClassStreamHandler.java:863) > at > org.apache.wicket.util.io.ClassStreamHandler.writeFields(ClassStreamHandler.java:388) > at > org.apache.wicket.util.io.WicketObjectOutputStream.writeObjectOverride(WicketObjectOutputStream.java:779) > at > java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:298) > at > org.apache.wicket.util.io.ClassStreamHandler$ObjectFieldAndIndex.writeField(ClassStreamHandler.java:863) > at > org.apache.wicket.util.io.ClassStreamHandler.writeFields(ClassStreamHandler.java:388) > at > org.apache.wicket.util.io.WicketObjectOutputStream.defaultWriteObject(WicketObjectOutputStream.java:465) > at > org.apache.wicket.protocol.http.FilePageStore$PageSerializer.serializePage(FilePageStore.java:870) > at org.apache.wicket.Page.writeObject(Page.java:1293) > ... 12 more > Caused by: java.lang.RuntimeException: > java.lang.reflect.InvocationTargetException > at > org.apache.wicket.util.io.ClassStreamHandler.invokeWriteMethod(ClassStreamHandler.java:471) > at > org.apache.wicket.util.io.WicketObjectOutputStream.writeObjectOverride(WicketObjectOutputStream.java:777) > ... 22 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 > org.apache.wicket.util.io.ClassStreamHandler.invokeWriteMethod(ClassStreamHandler.java:459) > ... 23 more > Caused by: org.apache.wicket.util.io.WicketSerializeableException: No > Serializable constructor found for class > > org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer > com.csc.aims.specchange.common.Icr$$EnhancerByCGLIB$$d2406786->CGLIB$CALLBACK_0 > NOTE: if you feel Wicket is at fault with this exception, please report to > the mailing list. You can switch to JDK based serialization by > > calling: org.apache.wicket.util.lang.Objects.setObjectStreamFactory(new > IObjectStreamFactory.DefaultObjectStreamFactory()) e.g. in the init > > method of your application > at > org.apache.wicket.util.io.ClassStreamHandler.<init>(ClassStreamHandler.java:256) > at > org.apache.wicket.util.io.ClassStreamHandler.lookup(ClassStreamHandler.java:120) > at > org.apache.wicket.util.io.WicketObjectOutputStream.writeObjectOverride(WicketObjectOutputStream.java:752) > at > java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:298) > at > org.apache.wicket.util.io.ClassStreamHandler$ObjectFieldAndIndex.writeField(ClassStreamHandler.java:863) > at > org.apache.wicket.util.io.ClassStreamHandler.writeFields(ClassStreamHandler.java:388) > at > org.apache.wicket.util.io.WicketObjectOutputStream.writeObjectOverride(WicketObjectOutputStream.java:779) > at > java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:298) > at > org.hibernate.engine.StatefulPersistenceContext.serialize(StatefulPersistenceContext.java:1207) > at > org.hibernate.impl.SessionImpl.writeObject(SessionImpl.java:1951) > ... 28 more > > > Thanks, > Russell Morrisey > ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user