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
>> >> >
>> >>
>> weld-dev(a)lists.jboss.org
>>
>> >>
>> >> >
>> >>
>>
https://lists.jboss.org/mailman/listinfo/weld-dev
>>
>> >>
>> >>
>> >>
>> >
>> > _______________________________________________
>> > weld-dev mailing list
>> >
>> weld-dev(a)lists.jboss.org
>>
>> >
>>
https://lists.jboss.org/mailman/listinfo/weld-dev
>>
>>
>>
>
> _______________________________________________
> weld-dev mailing list
> weld-dev(a)lists.jboss.org
>
https://lists.jboss.org/mailman/listinfo/weld-dev