Kaffe almost ready on cygwin (WinNT)

Jim White kaffe@rufus.w3.org
Wed, 27 Jun 2001 09:02:38 -0700


In my innocent desire to have a Java for Cygwin so that I could use *nix 
makefiles on my NT box (for which I have no real need since my original 
goal is to change GNU Kawa - Scheme for Java - to use Ant rather than 
make), I thought "Gee, what about Kaffe?".

After several days of hacking about, Kaffe is only failing 8 of 111 of the 
regression tests under Cygwin (DLL 1.3.2).  I will put together a patch of 
my changes this weekend.  I started off using the 1.0.6 release, but have 
updated to the latest CVS.

I'm posting so that I might get a few pointers on the remaining problems:

1) Threads don't preempt so the Prempt test just hangs.  Adding a 
"Thread.yield" to their tight little loops gets the test to pass, but that 
kind of defeats the purpose.  Configure built it with 
unix-jthreads.  Should I switch it to win32?  And which switch is that?

2) Anything that uses Sockets (UDPTest, KaffeVerifyBug) gets stuck and 
never returns (no dump or nothing, just spinning).

3) Anything that forks (ProcessTest, ExecTest) fails:
J:\root\home\Administrator\kaffe-1.0.6\kaffe\kaffe\Kaffe.exe: *** 1. unable 
to a
llocate heap 0x10020000, heap_chunk_size 268435456, pid 445, Win32 error 487
                                          ^^^^^^^^^
I'm not surprised it can't allocate that!

4) The object serialization tests (Alias, TestSerializable2) always get:
java.lang.NullPointerException
	at 
kaffe.io.ObjectStreamClassImpl.outputClassFieldInfo(ObjectStreamClassImpl.java:native)
	at kaffe.io.ObjectStreamClassImpl.writeObject(ObjectStreamClassImpl.java:392)
	at 
kaffe.io.ObjectStreamClassImpl.invokeObjectWriter0(ObjectStreamClassImpl.java:native)
	at kaffe.io.ObjectStreamClassImpl.putClass(ObjectStreamClassImpl.java:249)
	at 
kaffe.io.ObjectOutputStreamImpl.writeObject(ObjectOutputStreamImpl.java:145)
	at 
kaffe.io.ObjectOutputStreamImpl.writeObject(ObjectOutputStreamImpl.java:153)
	at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:159)
	at TestSerializable2.test(TestSerializable2.java:121)
	at TestSerializable2.main(TestSerializable2.java:141)

I'm not really interested in trying to figure out how to run the debugger 
with the VM (also my build fails to compile gc_mem.c with --enable-debug), 
so I'm hoping someone will have some informed ideas on what I should change 
in the configuration.

Thanks for any help!

jim
----------------------------------------------------------------
James P. White                 Netscape DevEdge Champion for IFC
IFC Exchange   *   Insanely great Java   *   http://www.ifcx.org
jim@pagesmiths.com Pagesmiths' home is http://www.pagesmiths.com