This is the mail archive of the kawa@sourceware.cygnus.com mailing list for the Kawa project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: VerifyError re. uninitialized register


brlewis@alum.mit.edu writes:

> Error message:
> (class: atEvalLevel$lambda, method: applyN signature: ([Ljava/lang/Object;)Ljav
> a/lang/Object;) Accessing value from uninitialized register 6
> Stack trace:
> java.lang.VerifyError: (class: atEvalLevel$lambda, method: applyN signature: ([
> Ljava/lang/Object;)Ljava/lang/Object;) Accessing value from uninitialized regis
> ter 6

You can try one of two things:

(a) Pass --debug-dump-zip to kawa.  This causes it to generate a .zip
archive for each immediate compilation.  There may be lot of them.
(You may also try changing if (true) to if (source) in
kawa.standard.load.loadSource. This means each source file is
analyzed as a unit, generating fewer .zip files.  It will become
the default, once I figure out how to make exceptions for macros.)
You can use unzip + java gnu.bytecode.dump to look at the individual
classes.  (I normally use jcf-dump from the gcj distribution,
since it also handle .zip archives.  It might be nice to extend
gnu.bytecode.dump o it can read .zip and .jar files automatically.
Any volunteers?)

(b) Compile your .scm files, and then pass -verify to java.
This may require some work to get your files compileable - but
that may be worthwhile anyway!  If you still get VerifyErrors
from compiled files, it may be easier to pin-point the specific
failng class/function, rather than just the generic atEvalLevel.

In either case,once you have things narrowed down to a specific class,
you can examine the bytecode for the problem.  If you don't know
how to read bytecodes, you can point me to the .class or .zip files
and I can see if I can figure it out.
-- 
	--Per Bothner
per@bothner.com   http://www.bothner.com/~per/

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]