[ 
https://issues.apache.org/jira/browse/ARIES-690?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13055529#comment-13055529
 ] 

Kevan Miller commented on ARIES-690:
------------------------------------

General note -- most projects expect patches to be generated relative to trunk. 
I couldn't get your patch to apply, even after cd'ing to proxy. Not sure how 
you generated...

Anyway, I did hack your changes in. And tests look good from my side. I'd say 
you should commit your change.

Looks like at least some of the proxy files are showing up with MS-DOS 
end-of-line characters. The property svn:eol-style controls this behavior. Most 
of the other aries files are set to native. You should set up your svn client 
(e.g. ~/.subversion/config) to configure default properties (e.g. auto-props 
svn:mime-type, svn:eol-style, svn:keywords, etc).  

> ClassCircularityError caused by proxy weaving
> ---------------------------------------------
>
>                 Key: ARIES-690
>                 URL: https://issues.apache.org/jira/browse/ARIES-690
>             Project: Aries
>          Issue Type: Bug
>    Affects Versions: 0.4
>            Reporter: Kevan Miller
>            Assignee: Timothy Ward
>             Fix For: 0.4
>
>         Attachments: patch.txt
>
>
> I've run into a ClassCircularityError that's apparently caused by proxy 
> weaving code. I captured the stack trace via debugger:
> {quote}
> ejbd 1@1196 daemon, prio=5, in group 'main', status: 'RUNNING'
>         at 
> java.lang.ClassCircularityError.<init>(ClassCircularityError.java:32)
>         at java.lang.Class.getDeclaringClass(Class.java:-1)
>         at java.lang.Class.getEnclosingClass(Class.java:1085)
>         at 
> org.apache.aries.proxy.impl.common.AbstractWovenProxyAdapter.readClass(AbstractWovenProxyAdapter.java:618)
>         at 
> org.apache.aries.proxy.impl.weaving.WovenProxyAdapter.visitEnd(WovenProxyAdapter.java:75)
>         at org.objectweb.asm.ClassAdapter.visitEnd(Unknown Source:-1)
>         at org.objectweb.asm.commons.SerialVersionUIDAdder.visitEnd(Unknown 
> Source:-1)
>         at 
> org.apache.aries.proxy.impl.weaving.SyntheticSerialVerUIDAdder.visitEnd(SyntheticSerialVerUIDAdder.java:35)
>         at org.objectweb.asm.ClassReader.accept(Unknown Source:-1)
>         at org.objectweb.asm.ClassReader.accept(Unknown Source:-1)
>         at 
> org.apache.aries.proxy.impl.weaving.WovenProxyGenerator.getWovenProxy(WovenProxyGenerator.java:52)
>         at 
> org.apache.aries.proxy.impl.weaving.ProxyWeavingHook.weave(ProxyWeavingHook.java:63)
>         at 
> org.eclipse.osgi.internal.baseadaptor.weaving.WovenClassImpl.call(WovenClassImpl.java:129)
>         at 
> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.notifyHookPrivileged(ServiceRegistry.java:1239)
>         at 
> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.notifyHooksPrivileged(ServiceRegistry.java:1222)
>         at 
> org.eclipse.osgi.internal.baseadaptor.weaving.WovenClassImpl.callHooks(WovenClassImpl.java:154)
>         at 
> org.eclipse.osgi.internal.baseadaptor.weaving.WeavingHookConfigurator.processClass(WeavingHookConfigurator.java:68)
>         at 
> org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineClass(ClasspathManager.java:596)
>         at 
> org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findClassImpl(ClasspathManager.java:567)
>         at 
> org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClassImpl(ClasspathManager.java:490)
>         at 
> org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass_LockClassLoader(ClasspathManager.java:478)
>         at 
> org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:458)
>         at 
> org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:216)
>         at 
> org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:400)
>         at 
> org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:476)
>         at 
> org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:429)
>         at 
> org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:417)
>         at 
> org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
>         at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
>         at 
> org.apache.openjpa.util.Serialization.deserialize(Serialization.java:86)
>         at 
> org.apache.openjpa.jdbc.sql.DBDictionary.getBlobObject(DBDictionary.java:623)
>         at 
> org.apache.openjpa.jdbc.sql.ResultSetResult.getObjectInternal(ResultSetResult.java:402)
>         at 
> org.apache.openjpa.jdbc.sql.AbstractResult.getObject(AbstractResult.java:696)
>         at 
> org.apache.openjpa.jdbc.meta.strats.HandlerStrategies.loadDataStore(HandlerStrategies.java:222)
>         at 
> org.apache.openjpa.jdbc.meta.strats.HandlerFieldStrategy.load(HandlerFieldStrategy.java:187)
>         at 
> org.apache.openjpa.jdbc.meta.FieldMapping.load(FieldMapping.java:928)
>         at 
> org.apache.openjpa.jdbc.kernel.JDBCStoreManager.load(JDBCStoreManager.java:1123)
>         at 
> org.apache.openjpa.jdbc.kernel.JDBCStoreManager.load(JDBCStoreManager.java:1067)
>         at 
> org.apache.openjpa.jdbc.kernel.JDBCStoreManager.initializeState(JDBCStoreManager.java:438)
>         at 
> org.apache.openjpa.jdbc.kernel.JDBCStoreManager.initialize(JDBCStoreManager.java:333)
>         at 
> org.apache.openjpa.kernel.DelegatingStoreManager.initialize(DelegatingStoreManager.java:112)
>         at 
> org.apache.openjpa.kernel.ROPStoreManager.initialize(ROPStoreManager.java:57)
>         at 
> org.apache.openjpa.kernel.BrokerImpl.initialize(BrokerImpl.java:1022)
>         at org.apache.openjpa.kernel.BrokerImpl.find(BrokerImpl.java:980)
>         at org.apache.openjpa.kernel.BrokerImpl.find(BrokerImpl.java:902)
>         at 
> org.apache.openjpa.jdbc.kernel.JDBCStoreManager.load(JDBCStoreManager.java:1041)
>         at 
> org.apache.openjpa.jdbc.sql.AbstractResult.load(AbstractResult.java:280)
>         at 
> org.apache.openjpa.jdbc.sql.SelectImpl$SelectResult.load(SelectImpl.java:2381)
>         at 
> org.apache.openjpa.jdbc.sql.AbstractResult.load(AbstractResult.java:274)
>         at 
> org.apache.openjpa.jdbc.kernel.InstanceResultObjectProvider.getResultObject(InstanceResultObjectProvider.java:59)
>         at 
> org.apache.openjpa.lib.rop.EagerResultList.<init>(EagerResultList.java:36)
>         at org.apache.openjpa.kernel.QueryImpl.toResult(QueryImpl.java:1251)
>         at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:1007)
>         at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:863)
>         at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:794)
>         at 
> org.apache.openjpa.kernel.DelegatingQuery.execute(DelegatingQuery.java:542)
>         at 
> org.apache.openjpa.persistence.QueryImpl.execute(QueryImpl.java:305)
>         at 
> org.apache.openjpa.persistence.QueryImpl.getResultList(QueryImpl.java:319)
>         at 
> org.apache.openejb.core.cmp.jpa.JpaCmpEngine.executeSelectQuery(JpaCmpEngine.java:277)
>         at 
> org.apache.openejb.core.cmp.jpa.JpaCmpEngine.queryBeans(JpaCmpEngine.java:231)
>         at 
> org.apache.openejb.core.cmp.CmpContainer.findEJBObject(CmpContainer.java:669)
>         at 
> org.apache.openejb.core.cmp.CmpContainer.invoke(CmpContainer.java:261)
>         at 
> org.apache.openejb.core.cmp.CmpContainer.invoke(CmpContainer.java:230)
>         at 
> org.apache.openejb.server.ejbd.EjbRequestHandler.doEjbHome_FIND(EjbRequestHandler.java:327)
>         at 
> org.apache.openejb.server.ejbd.EjbRequestHandler.processRequest(EjbRequestHandler.java:152)
>         at 
> org.apache.openejb.server.ejbd.EjbDaemon.processEjbRequest(EjbDaemon.java:196)
>         at 
> org.apache.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java:149)
>         at org.apache.openejb.server.ejbd.EjbServer.service(EjbServer.java:71)
>         at 
> org.apache.openejb.server.ejbd.KeepAliveServer$Session.service(KeepAliveServer.java:213)
>         at 
> org.apache.openejb.server.ejbd.KeepAliveServer.service(KeepAliveServer.java:233)
>         at org.apache.openejb.server.ejbd.EjbServer.service(EjbServer.java:66)
>         at org.apache.openejb.server.ServicePool$2.run(ServicePool.java:91)
>         at org.apache.openejb.server.ServicePool$3.run(ServicePool.java:120)
>         at 
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>         at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>         at java.lang.Thread.run(Thread.java:680)
> {quote}
> If I exclude 'org.apache.openjpa' from weaving (by adding a check in 
> ProxyWeavingHook), everything works fine... 
> I may commit this as a temporary work-around -- to help Geronimo testing. 
> However, this seems like a general proxy issue. So, I think we'll need to 
> understand the underlying issue...

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to