SIGABORT on linux-sparc

Sébastien Bernard seb at frankengul.org
Tue Apr 8 07:41:39 PDT 2008


Andrew Haley a écrit :
> Sébastien Bernard wrote:
>   
>> Gary Benson a écrit :
>>     
>>> S�bastien Bernard wrote:
>>>  
>>>       
>>>> The sigbus happens in
>>>> icedtea6/openjdk-ecj/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp
>>>> line 356.
>>>>
>>>> The line is :
>>>>
>>>>    case T_LONG:      SET_LOCALS_LONG(*(jlong *) result, 0);
>>>>      break;
>>>>
>>>> The SET_LOCALS_LONG is breaking the access.
>>>> The value of result according to gdb is  (long long int *) 0xf781c420
>>>>     
>>>>         
>>> That looks pretty aligned to me.
>>> What does gdb say the variable "locals" is at that point?
>>>   
>>>       
>> #7  0xf7a96a9c in CppInterpreter::native_entry (method=0xf1645128,
>> __the_thread__=0x2ecb0)
>>    at
>> /home/seb/dev/icedtea6/openjdk-ecj/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp:356
>>
>> 356           SET_LOCALS_LONG(*(jlong *) result, 0);
>> (gdb) p (void*) locals
>> $1 = (void *) 0xf789aa58
>> (gdb)
>>     
>
> That's pretty aligned too.  Try
>
> x/i $pc
>
> and then tell us what the contents of the address register is.
>
> Andrew.
>   
Maybe an irc channel would be better suited for that kind of debugging.

Anyway, here's the info
(gdb) up
#7  0xf7a96a9c in CppInterpreter::native_entry (method=0xf1645128, 
__the_thread__=0x2ecb0)
    at 
/home/seb/dev/icedtea6/openjdk-ecj/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp:356
356           SET_LOCALS_LONG(*(jlong *) result, 0);
(gdb) x/i $pc
0xf7a96a9c 
<_ZN14CppInterpreter12native_entryEP13methodOopDescP6Thread+1456>:   
std  %g2, [ %g1 + -4 ]



    Seb



More information about the distro-pkg-dev mailing list