JNode release 0.1.8

I'm glad to announce a new intermediate release of JNode: release 0.1.8.

This release contains a new native code compiler and several other performance enhancements, which makes JNode a lot faster.

I hope that the next release will bring a much better memory manager and garbage collector and hopefully many graphics improvements.


New error, NPE after ~20 hrs.

After about 20 hrs. of running 0.1.8 the PC freezes and writes this error:
Object TIB FFFFFFFF Debug stacktrace: org.jnode.vm.VmStackReader::debugStacktrace000000BB , org.jnode.vm.HeapHelperImpl::die00000133 , org.jnode.vm.memmgr.def.GCMarkVisitor::visit00000000 , org.jnode.vm.memmgr.def.VmDefaultHeap::walk00000166 , org.jnode.vm.memmgr.def.GCManager::markHeap00000000 , org.jnode.vm.memmgr.def.GCManager::gc00000000 , org.jnode.vm.memmgr.def.GCThread::run00000000 , org.jnode.vm.VmThread::runThread000001F0 Real panic: NPE in processChild: probably corrupted heap

PC: 1Ghz PIII, 512MB, CD-RW boot.

GC problem


The GC is not pretty good at the moment. This is one of the reasons for switching to MMTK (from JikesRVM) (hopefully) in the next release.


Default boot fails, default without MP OK

"Jnode (default)" boot fails for me, but "Jnode (default without MP)" works great. I have tried rebooting a couple times, identical behavior. Should it auto-detect single or multi-CPU, or is this behavior expected on a single-processor machine?

I'm booting off CD-RW on a 1Ghz Pentium III, single processor, 512MB RAM. The default boot with the 0.1.7 ISO was fine on this same machine.

"Jnode (default)" dies after saying:

Then a dump. Error 4?
And "Real panic: int_die_halt!"

I'll type in more of the dump if someone can tell me if anything is relevant.

Again, "Jnode (default without MP)" works great!

MP failure?

I've heard of this behavour on VMWare 4, not on normal hardware.

Can you give all rows that are printed? I'm expecting something like
Address 0x...
Size ...
Manufacturer ...

It is not surprising that 0.1.7 worked ok, since it had no MP detection.

I'll see if i can make some fixes. Please follow CVS and report any results.


MP Rows

Found MP 1.-106, ConfigTableAt 0xE0FFFFC3
Address 0xE0FFFFC3
Size 65535

Fix in CVS


I've committed a patch in CVS which should help to solve this problem.

Please give it a try.


That worked!

HEAD of CVS worked fine:

Found MP 1.4. ConfigTableAt 0x000E9350
Address 0x000E9350
Size 424
Manufacturer COMPAQ
Product iPAQ
Local APIC ptr 0xFEE00000

GC errors

I've tried out the 0.1.8 ISO image, but can't get a successful boot. It seems that the garbage collector is what is screwing up. The first time I booted it gave me an NPE during gc. The second time, I got farther but it kept givng me OutOfMemory exceptions. The first one came when trying to load the PS2 keyboard plugin. I have 384 mb of RAM so I shouldn't be running out of memory. It appears from both of these that the garbage collector is not successfully retrieving memory.


P.S. After seeing the other comment, I'd like to also say that I was using the default build, and I'm running on a single processor Pentium II 400 system.