[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [aspectj-dev] VerifyError in around advice during load time weaving

AFAIR it happens when the bytecode tries to access a value which is not there, for example a method parameter, in this case it would be the fourth parameter, while the signature of the method has less paramers, like in this example could be three. But never happened to me with AspectJ, it happened with javac however :)

Since this is an around on the <init>, could it be an access to the not-yet-completely-created object?

Simone

2010/5/7 Andy Clement <andrew.clement@xxxxxxxxx>
Yes, I have seen 'accessing value from uninitialized register' but I
can't remember why or where - i don't think it comes up very often.

Andy

On 7 May 2010 06:22, Choudary Kothapalli <choudary.kothapalli@xxxxxxxxx> wrote:
> Hi Andy,
>
> The -XnoInline option did not work. The user cannot change the JVM level.
> The offending code is a small part of a large application. The user is
> trying to isolate the problem. If he is successful in doing that I will
> raise a bug.
> I was just wondering if you had seen this 'Accessing value from
> uninitialized register ' error when using AspectJ. I couldn't find any in
> searching the web.
>
> Thanks,
> Choudary.
> On Thu, May 6, 2010 at 12:37 PM, Andy Clement <andrew.clement@xxxxxxxxx>
> wrote:
>>
>> Hi,
>>
>> Are you able to raise a bug and include the offending code?
>>
>> You could try running with -XnoInline to see if that makes a
>> difference.  Or on a different JVM level.
>>
>> Andy
>>
>> On 6 May 2010 05:21, Choudary Kothapalli <choudary.kothapalli@xxxxxxxxx>
>> wrote:
>> > Hi,
>> >
>> > My tool MaintainJ captures the runtime call trace using the load time
>> > weaving mechanism. I use around advice to capture the call trace. It has
>> > been working well, but one of our users is getting VerifyError on some
>> > of
>> > the classes in his application.
>> >
>> > The JRE is Sun JRE- 1.6.  build 19.
>> > Both 1.6.8 and 1.6.4 of aspectjweaver.jar are giving the problem.
>> >
>> > The abstract aspect provided in a jar is overridden by the pointcut
>> > specific
>> > to the application. It is a pretty simple aspect that captures all
>> > execution
>> > join points. I removed all logic in the advice and was just printing the
>> > thisJoinPoint and still getting the same error. The error looks as
>> > below.
>> >
>> > Caused by: java.lang.VerifyError: (class: clientPackage/clientClass2,
>> > method: init$_aroundBody10 signature:
>> >
>> > (LclientPackage/clientClass2;Ljava/lang/String;ZLorg/aspectj/lang/JoinPoint;)V)
>> > Accessing value from uninitialized register 4
>> > at clientPackage.clientClass1.clientMethod(clientClass1.java:70)
>> >
>> > I checked the code beaing woven and there is nothing weird about it. Let
>> > me
>> > know if you need any other details to figure this out.
>> >
>> > Thanks,
>> > Choudary Kothapalli.
>> >
>> > _______________________________________________
>> > aspectj-dev mailing list
>> > aspectj-dev@xxxxxxxxxxx
>> > https://dev.eclipse.org/mailman/listinfo/aspectj-dev
>> >
>> >
>> _______________________________________________
>> aspectj-dev mailing list
>> aspectj-dev@xxxxxxxxxxx
>> https://dev.eclipse.org/mailman/listinfo/aspectj-dev
>
>
> _______________________________________________
> aspectj-dev mailing list
> aspectj-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/aspectj-dev
>
>
_______________________________________________
aspectj-dev mailing list
aspectj-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/aspectj-dev