Kiev & out-of-memory (re-enter verifier

breed at breed at
Tue Dec 8 11:13:39 PST 1998

I am also getting the re-enter verifier errors.  It's on Linux x86.  I did
configure with:  --without-x.  Unfortunately the application it is
happening on is quite complex with its own classloaders.  I'm attempting to
reproduce it with a simplier program.


Godmar Back <gback at> on 12/07/98 10:48:40 PM

Please respond to kaffe at

To:   kaffe at
Subject:  Re: Kiev & out-of-memory

 Hi Maxim,

> Latest kaffe snapshot I've downloaded this night failed to compiler
> RedHat 5.1 Linux.
> First, _a_lot_ of messages like "bcurr->flags", then assertion failed
> on "attempt to reenter verifyer". BTW, verifyer? Does kaffe has it?

Kaffe does not do a full verification.
However, it does do some analysis that is necessary to help its JIT
compiler.  These messages stem from there.

kiev is compiled with kiev, is it not?
The message with the "bcurr" flags come from a block of code that
tests whether all blocks of code were in fact covered.
I haven't seen this code invoked before, but its very existence leads
me to conclude that the code analysis relies on some invariant that
javac and pizza guarantee, but kiev does not.  Note that VDBG is turned
on by default in code-analyse.c

If kiev passes Sun's verification (Try java -verify), the problem is with
Kaffe; if it doesn't, this could be a bug in kiev.  If I were to make a
guess, it's more likely that its the former.  However, since Sun's JVM
does not verify classes by default, there's a possibility for the latter.

Secondly, let me ask about the "attempt to reenter verifier" assertions.
I recently checked in some code whose purpose it is to eliminate these
assertion violations.  Please make sure you have these changes
(they're from Dec 2.).  I were not able to reproduce them, either.
If possible, I would like you to tell me how I can reproduce them.
(i.e., with what command-line parameters/input data).

     - Godmar

> Please, try to compile kiev...
> Download it from ,
> put kiev008_g.jar in CLASSPATH and run
> kaffe -your-know-what kiev.Main -v -verify -g -no-gc -p k.prj -makeall
> err.log
> (verbose, generate verifyable code, all debug info, do not attempt forse
> use project k.prj, recompile all files).
> Regards
>   Maxim Kizub

More information about the kaffe mailing list