[kaffe] GC bug: gcFree: Assertion `!!!"Attempt to explicitly free nonfixed object"' failed

Daniel Bonniot Daniel.Bonniot at inria.fr
Tue Jun 7 06:01:31 PDT 2005


Hi,

Here is a reproducible GC bug with kaffe HEAD. It's a regression, as it does 
not happen with 1.1.5.

This happens when compiling two small programs with the Nice compiler's 
testsuite. Therefore, you'll need the Nice compiler, precisely the nice.jar 
file. I've reproduced with several versions, including 0.9.10 which is in 
Debian at the moment. http://nice.sf.net/nice.jar should also do.

Here are the instructions to reproduce the bug. You need the bug.testsuite 
file as shown. Note that you need to specify the location of nice.jar twice.


$ cat bug.testsuite
/// PASS
   /// package a
   /// Toplevel
abstract class A implements javax.swing.Action {
   putValue(x, y) {}
}
   /// package b import a
   /// Toplevel
<T> void putValue(javax.swing.Action, String, T) =
   native void javax.swing.Action.putValue(String, Object);

public class Flow4JEditPartFactory implements javax.swing.Action {
   putValue(editPart, model) {}
}

/// PASS
   /// package lib
   /// Toplevel
public class A {
   public void foo() {}
}

   /// package a
   /// Toplevel
class A<T> = native lib.A;
<T> A<T> A() = native new lib.A();
<T> void foo(A<T>) = native void lib.A.foo();

   /// package b import a
   {}

   /// package c import b
   new lib.A().foo();

$ /usr/local/src/kaffe/install/bin/kaffe -classpath /usr/share/java/nice.jar 
nice.tools.testsuite.TestNice -runtime /usr/share/java/nice.jar bug.testsuite
run test engine
   testsuite: bug.testsuite
kaffe-bin: ../../../../kaffe/kaffe/kaffevm/kaffe-gc/gc-incremental.c:1299: 
gcFree: Assertion `!!!"Attempt to explicitly free nonfixed object"' failed.
zsh: 13464 abort      /usr/local/src/kaffe/install/bin/kaffe -classpath 
/usr/share/java/nice.jar


$ /usr/local/src/kaffe/install/bin/kaffe -fullversion
...
Engine: Just-in-time v3   Version: 1.1.x-cvs   Java Version: 1.4
Heap defaults: minimum size: 5 MB, maximum size: 64 MB
Stack default size: 256 KB
Configuration/Compilation options:
)  Compile date     : Mon Jun 6 22:42:52 CEST 2005
   Compile host     : sauternes
   Install prefix   : /usr/local/src/kaffe/install
   Thread system    : unix-pthreads
   Garbage Collector: kaffe-gc
   CC               : gcc
   CFLAGS           : -g -O2 -Wall -pthread -DENABLE_BINRELOC
   LDFLAGS          :
   ChangeLog head   : 2005-06-05  Ito Kazumitsu  <kaz at maczuka.gcd.org>


Cheers,

Daniel





More information about the kaffe mailing list