[kaffe] Re: Weak references/Class destruction
guilhem at kaffe.org
Thu Dec 30 06:08:25 PST 2004
>>Here is the final implementation (before commit). I have 0 regressions
>>on my laptop. BTW, I've removed
>>one or two mutex protections which looks like causing a deadlock in
>>glibc when the world is suspended.
>>I do not yet understand how this can be caused but removing them
>>suppresses the deadlocks and
>>GCTest passes everytime I've run it here (for the time being). We'll
>>need to clear this up to check whether
>>it is really a glibc bug.
>>Adam, could you try it on your real SMP ?
>you worked on legolas last day, which is a true SMP box and has no libc...
>and it "hangs" right now. Any more insights from that ?
The hang is due to another error. :) Here is a summary of yesterday:
pthreads/signal.c detects stack boundaries by catching SIGSEGV, SIGBUS.
But it was not restoring handlers.
In processClass, the JIT is called and a SIGBUS is thrown by
KaffeJIT_establishConstants. The SIGBUS jumps again in
detectStackBoundaries and hangs somewhere because the stack is
completely wrong now.
I've solved the hang problem by uninstalling the signal handlers so
kaffe is now throwing a SIGBUS and generates a coredump. However I still
not understand why there is a SIGBUS at that point at the pointers looks
More information about the kaffe