[kaffe] unexpected java.lang.IllegalAccessError
Timothy Stack
stack@cs.utah.edu
Sun Sep 21 12:16:02 2003
>
> The attached program causes java.lang.IllegalAccessError
> when run with kaffe (ChangeLog head: 2003-09-13 Dalibor Topic
> <robilad@kaffe.org>).
>
> When run with JDK
Did you run it with '-verify' on? I get something like:
516 irontown:tmp8/katest> /usr/local/jdk1.3.1/bin/java -verify a.TestA
Exception in thread "main" java.lang.IllegalAccessError: try to access
class b/TestBB from class a/TestA
at a.TestA.main(TestA.java:8)
> or kaffe (ChangeLog head: 2003-08-27 Jim Pick
> <jim@kaffe.org>), no such error occus.
[test case cut...]
Okie, I've had a look and I think its a problem with kjc and not the VM.
In particular the code generated by kjc for the call to foo() is wrong (i
think):
invokevirtual b/TestBB/foo()I
Notice that its making the call on TestBB (package-private class) and not
TestB (public class). Code generated by jikes/javac generates the correct
call to TestB/foo().
thanks,
tim