verifier error

Tom Tromey tromey@redhat.com
Mon Jan 28 08:14:00 GMT 2002


>>>>> "Nic" == Nic Ferrier <nferrier@tapsellferrier.co.uk> writes:

Per> jcf-dump prints *everything*.  If it doesn't, it's a bug that
Per> would be fixed.

Nic> It does... it's just the gnu.bytecode.dump right? That's a good
Nic> tool, I use it nearlly every where I go.

Actually, jcf-dump is a C program that uses the same class-reading
code as gcj.

Nic>   6: invokeinterface #99=<InterfaceMethod javax.servlet.http.HttpServletResponse.setDateHeader (java.lang.String,long)void> nargs:4
Nic> The arg count of 4 is wrong. It should be 3 because there are 2
Nic> arguments to the method setDateHeader.
Nic> Is that enough info to fix it?

This means that the problem is in the compiler or perhaps in the
environment (e.g., if you compiled against code where this has 3
arguments and then ran it in an environment where it has 2
arguments).

What compiler did you use to generate the code?

Nic> Where is the verifier code btw?

The runtime verifier is libjava/verify.cc.

Another way to see if bytecode verifies is to run it through `gcj
--syntax-only'.  I often do this.

Tom



More information about the Java mailing list