On Aug 22, 2010, at 4:29 PM, David Blevins wrote: > > On Aug 22, 2010, at 4:24 PM, Karan Malhi wrote: > >> On Sun, Aug 22, 2010 at 7:23 PM, David Blevins <[email protected]>wrote: >> >>> >>> On Aug 22, 2010, at 4:19 PM, Karan Malhi wrote: >>> >>>> I want to help running the tck with openejb. How should I proceed with >>> it, >>>> any help on this would be great. >>> >>> You mean like an OpenEJB tck setup? >>> >> >> Yes > > That could be cool if people are willing to work on it. Will file a jira w/ > Infra for a repo. >
https://issues.apache.org/jira/browse/INFRA-2946 Don't know if we need it, but asked for a list as well. -David >>> >>>> On Thu, Aug 5, 2010 at 7:44 PM, David Jencks <[email protected]> >>> wrote: >>>> >>>>> Hi Jon, >>>>> So far this change seems to be working fine. >>>>> >>>>> Looking forward to your eyes on the tck:-) >>>>> >>>>> thanks >>>>> david jencks >>>>> >>>>> On Aug 5, 2010, at 4:39 PM, Jonathan Gallimore wrote: >>>>> >>>>>> Hi David, >>>>>> >>>>>> I did suspect there would an issue with which classloader the proxy got >>>>>> attached to at some point when I wrote this :-). I think your change is >>>>>> fine, I can't see any problems with it. Does fix the TCK now? If not, >>> I'm >>>>>> happy to try and help out more. The necessary paperwork is in so I >>> should >>>>> be >>>>>> able to start having a go with the TCK. >>>>>> >>>>>> Jon >>>>>> >>>>>> On Thu, Aug 5, 2010 at 6:39 AM, David Jencks <[email protected]> >>>>> wrote: >>>>>> >>>>>>> It would be really really great to have more eyes on the tck. >>>>>>> >>>>>>> This particular problem seems to be due to an interaction between >>>>> geronimo >>>>>>> and openejb. In geronimo the classloader that the proxy is attached >>> to >>>>> is a >>>>>>> wrapper for the osgi bundle and doesn't actually load any classes >>>>> itself. >>>>>>> So once the proxy is attached to that classloader it becomes >>> completely >>>>>>> inaccessible. >>>>>>> >>>>>>> I'm changing the code involved to use the original proxied class's >>>>>>> classloader and protection domain. So far I don't see any problems in >>>>>>> geronimo or openejb. >>>>>>> >>>>>>> Class<?> cls = (Class<?>) unsafe.defineClass(proxyName, >>>>>>> proxyBytes, 0, proxyBytes.length, clsToProxy.getClassLoader(), >>>>>>> clsToProxy.getProtectionDomain()); >>>>>>> >>>>>>> I've opened https://issues.apache.org/jira/browse/OPENEJB-1321 to >>>>> provide >>>>>>> a hook for any problems this may cause. I'd really appreciate some >>>>> review >>>>>>> and informed criticism. >>>>>>> >>>>>>> many thanks >>>>>>> david jencks >>>>>>> >>>>>>> On Aug 4, 2010, at 12:22 PM, David Blevins wrote: >>>>>>> >>>>>>>> Thinking it might be good to get more of us setup in the TCK. >>>>> Currently, >>>>>>> Geronimo is the only one with a TCK setup, but it is better than >>>>> nothing. >>>>>>>> >>>>>>>> With all the EJB 3.1 work there of course comes a ton of TCK work >>>>> related >>>>>>> to getting that functionality to be spec compliant in the pass/fail >>>>> sense. >>>>>>> As Geronimo is the only one with a TCK setup it translates to Geronimo >>>>>>> getting stuck having to finish the EJB 3.1 development work. Seems to >>>>> make >>>>>>> the most sense to get the people doing EJB 3.1 feature involved in >>>>> ensuring >>>>>>> it passes the TCK. >>>>>>>> >>>>>>>> Any committer can request Java EE 6 TCK access via singing faxing or >>>>>>> emailing ([email protected]) this NDA: >>>>>>>> >>>>>>>> http://www.apache.org/jcp/ApacheNDA.pdf >>>>>>>> >>>>>>>> >>>>>>>> Anyway, here is the issue that prompted me to send this note. >>> Related >>>>> to >>>>>>> @LocalBean support. David J. poking at it currently, but any help is >>>>>>> welcome. There will definitely be many more like this. Having the >>> most >>>>>>> people with access to the TCK as possible is probably a very good >>> thing. >>>>>>>> >>>>>>>> >>>>>>>> Caused by: java.lang.LinkageError: loader (instance of >>>>>>> org/apache/xbean/osgi/bundle/util/BundleClassLoader): attempted >>>>> duplicate >>>>>>> class definition for name: "com/moon/sometest/SomeBean$LocalBeanProxy" >>>>>>>> at sun.misc.Unsafe.defineClass(Native Method) >>>>>>>> at >>>>>>> >>>>> >>> org.apache.openejb.util.proxy.LocalBeanProxyGeneratorImpl.createProxy(LocalBeanProxyGeneratorImpl.java:65) >>>>>>>> at >>>>>>> >>>>> >>> org.apache.openejb.util.proxy.LocalBeanProxyGeneratorImpl.createProxy(LocalBeanProxyGeneratorImpl.java:48) >>>>>>>> at >>>>>>> >>>>> >>> org.apache.openejb.util.proxy.LocalBeanProxyFactory.newProxyInstance(LocalBeanProxyFactory.java:27) >>>>>>>> at >>>>>>> >>>>> >>> org.apache.openejb.core.ivm.EjbHomeProxyHandler.createProxy(EjbHomeProxyHandler.java:139) >>>>>>>> at >>>>>>> >>>>> >>> org.apache.openejb.core.ivm.EjbHomeProxyHandler.create(EjbHomeProxyHandler.java:286) >>>>>>>> at >>>>>>> >>>>> >>> org.apache.openejb.core.ivm.EjbHomeProxyHandler._invoke(EjbHomeProxyHandler.java:169) >>>>>>>> at >>>>>>> >>>>> >>> org.apache.openejb.core.ivm.BaseEjbProxyHandler.invoke(BaseEjbProxyHandler.java:282) >>>>>>>> at $Proxy52.create(Unknown Source) >>>>>>>> at >>>>>>> >>>>> >>> org.apache.openejb.core.ivm.naming.BusinessLocalBeanReference.getObject(BusinessLocalBeanReference.java:34) >>>>>>>> at >>>>>>> >>>>> >>> org.apache.openejb.core.ivm.naming.Reference.getContent(Reference.java:40) >>>>>>>> at >>>>>>> >>> org.apache.xbean.naming.context.ContextUtil.resolve(ContextUtil.java:61) >>>>>>>> at >>>>>>> >>>>> >>> org.apache.xbean.naming.context.AbstractContext.lookup(AbstractContext.java:116) >>>>>>>> at >>>>>>> >>>>> >>> org.apache.xbean.naming.context.AbstractContext.lookup(AbstractContext.java:605) >>>>>>>> at >>>>>>> >>>>> >>> org.apache.geronimo.openejb.DeepBindableContext$ContextWrapper.lookup(DeepBindableContext.java:97) >>>>>>>> at >>>>>>> >>>>> >>> org.apache.openejb.core.ivm.naming.IntraVmJndiReference.getObject(IntraVmJndiReference.java:39) >>>>>>>> at >>>>>>> >>>>> >>> org.apache.openejb.core.ivm.naming.Reference.getContent(Reference.java:40) >>>>>>>> >>>>>>>> >>>>>>>> -David >>>>>>>> >>>>>>> >>>>>>> >>>>> >>>>> >>>> >>>> >>>> -- >>>> Karan Singh Malhi >>> >>> >> >> >> -- >> Karan Singh Malhi > >
