You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@aries.apache.org by Bengt Rodehav <be...@rodehav.com> on 2012/10/09 11:39:20 UTC

Aries Blueprint VerifyError

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

Re: Aries Blueprint VerifyError

Posted by Bengt Rodehav <be...@rodehav.com>.
Just tried updating my local java jdk to 1.6.0_35 (the latest). I then got
the same exception. So, the error was probably introduced in 1.6.0_33.

Thanks,

/Bengt

2012/10/9 Bengt Rodehav <be...@rodehav.com>

> 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 <ti...@uk.ibm.com>
>
>> 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 <be...@rodehav.com>
>> To:        user@aries.apache.org
>> Date:        09/10/2012 10:39
>> Subject:        Aries Blueprint VerifyError
>> Sent by:        bengt.rodehav@gmail.com
>> ------------------------------
>>
>>
>>
>> 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
>>
>
>

Re: Aries Blueprint VerifyError

Posted by Bengt Rodehav <be...@rodehav.com>.
I actually had a v32 laying around which I downgraded to as a short term
solution. Long term I will upgrade my Karaf version to get a new version of
aries proxy.

/Bengt

2012/10/9 James Carman <ja...@carmanconsulting.com>

> Nope, not alone.  It stinks because we had a hard time finding the
> older versions.  If you need a tar.gz file, let me know.  I can
> probably get one to you.
>
> On Tue, Oct 9, 2012 at 10:21 AM, Bengt Rodehav <be...@rodehav.com> wrote:
> > OK - "glad" I'm not alone...
> >
> > /Bengt
> >
> >
> > 2012/10/9 James Carman <ja...@carmanconsulting.com>
> >>
> >> Yeah, v32 was the "last known good" for us, too.
> >>
> >> On Tue, Oct 9, 2012 at 6:33 AM, Bengt Rodehav <be...@rodehav.com>
> 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 <ti...@uk.ibm.com>
> >> >>
> >> >> 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 <be...@rodehav.com>
> >> >> To:        user@aries.apache.org
> >> >> Date:        09/10/2012 10:39
> >> >> Subject:        Aries Blueprint VerifyError
> >> >> Sent by:        bengt.rodehav@gmail.com
> >> >> ________________________________
> >> >>
> >> >>
> >> >>
> >> >> 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
> >> >
> >> >
> >
> >
>

Re: Aries Blueprint VerifyError

Posted by James Carman <ja...@carmanconsulting.com>.
Nope, not alone.  It stinks because we had a hard time finding the
older versions.  If you need a tar.gz file, let me know.  I can
probably get one to you.

On Tue, Oct 9, 2012 at 10:21 AM, Bengt Rodehav <be...@rodehav.com> wrote:
> OK - "glad" I'm not alone...
>
> /Bengt
>
>
> 2012/10/9 James Carman <ja...@carmanconsulting.com>
>>
>> Yeah, v32 was the "last known good" for us, too.
>>
>> On Tue, Oct 9, 2012 at 6:33 AM, Bengt Rodehav <be...@rodehav.com> 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 <ti...@uk.ibm.com>
>> >>
>> >> 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 <be...@rodehav.com>
>> >> To:        user@aries.apache.org
>> >> Date:        09/10/2012 10:39
>> >> Subject:        Aries Blueprint VerifyError
>> >> Sent by:        bengt.rodehav@gmail.com
>> >> ________________________________
>> >>
>> >>
>> >>
>> >> 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
>> >
>> >
>
>

Re: Aries Blueprint VerifyError

Posted by Tim J Mitchell <ti...@uk.ibm.com>.
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:  tim_mitchell@uk.ibm.com



From:   Bengt Rodehav <be...@rodehav.com>
To:     user@aries.apache.org
Date:   09/10/2012 15:21
Subject:        Re: Aries Blueprint VerifyError
Sent by:        bengt.rodehav@gmail.com



OK - "glad" I'm not alone...

/Bengt

2012/10/9 James Carman <ja...@carmanconsulting.com>
Yeah, v32 was the "last known good" for us, too.

On Tue, Oct 9, 2012 at 6:33 AM, Bengt Rodehav <be...@rodehav.com> 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 <ti...@uk.ibm.com>
>>
>> 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 <be...@rodehav.com>
>> To:        user@aries.apache.org
>> Date:        09/10/2012 10:39
>> Subject:        Aries Blueprint VerifyError
>> Sent by:        bengt.rodehav@gmail.com
>> ________________________________
>>
>>
>>
>> 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

Re: Aries Blueprint VerifyError

Posted by Bengt Rodehav <be...@rodehav.com>.
OK - "glad" I'm not alone...

/Bengt

2012/10/9 James Carman <ja...@carmanconsulting.com>

> Yeah, v32 was the "last known good" for us, too.
>
> On Tue, Oct 9, 2012 at 6:33 AM, Bengt Rodehav <be...@rodehav.com> 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 <ti...@uk.ibm.com>
> >>
> >> 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 <be...@rodehav.com>
> >> To:        user@aries.apache.org
> >> Date:        09/10/2012 10:39
> >> Subject:        Aries Blueprint VerifyError
> >> Sent by:        bengt.rodehav@gmail.com
> >> ________________________________
> >>
> >>
> >>
> >> 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
> >
> >
>

Re: Aries Blueprint VerifyError

Posted by James Carman <ja...@carmanconsulting.com>.
Yeah, v32 was the "last known good" for us, too.

On Tue, Oct 9, 2012 at 6:33 AM, Bengt Rodehav <be...@rodehav.com> 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 <ti...@uk.ibm.com>
>>
>> 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 <be...@rodehav.com>
>> To:        user@aries.apache.org
>> Date:        09/10/2012 10:39
>> Subject:        Aries Blueprint VerifyError
>> Sent by:        bengt.rodehav@gmail.com
>> ________________________________
>>
>>
>>
>> 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
>
>

Re: Aries Blueprint VerifyError

Posted by Bengt Rodehav <be...@rodehav.com>.
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 <ti...@uk.ibm.com>

> 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 <be...@rodehav.com>
> To:        user@aries.apache.org
> Date:        09/10/2012 10:39
> Subject:        Aries Blueprint VerifyError
> Sent by:        bengt.rodehav@gmail.com
> ------------------------------
>
>
>
> 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
>

Re: Aries Blueprint VerifyError

Posted by Tim J Mitchell <ti...@uk.ibm.com>.
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 <be...@rodehav.com>
To:     user@aries.apache.org
Date:   09/10/2012 10:39
Subject:        Aries Blueprint VerifyError
Sent by:        bengt.rodehav@gmail.com



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