Hotspot segfaulting on Linux SPARC

David Holmes david.holmes at oracle.com
Tue Apr 17 00:33:23 UTC 2018


On 17/04/2018 9:52 AM, David Holmes wrote:
> Hi Adrian,
> 
> On 16/04/2018 11:09 PM, John Paul Adrian Glaubitz wrote:
>> On 04/16/2018 12:49 PM, John Paul Adrian Glaubitz wrote:
>>> Ah, according to the bug report, this particular issue affects older
>>> SPARC CPUs only. This explains why it happens on the UltraSPARC T1
>>> but currently not on the SPARC T5.
>>>
>>> Will keep on digging! Thanks for the additional pointers.
>>
>> Ok, so the actual crash after working around JDK-8144448 now seems 
>> this one:
> 
> Unfortunately the bit you really need is missing:
> 
> #18 0xffff800101aec0a0 in signalHandler (sig=<optimized out>, 
> info=0xffff8001026d1fb0, uc=0xffff8001026d1fb0) at 
> /srv/openjdk/hs/src/hotspot/os/linux/os_linux.cpp:4396
> #19 <signal handler called>
> #20 0xffff80010fbfd0c8 in ?? ()
> Backtrace stopped: previous frame identical to this frame (corrupt stack?)
> 
> It's the original fault that needs to be uncovered. All sorts of 
> weirdness can happen in attempting to do error reporting if you were in 
> an unexpected state to start with.

Though also see:

https://bugs.openjdk.java.net/browse/JDK-8201592

which seems to be the same secondary crash - but can't comment on the 
primary one.

David

> David
> -----
> 
>>
>> (gdb) bt
>> #0  0xffff8001006abb9c in __libc_signal_restore_set 
>> (set=0xffff8001026d0f28) at ../sysdeps/unix/sysv/linux/nptl-signals.h:80
>> #1  __GI_raise (sig=sig at entry=6) at ../sysdeps/unix/sysv/linux/raise.c:48
>> #2  0xffff8001006ad144 in __GI_abort () at abort.c:79
>> #3  0xffff800101aeefbc in os::abort (dump_core=<optimized out>, 
>> siginfo=0xffff8001026d1fb0, context=0xffff8001026d1fb0) at 
>> /srv/openjdk/hs/src/hotspot/os/linux/os_linux.cpp:1423
>> #4  0xffff800101f0f38c in VMError::report_and_die 
>> (id=id at entry=-536870912, message=message at entry=0xffff80010205b260 
>> "fatal error", detail_fmt=detail_fmt at entry=0xffff80010214f850 "LEAF 
>> method calling lock?", detail_args=detail_args at entry=0xffff8001026d1678,
>>      thread=thread at entry=0xffff80010401a000, pc=pc at entry=0x0, 
>> siginfo=0x0, context=0x0, filename=0xffff80010214eec8 
>> "/srv/openjdk/hs/src/hotspot/share/runtime/thread.cpp", lineno=985, 
>> size=0) at /srv/openjdk/hs/src/hotspot/share/utilities/vmError.cpp:1504
>> #5  0xffff800101f101c8 in VMError::report_and_die 
>> (thread=0xffff80010401a000, context=context at entry=0x0, 
>> filename=filename at entry=0xffff80010214eec8 
>> "/srv/openjdk/hs/src/hotspot/share/runtime/thread.cpp", 
>> lineno=lineno at entry=985,
>>      message=0xffff80010205b260 "fatal error", 
>> detail_fmt=detail_fmt at entry=0xffff80010214f850 "LEAF method calling 
>> lock?", detail_args=<optimized out>) at 
>> /srv/openjdk/hs/src/hotspot/share/utilities/vmError.cpp:1244
>> #6  0xffff80010117e6c8 in report_fatal (file=0xffff80010214eec8 
>> "/srv/openjdk/hs/src/hotspot/share/runtime/thread.cpp", 
>> line=line at entry=985, detail_fmt=0xffff80010214f850 "LEAF method 
>> calling lock?") at 
>> /srv/openjdk/hs/src/hotspot/share/utilities/debug.cpp:250
>> #7  0xffff800101e2ae10 in Thread::check_for_valid_safepoint_state 
>> (this=this at entry=0xffff80010401a000, 
>> potential_vm_operation=potential_vm_operation at entry=false) at 
>> /srv/openjdk/hs/src/hotspot/share/runtime/thread.cpp:985
>> #8  0xffff800101e49394 in ThreadsSMRSupport::acquire_stable_list 
>> (is_ThreadsListSetter=false, self=0xffff80010401a000) at 
>> /srv/openjdk/hs/src/hotspot/share/runtime/threadSMR.cpp:629
>> #9  ThreadsListHandle::ThreadsListHandle (this=0xffff8001026d1818, 
>> self=0xffff80010401a000) at 
>> /srv/openjdk/hs/src/hotspot/share/runtime/threadSMR.cpp:471
>> #10 0xffff800101ae1af0 in 
>> JavaThreadIteratorWithHandle::JavaThreadIteratorWithHandle 
>> (this=0xffff8001026d1810) at 
>> /srv/openjdk/hs/src/hotspot/share/runtime/threadSMR.hpp:307
>> #11 os::print_location (st=st at entry=0xffff8001023e3228 <VMError::log>, 
>> x=416, verbose=verbose at entry=false) at 
>> /srv/openjdk/hs/src/hotspot/share/runtime/os.cpp:1113
>> #12 0xffff800101b02b3c in os::print_register_info 
>> (st=st at entry=0xffff8001023e3228 <VMError::log>, 
>> context=0xffff8001026d1fb0) at 
>> /srv/openjdk/hs/src/hotspot/os_cpu/linux_sparc/os_linux_sparc.cpp:253
>> #13 0xffff800101f0dfac in VMError::report 
>> (st=st at entry=0xffff8001023e3228 <VMError::log>, 
>> _verbose=_verbose at entry=true) at 
>> /srv/openjdk/hs/src/hotspot/share/utilities/vmError.cpp:748
>> #14 0xffff800101f0f440 in VMError::report_and_die (id=id at entry=11, 
>> message=message at entry=0x0, 
>> detail_fmt=detail_fmt at entry=0xffff80010214c870 "%s", 
>> detail_args=detail_args at entry=0xffff8001026d1ce0, 
>> thread=thread at entry=0xffff80010401a000,
>>      pc=pc at entry=0xffff80010fbfd0c8 "\300\\ ", 
>> siginfo=0xffff8001026d1fb0, context=0xffff8001026d1fb0, filename=0x0, 
>> lineno=0, size=0) at 
>> /srv/openjdk/hs/src/hotspot/share/utilities/vmError.cpp:1405
>> #15 0xffff800101f100b8 in VMError::report_and_die 
>> (thread=thread at entry=0xffff80010401a000, sig=sig at entry=11, 
>> pc=pc at entry=0xffff80010fbfd0c8 "\300\\ ", 
>> siginfo=siginfo at entry=0xffff8001026d1fb0, 
>> context=context at entry=0xffff8001026d1fb0, 
>> detail_fmt=0xffff80010214c870 "%s")
>>      at /srv/openjdk/hs/src/hotspot/share/utilities/vmError.cpp:1219
>> #16 0xffff800101f10104 in VMError::report_and_die 
>> (thread=thread at entry=0xffff80010401a000, sig=sig at entry=11, 
>> pc=pc at entry=0xffff80010fbfd0c8 "\300\\ ", 
>> siginfo=siginfo at entry=0xffff8001026d1fb0, 
>> context=context at entry=0xffff8001026d1fb0)
>>      at /srv/openjdk/hs/src/hotspot/share/utilities/vmError.cpp:1225
>> #17 0xffff800101b058b4 in JVM_handle_linux_signal (sig=sig at entry=11, 
>> info=info at entry=0xffff8001026d1fb0, 
>> ucVoid=ucVoid at entry=0xffff8001026d1fb0, 
>> abort_if_unrecognized=abort_if_unrecognized at entry=1) at 
>> /srv/openjdk/hs/src/hotspot/os_cpu/linux_sparc/os_linux_sparc.cpp:646
>> #18 0xffff800101aec0a0 in signalHandler (sig=<optimized out>, 
>> info=0xffff8001026d1fb0, uc=0xffff8001026d1fb0) at 
>> /srv/openjdk/hs/src/hotspot/os/linux/os_linux.cpp:4396
>> #19 <signal handler called>
>> #20 0xffff80010fbfd0c8 in ?? ()
>> Backtrace stopped: previous frame identical to this frame (corrupt 
>> stack?)
>> (gdb)
>>


More information about the hotspot-dev mailing list