Gwenole Beauchesne wrote:
Hi,

Dalibor told me you'd know more precisely the status of boehm-gc vs. kaffe-gc. I am asking because on x86_64 (gcc 4.0-branch, glibc 2.3.5), I
sometimes get failures in the testsuite where all threads are waiting for
something. This is with the default kaffe-gc. What's more, this cannot
be repeatedly reproduced, unfortunately. i.e. on next runs, the tests can
pass.

I have tested kaffe HEAD on a SMP opteron and it always fails though not exactly in the same way. There are loads of null pointer exception and memory inconsistencies. The stack looks like a bit screwed but I don't have yet details. I'll take some time this week/week end for this problem as it is really important. I don't think it is GC related though it is more there is an asumption somewhere that sizeof(void *) == sizeof(int).



With boehm-gc, all tests but one (ClassGC) pass on x86_64. This one either
fails with a hang (all threads blocked) or an assert() failure, etc. I
believe there are some 64-bit bugs left in the common GC parts. FWIW, the
latest Kaffe that passed all tests on x86_64 was 1.1.4.

BTW, I also merged from GCC 4.0.2 boehm-gc for testing with no improvement.


boehm-gc interface is still a bit unstable principally due to the object
lifecycle which is different from kaffe-gc. In kaffe-gc objects are
triggered for finalization and then destroyed (and there are two
separate events for that). In boehm-gc you only have a finalization
event and I need to emulate the other one. I have nearly managed to do
it but some bugs are still resisting. I would like to find some time to
fix them but not so much at the moment for this task.

Anyone with another 64-bit platform to compare results?


Debugging that with gdb is somewhat head-scratching stuff and I have yet to find out the root cause. If anyone has an idea, he is welcome.

Thanks,
Gwenolé.



Regards,

Guilhem.

_______________________________________________
kaffe mailing list
kaffe@kaffe.org
http://kaffe.org/cgi-bin/mailman/listinfo/kaffe

Reply via email to