[kaffe] java.lang.StackOverflowError on many ppc regression tests ...

Guilhem Lavaux guilhem at kaffe.org
Wed Nov 24 09:41:29 PST 2004


Djordje Nikolic wrote:
> On Sat, 2004-11-20 at 19:08 +0100, Guilhem Lavaux wrote:
> 
>>Djordje Nikolic wrote:
>>
>>>Hi,
>>>
>>>There are 12 failed regression tests currently on ppc with cvs HEAD.
>>>I think Riccardo reported something similar.
>>>
>>>Most noticeable is that this doesn't work:
>>>
>>>try { ((Object)null).toString(); } catch(NullPointerException e) { }
>>>
>>>It gets java.lang.StackOverflowError, 
>>>and it's a reason for many regress failures.  
>>>
>>>Apparently when nullExceptions() handler is called but ctx pointer
>>>points to something that's not struct sigcontext and so test:
>>>
>>>if (current_thread != NULL && stackptr <= current_thread->stackMin)
>>>
>>>works, because stackptr is wrong, and stackOverflowHandler is called...
>>>
>>>When using this patch, on ppc/linux/intrp/pthreads, I'm down to 3
>>>regression failures.
>>>
>>>Don't know if this patch is all that is to it, but it kinda works... :)
>>>
>>
>>
>>Thank you very much Djordje. Actually SIGINFO should not be defined on 
>>all architectures we use the real sigcontext structure. So your patch 
>>should be fine (we are already doing this for ix86 ...). I'll apply now.
>>
>>Regards,
>>
>>Guilhem.
> 
> 
> 
> Actually that fix makes ALL regression tests pass on linux/ppc,
> except one, GCTest :)
> 

Wonderful ! :) The problem with GCTest is maybe linked to another bug we 
have on IRIX/MIPS (and sometimes on x86-SMP according to Noa Resare). 
The problem is that this bug is really not reproduceable. :( So it may 
be caused by a conjunction of thread scheduling and memory overwriting.

Cheers,

Guilhem Lavaux.




More information about the kaffe mailing list