ERROR in Kaffe: locks.c

Patrick Tullmann tullmann at cs.utah.edu
Thu Apr 6 09:23:37 PDT 2000


Nandana wrote:
> When I try to run any java class it gives following error.

Do you know when it fails?  If you do a '-verbose' run, you can see
what class it might be loading.

> ----------------------------------------------------
> Kaffe: locks.c:147: putHeavyLock: Assertion `*lkp == ((iLock*)-1)'
> failed.
> Aborted
> ----------------------------------------------------

putHeavyLock() is checking that the lock being "put" is a lock that is 
actively being gotten and manipulated by the current thread.  (All
calls to putHeavyLock() are preceeded by a call to getHeavyLock() that 
sets the lock to LOCKINPROGRESS (which is a #define for -1).

Also, you might have some sort of race condition if
COMPARE_AND_EXCHANGE or ATOMIC_EXCHANGE and exchange aren't really
thread-safe.

You might try running with '-vmdebug SLOWLOCKS' to get a trace of the
heavy lock behavior.

-vmdebug only works if Kaffe is configured with --enable-debug, so you 
might have to re-configure and re-compile.

-Pat

----- ----- ---- ---  ---  --   -    -      -         -               -
Pat Tullmann                                       tullmann at cs.utah.edu
      That which does not kill you just didn't try hard enough.


More information about the kaffe mailing list