The only way I know to do it is to do it manually by breaking on the exception and working back up through the serialization calls and construct it on a piece of paper.
I guess the Mac has debug symbols inside the JDK as I can break / debug them fine. On 26 May 2010, at 15:21, David Allen wrote: > At the moment, I am not sure how to go about tracing through the call > graph. I think it would require a JDK with a debug version of the rt in > oder to evaluate the symbols. > > I also have very limited time this week, so I cannot do this very fast. > > Am Mittwoch, den 26.05.2010, 12:27 +0100 schrieb Pete Muir: >> Sorry, call stack was the wrong word - I mean the stack of objects that are >> being serialized - i.e. what is the path through the object graph to >> deserialization failure. >> >> On 26 May 2010, at 12:24, David Allen wrote: >> >>> Do you mean where in the test we deserialize the EJB? I didn't think it >>> was very interesting since it is rather clear from the test where the >>> serialization and deserialization occur. Below is the stack trace for the >>> actual deserialization which occurs immediately after the serialization >>> with the same initial call stack: >>> >>> FAILED: testSerializeSFSB >>> org.jboss.weld.exceptions.WeldException: WELD-001500 Failed to deserialize >>> proxy object >>> at >>> org.jboss.weld.bean.proxy.util.SerializableProxy.readObject(SerializableProxy.java:124) >>> at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974) >>> at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1849) >>> at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753) >>> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329) >>> at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351) >>> at >>> org.jboss.jsr299.tck.AbstractJSR299Test.deserialize(AbstractJSR299Test.java:63) >>> at >>> org.jboss.jsr299.tck.tests.implementation.enterprise.lifecycle.EnterpriseBeanLifecycleTest.testSerializeSFSB(EnterpriseBeanLifecycleTest.java:102) >>> at org.jboss.testharness.AbstractTest.run(AbstractTest.java:244) >>> at org.jboss.testharness.impl.runner.TestRunner.run(TestRunner.java:61) >>> at >>> org.jboss.testharness.impl.runner.servlet.ServletTestRunner.doGet(ServletTestRunner.java:120) >>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:734) >>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) >>> at >>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:336) >>> at >>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242) >>> at >>> org.jboss.weld.servlet.ConversationPropagationFilter.doFilter(ConversationPropagationFilter.java:68) >>> at >>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:274) >>> at >>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242) >>> at >>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:293) >>> at >>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) >>> at >>> org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:183) >>> at >>> org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:95) >>> at >>> org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126) >>> at >>> org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70) >>> at >>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) >>> at >>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) >>> at >>> org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158) >>> at >>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) >>> at >>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368) >>> at >>> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:872) >>> at >>> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:653) >>> at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:951) >>> at java.lang.Thread.run(Thread.java:619) >>> at >>> org.jboss.weld.bean.proxy.util.SerializableProxy.readObject(SerializableProxy.java:120) >>> ... 62 more >>> >>> Am Mittwoch, den 26.05.2010, 12:14 +0100 schrieb Pete Muir: >>>> Have you worked out what the call stack to the serialization is? >>>> On 26 May 2010, at 12:09, David Allen wrote: >>>> >>>>> The stack trace for the test that is failing is below. If anyone has any >>>>> ideas on why this happens, it would be greatly appreciated. My guess is >>>>> that during deserialization of the EnterpriseBeanProxyMethodHandler, the >>>>> SessionObjectReference from the SPI cannot be deserialized. I am not >>>>> even sure how valid it is in the first place for an app to serialize that >>>>> and later deserialize it. >>>>> >>>>> Is it designed for this purpose? Is it going to work across servers in a >>>>> cluster environment? >>>>> >>>>> Caused by: java.lang.ClassNotFoundException: >>>>> org.jboss.reloaded.naming.deployers.mc.MCJavaEEModule >>>>> at java.net.URLClassLoader$1.run(URLClassLoader.java:202) >>>>> at java.security.AccessController.doPrivileged(Native Method) >>>>> at java.net.URLClassLoader.findClass(URLClassLoader.java:190) >>>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:307) >>>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:248) >>>>> at java.lang.Class.forName0(Native Method) >>>>> at java.lang.Class.forName(Class.java:247) >>>>> at java.io.ObjectInputStream.resolveClass(ObjectInputStream.java:604) >>>>> at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1575) >>>>> at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496) >>>>> at java.io.ObjectInputStream.readClass(ObjectInputStream.java:1462) >>>>> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1312) >>>>> at >>>>> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947) >>>>> at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871) >>>>> at >>>>> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753) >>>>> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329) >>>>> at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351) >>>>> at >>>>> org.jboss.util.collection.ConcurrentSkipListMap.readObject(ConcurrentSkipListMap.java:1771) >>>>> at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974) >>>>> at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1849) >>>>> at >>>>> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753) >>>>> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329) >>>>> at >>>>> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947) >>>>> at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871) >>>>> at >>>>> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753) >>>>> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329) >>>>> at >>>>> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947) >>>>> at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871) >>>>> at >>>>> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753) >>>>> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329) >>>>> at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351) >>>>> at >>>>> java.util.concurrent.CopyOnWriteArrayList.readObject(CopyOnWriteArrayList.java:845) >>>>> at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974) >>>>> at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1849) >>>>> at >>>>> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753) >>>>> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329) >>>>> at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351) >>>>> at >>>>> org.jboss.deployers.structure.spi.helpers.AbstractDeploymentContext.readExternal(AbstractDeploymentContext.java:1157) >>>>> at >>>>> org.jboss.deployers.vfs.plugins.structure.AbstractVFSDeploymentContext.readExternal(AbstractVFSDeploymentContext.java:558) >>>>> at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1792) >>>>> at >>>>> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1751) >>>>> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329) >>>>> at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351) >>>>> at java.util.TreeMap.buildFromSorted(TreeMap.java:2380) >>>>> at java.util.TreeMap.buildFromSorted(TreeMap.java:2396) >>>>> at java.util.TreeMap.buildFromSorted(TreeMap.java:2322) >>>>> at java.util.TreeMap.readTreeSet(TreeMap.java:2274) >>>>> at java.util.TreeSet.readObject(TreeSet.java:518) >>>>> at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974) >>>>> at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1849) >>>>> at >>>>> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753) >>>>> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329) >>>>> at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351) >>>>> at >>>>> org.jboss.deployers.structure.spi.helpers.AbstractDeploymentContext.readExternal(AbstractDeploymentContext.java:1156) >>>>> at >>>>> org.jboss.deployers.vfs.plugins.structure.AbstractVFSDeploymentContext.readExternal(AbstractVFSDeploymentContext.java:558) >>>>> at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1792) >>>>> at >>>>> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1751) >>>>> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329) >>>>> at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351) >>>>> at >>>>> org.jboss.deployers.structure.spi.helpers.AbstractDeploymentContext.readExternal(AbstractDeploymentContext.java:1154) >>>>> at >>>>> org.jboss.deployers.vfs.plugins.structure.AbstractVFSDeploymentContext.readExternal(AbstractVFSDeploymentContext.java:558) >>>>> at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1792) >>>>> at >>>>> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1751) >>>>> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329) >>>>> at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351) >>>>> at >>>>> org.jboss.deployers.structure.spi.helpers.AbstractDeploymentUnit.readExternal(AbstractDeploymentUnit.java:514) >>>>> at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1792) >>>>> at >>>>> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1751) >>>>> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329) >>>>> at >>>>> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947) >>>>> at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871) >>>>> at >>>>> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753) >>>>> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329) >>>>> at >>>>> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947) >>>>> at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871) >>>>> at >>>>> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753) >>>>> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329) >>>>> at >>>>> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947) >>>>> at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871) >>>>> at >>>>> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753) >>>>> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329) >>>>> at >>>>> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947) >>>>> at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871) >>>>> at >>>>> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753) >>>>> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329) >>>>> at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351) >>>>> at >>>>> org.jboss.weld.lang.Object_$$_WeldProxy.deserializeProxy(Object_$$_WeldProxy.java) >>>>> ... 67 more >>>>> ... Removed 47 stack frames >>>>> >>>>> Am Mittwoch, den 26.05.2010, 12:05 +0200 schrieb David Allen: >>>>>> All the tests are now passing except for the following: >>>>>> >>>>>> testSerializeSFSB(org.jboss.jsr299.tck.tests.implementation.enterprise.lifecycle.EnterpriseBeanLifecycleTest) >>>>>> >>>>>> This requires more investigation since the test involves serializing EJB >>>>>> container objects not normally accessible from the app. >>>>>> >>>>>> - David >>>>>> >>>>>> Am Freitag, den 21.05.2010, 22:57 +0100 schrieb Pete Muir: >>>>>>> All >>>>>>> >>>>>>> I've worked through the incontainer test failures we were seeing with >>>>>>> Weld, and I am now down to these locally: >>>>>>> >>>>>>> >>>>>>> testSerializeSFSB(org.jboss.jsr299.tck.tests.implementation.enterprise.lifecycle.EnterpriseBeanLifecycleTest) >>>>>>> >>>>>>> testPassivationOfPersistenceContext(org.jboss.jsr299.tck.tests.implementation.simple.resource.persistenceContext.PersistenceContextInjectionTest) >>>>>>> >>>>>>> testPassivationOfPersistenceUnit(org.jboss.jsr299.tck.tests.implementation.simple.resource.persistenceContext.PersistenceContextInjectionTest) >>>>>>> >>>>>>> All of which are related to serialization of proxies. David is going to >>>>>>> take a look on Sunday at these. >>>>>>> >>>>>>> If you see other failures locally, please investigate or discuss :-) >>>>>>> >>>>>>> Pete >>>>>>> >>>>>>> >>>>>>> _______________________________________________ >>>>>>> weld-dev mailing list >>>>>>> >>>>>> >>>> [email protected] >>>> >>>>>> >>>>>>> >>>>>> >>>> https://lists.jboss.org/mailman/listinfo/weld-dev >>>> >>>>>> >>>>>> >>>>>> >>>>> >>>>> _______________________________________________ >>>>> weld-dev mailing list >>>>> >>>> [email protected] >>>> >>>>> >>>> https://lists.jboss.org/mailman/listinfo/weld-dev >>>> >>>> >>>> >>> >>> _______________________________________________ >>> weld-dev mailing list >>> [email protected] >>> https://lists.jboss.org/mailman/listinfo/weld-dev >> > > > _______________________________________________ > weld-dev mailing list > [email protected] > https://lists.jboss.org/mailman/listinfo/weld-dev _______________________________________________ weld-dev mailing list [email protected] https://lists.jboss.org/mailman/listinfo/weld-dev
