First Impression and Bugs for Kaffe 1.0.1b

Wolfgang Mües kaffe@rufus.w3.org
Wed, 22 Jul 1998 00:17:32 +0200


Hello folks,

I installed Kaffe on my machine (Linux 2.0.33, 486er) about a week ago.

My first impression was: what a huge amount of work was done! Kaffe seems to me
much smaller and faster than any other VM I have tried before!

My second impression was: Kaffe is shurely not finished yet... here is my bug
report...

--------------------------------------------------------
Bug #1: make was not able to build the zip library. I have to change the make
file in order to achive this. 

CAUSE: the linker doesnīt get the path to the directory in which the zip
bibrary (-lz) is installed ( /usr/X11R6/lib).

FIX: the original makefile line was:
$(LIB):		$(OBJECT) lib.exp
		$(LD) $(LDFLAGS) -o $(LIB) $(OBJECT) $(LDTAIL)
I changed the $(LDTAIL) to $(LIBS) and it worked.
Beware: donīt know if this fix will do for all environments. There must be a
reason for $(LDTAIL) ....
 --------------------------------------------------------
Bug #2:  Kaffe did not work on my machine without a CLASSPATH set to
/usr/local/share/kaffe/Klasses.jar.
--------------------------------------------------------
Bug #3:  The AWT implementation is missing the Peer classes. Peer classes are
used partially in applications, namely java.awt.LightweightPeer. These
applications donīt run with Kaffe....

The most common package which uses peers is the SWING library. It seems that
the peers are only used to distinguish between heavyweight components and
lightweight. So, if there is a free implementation of SWING beeing written,
this is no drawback.

Meanwhile, a minimal support for peers may be good for Kaffe. I will try to
investigate some time into it.... but I have not yet managed to start a
swing-based application with success...
--------------------------------------------------------
Bug #4: the constructor for java.util.Hashtable calls the method clear(). This
violates a golden rule for java programmers: never call a function, which may
be overridden, from inside a constructor.... this is a SERIOUS bug.

IMO, the call to clear() is obviously obsolete.... 
--------------------------------------------------------

This is all for today.... question: is it ok to post bug fixes to the mailing
list or should I mail them to another address?

regards
Wolfgang