[ https://issues.apache.org/jira/browse/ARIES-2070?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jean-Baptiste Onofré updated ARIES-2070: ---------------------------------------- Fix Version/s: proxy-impl-1.1.13 (was: proxy-impl-1.1.12) > aries-proxy incompatible with asm 5 > ----------------------------------- > > Key: ARIES-2070 > URL: https://issues.apache.org/jira/browse/ARIES-2070 > Project: Aries > Issue Type: Bug > Components: Proxy > Affects Versions: proxy-impl-1.1.11 > Reporter: Holger > Assignee: Jean-Baptiste Onofré > Priority: Major > Fix For: proxy-impl-1.1.13 > > > Scenario: > Our Apache Karaf 4.3.3 based application provides two versions of asm: 5.2 > and 9.2.0 > When starting karaf, the following exception occurs: > {code:java} > 2022-03-24 15:38:28,216 | ERROR | tures-3-thread-1 | > o.a.a.b.c.BlueprintContainerImpl | 192 - org.apache.aries.blueprint | > 1.10.3 | Unable to start container for blueprint bundle > org.apache.karaf.shell.core/4.3.3 > org.osgi.service.blueprint.container.ComponentDefinitionException: > java.lang.NoClassDefFoundError: org/objectweb/asm/commons/AdviceAdapter > at > org.apache.aries.blueprint.container.ReferenceRecipe.internalCreate(ReferenceRecipe.java:141) > at > org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.java:81) > at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) > at > org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:90) > at > org.apache.aries.blueprint.container.BeanRecipe.setProperty(BeanRecipe.java:810) > at > org.apache.aries.blueprint.container.BeanRecipe.setProperties(BeanRecipe.java:784) > at > org.apache.aries.blueprint.container.BeanRecipe.setProperties(BeanRecipe.java:765) > at > org.apache.aries.blueprint.container.BeanRecipe.internalCreate2(BeanRecipe.java:699) > at > org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:666) > at > org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.java:81) > at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) > at > org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:90) > at > org.apache.aries.blueprint.container.BlueprintRepository.createInstances(BlueprintRepository.java:360) > at > org.apache.aries.blueprint.container.BlueprintRepository.createAll(BlueprintRepository.java:190) > at > org.apache.aries.blueprint.container.BlueprintContainerImpl.instantiateEagerComponents(BlueprintContainerImpl.java:737) > at > org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:433) > at > org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:298) > at > org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:335) > at > org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:288) > at > org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:284) > at > org.apache.aries.blueprint.container.BlueprintExtender.modifiedBundle(BlueprintExtender.java:274) > at > org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:500) > at > org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:433) > at > org.apache.aries.util.tracker.hook.BundleHookBundleTracker$AbstractTracked.track(BundleHookBundleTracker.java:725) > at > org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.bundleChanged(BundleHookBundleTracker.java:463) > at > org.apache.aries.util.tracker.hook.BundleHookBundleTracker$BundleEventHook.event(BundleHookBundleTracker.java:422) > at > org.apache.felix.framework.util.SecureAction.invokeBundleEventHook(SecureAction.java:1180) > at > org.apache.felix.framework.EventDispatcher.createWhitelistFromHooks(EventDispatcher.java:730) > at > org.apache.felix.framework.EventDispatcher.fireBundleEvent(EventDispatcher.java:485) > at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4817) > at org.apache.felix.framework.Felix.startBundle(Felix.java:2336) > at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:998) > at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:984) > at > org.apache.karaf.features.internal.service.BundleInstallSupportImpl.startBundle(BundleInstallSupportImpl.java:165) > at > org.apache.karaf.features.internal.service.FeaturesServiceImpl.startBundle(FeaturesServiceImpl.java:1160) > at > org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:1041) > at > org.apache.karaf.features.internal.service.FeaturesServiceImpl.doProvision(FeaturesServiceImpl.java:1069) > at > org.apache.karaf.features.internal.service.FeaturesServiceImpl.lambda$doProvisionInThread$13(FeaturesServiceImpl.java:1004) > at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) > at > java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) > at > java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) > at java.base/java.lang.Thread.run(Thread.java:829) > Caused by: java.lang.NoClassDefFoundError: > org/objectweb/asm/commons/AdviceAdapter > at java.base/java.lang.ClassLoader.defineClass1(Native Method) > at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1017) > at > org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.defineClass(BundleWiringImpl.java:2312) > at > org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.defineClassParallel(BundleWiringImpl.java:2130) > at > org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.findClass(BundleWiringImpl.java:2064) > at > org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1533) > at > org.apache.felix.framework.BundleWiringImpl.access$300(BundleWiringImpl.java:78) > at > org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1950) > at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522) > at > org.apache.aries.proxy.impl.interfaces.ProxyClassLoader.createProxyClass(ProxyClassLoader.java:153) > at > org.apache.aries.proxy.impl.interfaces.InterfaceProxyGenerator.getProxyInstance(InterfaceProxyGenerator.java:97) > at > org.apache.aries.proxy.impl.AsmProxyManager.createNewProxy(AsmProxyManager.java:80) > at > org.apache.aries.proxy.impl.AbstractProxyManager.createDelegatingInterceptingProxy(AbstractProxyManager.java:77) > at > org.apache.aries.proxy.impl.AbstractProxyManager.createDelegatingProxy(AbstractProxyManager.java:42) > at > org.apache.aries.blueprint.container.AbstractServiceReferenceRecipe.createProxy(AbstractServiceReferenceRecipe.java:332) > at > org.apache.aries.blueprint.container.ReferenceRecipe.internalCreate(ReferenceRecipe.java:125) > ... 41 common frames omitted > Caused by: java.lang.ClassNotFoundException: > org.objectweb.asm.commons.AdviceAdapter not found by org.apache.aries.proxy > [209] > at > org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1565) > at > org.apache.felix.framework.BundleWiringImpl.access$300(BundleWiringImpl.java:78) > at > org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1950) > at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522) > ... 57 common frames omitted{code} > The class org/objectweb/asm/commons/AdviceAdapter does exist in asm 9.2.0 but > not in 5.2. So we guess aries is using the old version. > When looking into the proxy's manifest, we see it accepts Version 5. > We changed it to 9 and the error disappeared. -- This message was sent by Atlassian Jira (v8.20.10#820010)