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