On Mon, 8 Aug 2022 18:29:54 GMT, Roman Kennke <rken...@openjdk.org> wrote:
> > I ran some test locally, 4 JDI fails and 3 JVM TI, all seems to fail in: > > ``` > > #7 0x00007f7cefc5c1ce in Thread::is_lock_owned > > (this=this@entry=0x7f7ce801dd90, adr=adr@entry=0x1 <error: Cannot access > > memory at address 0x1>) at > > /home/rehn/source/jdk/ongit/dev-jdk/open/src/hotspot/share/runtime/thread.cpp:549 > > #8 0x00007f7cef22c062 in JavaThread::is_lock_owned (this=0x7f7ce801dd90, > > adr=0x1 <error: Cannot access memory at address 0x1>) at > > /home/rehn/source/jdk/ongit/dev-jdk/open/src/hotspot/share/runtime/javaThread.cpp:979 > > #9 0x00007f7cefc79ab0 in Threads::owning_thread_from_monitor_owner > > (t_list=<optimized out>, owner=owner@entry=0x1 <error: Cannot access memory > > at address 0x1>) > > at > > /home/rehn/source/jdk/ongit/dev-jdk/open/src/hotspot/share/runtime/threads.cpp:1382 > > ``` > > Thanks, Robbin! That was a bug in JvmtiBase::get_owning_thread() where an > anonymous owner must be converted to the oop address before passing down to > Threads::owning_thread_from_monitor_owner(). I pushed a fix. Can you re-test? > Testing com/sun/jdi passes for me, now. Yes, that fixed it. I'm running more tests also. I got this build problem on aarch64: open/src/hotspot/share/asm/assembler.hpp:168), pid=3387376, tid=3387431 # assert(is_bound() || is_unused()) failed: Label was never bound to a location, but it was used as a jmp target V [libjvm.so+0x4f4788] Label::~Label()+0x48 V [libjvm.so+0x424a44] cmpFastLockNode::emit(CodeBuffer&, PhaseRegAlloc*) const+0x764 V [libjvm.so+0x1643888] PhaseOutput::fill_buffer(CodeBuffer*, unsigned int*)+0x538 V [libjvm.so+0xa85fcc] Compile::Code_Gen()+0x3bc ------------- PR: https://git.openjdk.org/jdk/pull/9680