OK - "glad" I'm not alone... /Bengt
2012/10/9 James Carman <[email protected]> > Yeah, v32 was the "last known good" for us, too. > > On Tue, Oct 9, 2012 at 6:33 AM, Bengt Rodehav <[email protected]> wrote: > > Thanks for your replyTim. > > > > By any chance do you know what JVM version broke the proxy code? I have > > 1.6.0_32 (64 bit) on my local computers - which works. While the failing > > computer has 1.6.0_33 (64 bit). Was it in fact introduced in 1.6.0_33? > > > > /Bengt > > > > > > 2012/10/9 Tim J Mitchell <[email protected]> > >> > >> Hi, > >> > >> There has recently been a JVM change which has broken the Blueprint > proxy > >> code. The problem is that the proxy code used to call the zero arg > >> constructor of the Object class when instantiating Blueprint Proxy > classes, > >> but a change in JVM behaviour meant calling anything other than the > >> constructor of the superclass, would cause a VerifyError to be thrown. > >> Services registered using interfaces will be OK, but if you were > registering > >> services using concrete classes that don't have a zero arg constructor, > you > >> would get the VerifyError. > >> Looking at your stacktrace, I think you're running a slightly older > >> version of the proxy code. In the last couple of weeks a fix was put in > to > >> restore the behaviour, so that services registered with concrete impl > >> classes would work again. > >> I have to admit your version of the VerifyError is slightly different to > >> the one we were originally seeing, but it might be worth taking the > latest > >> code and see if this does fix your problem. The changes were under Jira > >> Aries-908. > >> Thanks > >> > >> Tim Mitchell > >> > >> > >> > >> > >> From: Bengt Rodehav <[email protected]> > >> To: [email protected] > >> Date: 09/10/2012 10:39 > >> Subject: Aries Blueprint VerifyError > >> Sent by: [email protected] > >> ________________________________ > >> > >> > >> > >> I use Aries blueprint 0.3.2 running on Karaf 2.2.8. Normally this works > >> fine but one one of the installations I get this exception: > >> > >> 2012-10-09 11:21:32,353 | ERROR | rint Extender: 2 | > >> BlueprintContainerImpl | container.BlueprintContainerImpl > 364 | > >> Unable to start blueprint container for bundle > >> se.digia.connect-claes.lafa.lafa-service > >> org.osgi.service.blueprint.container.ComponentDefinitionException: > Unable > >> to instantiate components > >> at > >> > org.apache.aries.blueprint.container.BlueprintContainerImpl.instantiateEagerComponents(BlueprintContainerImpl.java:635)[9:org.apache.aries.blueprint:0.3.2] > >> at > >> > org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:337)[9:org.apache.aries.blueprint:0.3.2] > >> at > >> > org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:230)[9:org.apache.aries.blueprint:0.3.2] > >> at > >> > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)[:1.6.0_33] > >> at > >> > java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)[:1.6.0_33] > >> at java.util.concurrent.FutureTask.run(FutureTask.java:138)[:1.6.0_33] > >> at > >> > java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98)[:1.6.0_33] > >> at > >> > java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:206)[:1.6.0_33] > >> at > >> > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)[:1.6.0_33] > >> at > >> > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)[:1.6.0_33] > >> at java.lang.Thread.run(Thread.java:662)[:1.6.0_33] > >> Caused by: java.lang.VerifyError: (class: > >> se/digia/connect/claes/lafa/service/impl/$LafaService854899564, method: > >> <init> signature: (Ljava/lang/reflect/InvocationHandler;)V) Call to > wrong > >> initialization method > >> at java.lang.Class.getDeclaredConstructors0(Native Method)[:1.6.0_33] > >> at > >> > java.lang.Class.privateGetDeclaredConstructors(Class.java:2389)[:1.6.0_33] > >> at java.lang.Class.getConstructor0(Class.java:2699)[:1.6.0_33] > >> at java.lang.Class.getConstructor(Class.java:1657)[:1.6.0_33] > >> at > >> > org.apache.aries.proxy.impl.gen.ProxySubclassGenerator.newProxySubclassInstance(ProxySubclassGenerator.java:159) > >> at > >> > org.apache.aries.proxy.impl.AsmProxyManager.createNewProxy(AsmProxyManager.java:81) > >> at > >> > org.apache.aries.proxy.impl.AbstractProxyManager.createProxy(AbstractProxyManager.java:50) > >> at > >> > org.apache.aries.blueprint.container.BeanRecipe.addInterceptors(BeanRecipe.java:690)[9:org.apache.aries.blueprint:0.3.2] > >> at > >> > org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:730)[9:org.apache.aries.blueprint:0.3.2] > >> at > >> > org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:64)[9:org.apache.aries.blueprint:0.3.2] > >> at > >> > org.apache.aries.blueprint.container.BlueprintRepository.createInstances(BlueprintRepository.java:219)[9:org.apache.aries.blueprint:0.3.2] > >> at > >> > org.apache.aries.blueprint.container.BlueprintRepository.createAll(BlueprintRepository.java:147)[9:org.apache.aries.blueprint:0.3.2] > >> at > >> > org.apache.aries.blueprint.container.BlueprintContainerImpl.instantiateEagerComponents(BlueprintContainerImpl.java:631)[9:org.apache.aries.blueprint:0.3.2] > >> ... 10 more > >> > >> What does this mean? I use java 1.6.0_33 (64 bit). I have been able to > get > >> it working on both 32- and 64 bit before. Does anyone have a clue? > >> > >> /Bengt > >> > >> > >> Unless stated otherwise above: > >> IBM United Kingdom Limited - Registered in England and Wales with number > >> 741598. > >> Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 > 3AU > > > > >
