git.net

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[jira] [Commented] (ARIES-1803) Upgrade proxy to ASM 6.1.1


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

Andy Guibert commented on ARIES-1803:
-------------------------------------

I attempted to upgrade WebSphere Liberty from ASM 6.0 to 6.1.1 and hit this error:

 

org.osgi.service.blueprint.container.ComponentDefinitionException: Error setting property: PropertyDescriptor <name: managedObjectManager, getter: class org.apache.aries.blueprint.compendium.cm.CmProperties.getManagedObjectManager(), setter: [class org.apache.aries.blueprint.compendium.cm.CmProperties.setManagedObjectManager(class org.apache.aries.blueprint.compendium.cm.ManagedObjectManager)]
 at org.apache.aries.blueprint.container.BeanRecipe.setProperty(BeanRecipe.java:963)
 at org.apache.aries.blueprint.container.BeanRecipe.setProperties(BeanRecipe.java:929)
 at org.apache.aries.blueprint.container.BeanRecipe.setProperties(BeanRecipe.java:910)
 at org.apache.aries.blueprint.container.BeanRecipe.internalCreate2(BeanRecipe.java:844)
 at org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:811)
 at org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.java:79)
 at java.util.concurrent.FutureTask.run(FutureTask.java:277)
 at org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:88)
 at org.apache.aries.blueprint.di.RefRecipe.internalCreate(RefRecipe.java:62)
 at org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:106)
 at org.apache.aries.blueprint.container.BeanRecipe.instantiateExplicitDependencies(BeanRecipe.java:242)
 at org.apache.aries.blueprint.container.BeanRecipe.internalCreate2(BeanRecipe.java:828)
 at org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:811)
 at org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.java:79)
 at java.util.concurrent.FutureTask.run(FutureTask.java:277)
 at org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:88)
 at org.apache.aries.blueprint.di.RefRecipe.internalCreate(RefRecipe.java:62)
 at org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:106)
 at org.apache.aries.blueprint.container.BeanRecipe.setProperty(BeanRecipe.java:955)
 at org.apache.aries.blueprint.container.BeanRecipe.setProperties(BeanRecipe.java:929)
 at org.apache.aries.blueprint.container.BeanRecipe.setProperties(BeanRecipe.java:910)
 at org.apache.aries.blueprint.container.BeanRecipe.internalCreate2(BeanRecipe.java:844)
 at org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:811)
 at org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.java:79)
 at java.util.concurrent.FutureTask.run(FutureTask.java:277)
 at org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:88)
 at org.apache.aries.blueprint.di.RefRecipe.internalCreate(RefRecipe.java:62)
 at org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:106)
 at org.apache.aries.blueprint.container.BeanRecipe.setProperty(BeanRecipe.java:955)
 at org.apache.aries.blueprint.container.BeanRecipe.setProperties(BeanRecipe.java:929)
 at org.apache.aries.blueprint.container.BeanRecipe.setProperties(BeanRecipe.java:910)
 at org.apache.aries.blueprint.container.BeanRecipe.internalCreate2(BeanRecipe.java:844)
 at org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:811)
 at org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.java:79)
 at java.util.concurrent.FutureTask.run(FutureTask.java:277)
 at org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:88)
 at org.apache.aries.blueprint.container.BlueprintRepository.createInstances(BlueprintRepository.java:253)
 at org.apache.aries.blueprint.container.BlueprintRepository.createAll(BlueprintRepository.java:186)
 at org.apache.aries.blueprint.container.BlueprintContainerImpl.instantiateEagerComponents(BlueprintContainerImpl.java:724)
 at org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:411)
 at org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:276)
 at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:522)
 at java.util.concurrent.FutureTask.run(FutureTask.java:277)
 at org.apache.aries.blueprint.container.ExecutorServiceWrapper.run(ExecutorServiceWrapper.java:106)
 at org.apache.aries.blueprint.utils.threading.impl.DiscardableRunnable.run(DiscardableRunnable.java:48)
 at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:522)
 at java.util.concurrent.FutureTask.run(FutureTask.java:277)
 at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:191)
 at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1153)
 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
 at java.lang.Thread.run(Thread.java:785)
Caused by: java.lang.IllegalArgumentException
 at org.objectweb.asm.commons.GeneratorAdapter.cast(GeneratorAdapter.java:781)
 at org.apache.aries.proxy.impl.gen.ProxySubclassAdapter.processMethod(ProxySubclassAdapter.java:608)
 at org.apache.aries.proxy.impl.gen.ProxySubclassAdapter.visitMethod(ProxySubclassAdapter.java:413)
 at org.apache.aries.proxy.impl.gen.ProxySubclassHierarchyAdapter.visitMethod(ProxySubclassHierarchyAdapter.java:74)
 at org.objectweb.asm.ClassReader.readMethod(ClassReader.java:1062)
 at org.objectweb.asm.ClassReader.accept(ClassReader.java:631)
 at org.objectweb.asm.ClassReader.accept(ClassReader.java:355)
 at org.apache.aries.proxy.impl.gen.ProxySubclassAdapter.visit(ProxySubclassAdapter.java:289)
 at org.objectweb.asm.ClassReader.accept(ClassReader.java:492)
 at org.objectweb.asm.ClassReader.accept(ClassReader.java:355)
 at org.apache.aries.proxy.impl.gen.ProxySubclassGenerator.processClass(ProxySubclassGenerator.java:256)
 at org.apache.aries.proxy.impl.gen.ProxySubclassGenerator.generateAndLoadSubclass(ProxySubclassGenerator.java:235)
 at org.apache.aries.proxy.impl.gen.ProxySubclassGenerator.getProxySubclass(ProxySubclassGenerator.java:130)
 at org.apache.aries.proxy.impl.gen.ProxySubclassGenerator.newProxySubclassInstance(ProxySubclassGenerator.java:171)
 at org.apache.aries.proxy.impl.AsmProxyManager.createNewProxy(AsmProxyManager.java:140)
 at org.apache.aries.proxy.impl.AbstractProxyManager.createDelegatingInterceptingProxy(AbstractProxyManager.java:77)
 at org.apache.aries.proxy.impl.AbstractProxyManager.createInterceptingProxy(AbstractProxyManager.java:55)
 at org.apache.aries.blueprint.container.BeanRecipe.addInterceptors(BeanRecipe.java:791)
 at org.apache.aries.blueprint.container.BeanRecipe.wrap(BeanRecipe.java:867)
 at org.apache.aries.blueprint.container.AggregateConverter.convert(AggregateConverter.java:152)
 at org.apache.aries.blueprint.container.BlueprintRepository.convert(BlueprintRepository.java:411)
 at org.apache.aries.blueprint.utils.ReflectionUtils$PropertyDescriptor.convert(ReflectionUtils.java:396)
 at org.apache.aries.blueprint.utils.ReflectionUtils$MethodPropertyDescriptor.internalSet(ReflectionUtils.java:630)
 at org.apache.aries.blueprint.utils.ReflectionUtils$PropertyDescriptor.set(ReflectionUtils.java:380)
 at org.apache.aries.blueprint.container.BeanRecipe.setProperty(BeanRecipe.java:961

... 51 more

 

This issue appears to be caused by this change made in ASM:

[https://gitlab.ow2.org/asm/asm/blob/master/asm-commons/src/main/java/org/objectweb/asm/commons/GeneratorAdapter.java#L784]

before the method `public void cast(final Type from, final Type to)` was falling through, and in ASM 6.1.1 they prevented the fallthrough by throwing the IllegalArgumentException.

> Upgrade proxy to ASM 6.1.1
> --------------------------
>
>                 Key: ARIES-1803
>                 URL: https://issues.apache.org/jira/browse/ARIES-1803
>             Project: Aries
>          Issue Type: Dependency upgrade
>          Components: Proxy
>            Reporter: Jean-Baptiste Onofré
>            Assignee: Jean-Baptiste Onofré
>            Priority: Major
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)