[aarch64-port-dev ] RFR: JDK-8169177 Aarch64: SIGSEGV when "-XX:+ZeroTLAB" is specified along with GC options

Kavitha Natarajan kavitha.natarajan at linaro.org
Tue Dec 13 10:57:01 UTC 2016


I have been trying to resolve a SEGV issue after using zero_words.

#

# A fatal error has been detected by the Java Runtime Environment:

#

#  SIGSEGV (0xb) at pc=0x0000007f70b22a50, pid=12602, tid=12633

#

# JRE version: OpenJDK Runtime Environment (9.0) (build
9-internal+0-2016-11-16-004839.dinesh.openjdk9hs)

# Java VM: OpenJDK 64-Bit Server VM
(9-internal+0-2016-11-16-004839.dinesh.openjdk9hs,
mixed mode, tiered, parallel gc, linux-aarch64)

# Problematic frame:

# v  ~RuntimeStub::fast_new_instance Runtime1 stub

#

# Core dump will be written. Default location: Core dumps may be processed
with "/usr/share/apport/apport %p %s %c %P" (or dumping to
/user/dinesh/temp/JTwork/scratch/core.12602)



The pc address maps to instructions in eden_allocate(). Looks like large
memory is not being handled properly by eden_allocate(). Or if block_zero()
is polluting the memory. This is the code that I am concerned on:


hotspot/src/cpu/aarch64/vm/macroAssembler_aarch64.cpp:

3999     // if end < obj then we wrapped around high memory

4000     cmp(end, obj);

4001     br(Assembler::LO, slow_case);

4002

4003     cmp(end, heap_end);

4004     br(Assembler::HI, slow_case);

4005

4006     // If heap_top hasn't been changed by some other thread, update it.

4007     stlxr(rscratch2, end, rscratch1);

4008     cbnzw(rscratch2, retry);


I haven't got a solution yet. Wondering if I can get any help from this
forum.


Regards,

Kavitha

On 16 November 2016 at 23:22, Andrew Haley <aph at redhat.com> wrote:

> On 16/11/16 17:08, White, Derek wrote:
>
> > But I still suggest calling zero_words in
> > MacroAssembler::tlab_refill().
> >
> > The whole point of the ZeroTLAB flag is if bulk clearing the TLAB is
> > faster than piecemeal clearing as needed. Doing a simpler
> > zero_memory just has the potential to pollute the cache
> > unnecessarily.  The extra size of calling zero_words here only comes
> > into play if ZeroTLAB flag is on, and the macro should only be
> > expanded once in any case.
>
> Sounds reasonable.  This will need to be submitted to hotspot-dev for
> formal approval.
>
> Andrew.
>


More information about the aarch64-port-dev mailing list