Return-Path: X-Original-To: apmail-aries-dev-archive@www.apache.org Delivered-To: apmail-aries-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 74B286A25 for ; Mon, 27 Jun 2011 01:20:10 +0000 (UTC) Received: (qmail 8569 invoked by uid 500); 27 Jun 2011 01:20:10 -0000 Delivered-To: apmail-aries-dev-archive@aries.apache.org Received: (qmail 8483 invoked by uid 500); 27 Jun 2011 01:20:09 -0000 Mailing-List: contact dev-help@aries.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@aries.apache.org Delivered-To: mailing list dev@aries.apache.org Received: (qmail 8471 invoked by uid 99); 27 Jun 2011 01:20:09 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 27 Jun 2011 01:20:09 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED,T_RP_MATCHES_RCVD X-Spam-Check-By: apache.org Received: from [140.211.11.116] (HELO hel.zones.apache.org) (140.211.11.116) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 27 Jun 2011 01:20:07 +0000 Received: from hel.zones.apache.org (hel.zones.apache.org [140.211.11.116]) by hel.zones.apache.org (Postfix) with ESMTP id 8240E432194 for ; Mon, 27 Jun 2011 01:19:47 +0000 (UTC) Date: Mon, 27 Jun 2011 01:19:47 +0000 (UTC) From: "Kevan Miller (JIRA)" To: dev@aries.apache.org Message-ID: <1334114803.42477.1309137587530.JavaMail.tomcat@hel.zones.apache.org> In-Reply-To: <991948819.42392.1309136387470.JavaMail.tomcat@hel.zones.apache.org> Subject: [jira] [Commented] (ARIES-690) ClassCircularityError caused by proxy weaving MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/ARIES-690?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13055273#comment-13055273 ] Kevan Miller commented on ARIES-690: ------------------------------------ BTW, underlying issue may be a JRE bug. Even so, will need to enable a work-around. Another instance where it is in our best interest to make ignored packages dynamically configurable. > 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 > Fix For: 0.4 > > > 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.(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.(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