SIGABORT on linux-sparc
Andrew Haley
aph at redhat.com
Tue Apr 8 08:04:14 PDT 2008
Sébastien Bernard wrote:
> 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.
We're on #openjdk at irc.oftc.net
> 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 ]
Eww, nasty.
p $g1 ?
Andrew.
More information about the distro-pkg-dev
mailing list