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.

Ewout

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

Hi,

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.

Ewout

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:
Manufacturer
Product
Local APIC ptr 0xFFFFFFFF

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
MPConfigTable
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.

Ewout

MP Rows

Found MP 1.-106, ConfigTableAt 0xE0FFFFC3
MPConfigTable
Address 0xE0FFFFC3
Size 65535
Manufacturer
Product
Local APIC ptr 0xFFFFFFFF
Entries
...

Fix in CVS

Hi,

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

Please give it a try.

Ewout

That worked!

HEAD of CVS worked fine:

Found MP 1.4. ConfigTableAt 0x000E9350
MPConfigTable
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.

-Avery

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.