[kaffe] Re: Weak references/Class destruction

Guilhem Lavaux guilhem at kaffe.org
Thu Dec 30 06:08:25 PST 2004


Riccardo wrote:

>Hey,
>  
>
>>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 ?
>
>cheers,
>  Riccardo
>  
>

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

Cheers,

Guilhem.




More information about the kaffe mailing list