Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [aspectj-users] java.lang.IllegalAccessError

Hi Mauro and Andy,
I faced something similar a few days ago, and I think the problem is
that AspectJ is inlining the code after the call (which happens to be
inside the class CompositeELResolverTest) and using the instance of
FetaureIterator to setup something, for example the thisJoinPoint, or
even only the checkcast to see if the target matches. In my case, at
least, it was something like this. I used javap to see what was going on
in the aspectj inlined code, probably using it could help to find out
what is happening at line 93 (which is probably not line 93, but the
aspectj inlined code) to see if it is using the FeatureIterator and why.

Hope it helps,
Simone

Mauro Baluda wrote:
> On Wed, Oct 29, 2008 at 6:25 PM, Andy Clement <andrew.clement@xxxxxxxxx> wrote:
>   
>> What is the precise stack trace?
>>     
> the woven code:
> <http://mauro.netsons.org/files/CompositeELResolverTest.java>
>
> the stack trace:
> java.lang.IllegalAccessError: tried to access class
> javax.el.CompositeELResolver$FeatureIterator from class
> org.apache.myfaces.el.CompositeELResolverTest
>        at org.apache.myfaces.el.CompositeELResolverTest.testFeatureDescriptorsIterator(CompositeELResolverTest.java:93)
>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>        at java.lang.reflect.Method.invoke(Method.java:597)
>        at org.junit.internal.runners.TestMethodRunner.executeMethodBody(TestMethodRunner.java:99)
>        at org.junit.internal.runners.TestMethodRunner.runUnprotected(TestMethodRunner.java:81)
>        at org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:34)
>        at org.junit.internal.runners.TestMethodRunner.runMethod(TestMethodRunner.java:75)
>        at org.junit.internal.runners.TestMethodRunner.run(TestMethodRunner.java:45)
>        at org.junit.internal.runners.TestClassMethodsRunner.invokeTestMethod(TestClassMethodsRunner.java:66)
>        at org.junit.internal.runners.TestClassMethodsRunner.run(TestClassMethodsRunner.java:35)
>        at org.junit.internal.runners.TestClassRunner$1.runUnprotected(TestClassRunner.java:42)
>        at org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:34)
>        at org.junit.internal.runners.TestClassRunner.run(TestClassRunner.java:52)
>        at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:45)
>        at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
>        at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
>        at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
>        at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
>        at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
>
> I guess reflection has something to do with the problem... I'll try to
> make a test that doesn't use EasyMock
>
> thanks
> Mauro
> --
> Computer science is no more about computers than astronomy is about telescopes
>    - Edsger W. Dijkstra
> _______________________________________________
> aspectj-users mailing list
> aspectj-users@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>   


-- 
Simone Gianni            CEO Semeru s.r.l.           Apache Committer
http://www.simonegianni.it/



Back to the top