[weld-dev] Tests failures

Pete Muir pmuir at redhat.com
Wed May 26 13:57:58 EDT 2010


Ok, will do.

Can you file a JIRA issue for now, and exclude the test?

On 26 May 2010, at 18:30, David Allen wrote:

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




More information about the weld-dev mailing list