Hi,

I've just had a look, it looks like it was added in 1.6.0_33 and 1.7.0_5.

Thanks

Tim Mitchell 
Software Engineer 
Websphere  Enterprise Foundation Technologies
MP211
IBM UK Labs, Hursley
tel. no: +44 (0)1962 818879
internal tel. no: 248879
email:  [email protected]



From:   Bengt Rodehav <[email protected]>
To:     [email protected]
Date:   09/10/2012 15:21
Subject:        Re: Aries Blueprint VerifyError
Sent by:        [email protected]



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
>
>


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

Reply via email to