RFR: assert failure with traversal gc in macroAssembler_x86.cpp
Aleksey Shipilev
shade at redhat.com
Mon Jun 18 13:55:25 UTC 2018
On 06/18/2018 03:50 PM, Roland Westrelin wrote:
> http://cr.openjdk.java.net/~roland/shenandoah/masm-enqueue-regs/webrev.00/
Looks good to me. Do we need to push/pop c_rarg0 before using it?
> When called from c1, dst can sometimes be c_rarg1.
Is this the stack trace you are seeing?
# Internal Error
(/home/shade/trunks/shenandoah-jdk/src/hotspot/cpu/x86/macroAssembler_x86.cpp:2609), pid=22694,
tid=23053
# assert(arg_0 != c_rarg1) failed: smashed arg
#
Stack: [0x00007f275d18e000,0x00007f275d28f000], sp=0x00007f275d28c750, free space=1017k
Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native
code)
V [libjvm.so+0x1e5c852] VMError::report_and_die(int, char const*, char const*, __va_list_tag*,
Thread*, unsigned char*, void*, void*, char const*, int, unsigned long)+0x532
V [libjvm.so+0x1e5d4bf] VMError::report_and_die(Thread*, void*, char const*, int, char const*,
char const*, __va_list_tag*)+0x2f
V [libjvm.so+0xb7c9ba] report_vm_error(char const*, int, char const*, char const*, ...)+0x12a
V [libjvm.so+0x1355927] MacroAssembler::call_VM_leaf(unsigned char*, RegisterImpl*,
RegisterImpl*)+0xb7
V [libjvm.so+0x1762741] ShenandoahBarrierSetAssembler::satb_write_barrier_pre(MacroAssembler*,
RegisterImpl*, RegisterImpl*, RegisterImpl*, RegisterImpl*, bool, bool)+0x5c1
V [libjvm.so+0x1762ba1] ShenandoahBarrierSetAssembler::storeval_barrier_impl(MacroAssembler*,
RegisterImpl*, RegisterImpl*)+0x2a1
V [libjvm.so+0x1763b88] ShenandoahBarrierSetAssembler::xchg_oop(MacroAssembler*, unsigned long,
RegisterImpl*, Address, RegisterImpl*)+0x48
V [libjvm.so+0x8110a5] LIR_Assembler::atomic_op(LIR_Code, LIR_OprDesc*, LIR_OprDesc*,
LIR_OprDesc*, LIR_OprDesc*)+0x1c5
V [libjvm.so+0x7f4d50] LIR_Assembler::emit_lir_list(LIR_List*)+0xb0
V [libjvm.so+0x7f5d2b] LIR_Assembler::emit_code(BlockList*)+0x14b
V [libjvm.so+0x7912f6] Compilation::emit_code_body()+0x1d6
V [libjvm.so+0x793a86] Compilation::compile_java_method()+0x5c6
V [libjvm.so+0x794831] Compilation::compile_method()+0x1f1
V [libjvm.so+0x795487] Compilation::Compilation(AbstractCompiler*, ciEnv*, ciMethod*, int,
BufferBlob*, DirectiveSet*)+0x3e7
V [libjvm.so+0x7976da] Compiler::compile_method(ciEnv*, ciMethod*, int, DirectiveSet*)+0x19a
V [libjvm.so+0xaebc1f] CompileBroker::invoke_compiler_on_method(CompileTask*)+0x49f
V [libjvm.so+0xaecad1] CompileBroker::compiler_thread_loop()+0x2d1
V [libjvm.so+0x1d8deaf] JavaThread::thread_main_inner()+0x2df
V [libjvm.so+0x1d8e19d] JavaThread::run()+0x22d
-Aleksey
More information about the shenandoah-dev
mailing list