I really see no way at the moment to do this with Sun JDK.  It is a long
standing issue that there is no variable debug symbol info in the JRE,
and debugging object streams is very difficult.

Pete - if you really have the debug symbols, you may need to take a look
at this.

Am Mittwoch, den 26.05.2010, 15:37 +0100 schrieb Pete Muir:
> 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

Reply via email to