RFR(M): 8230459: Test failed to resume JVMCI CompilerThread

Doerr, Martin martin.doerr at sap.com
Wed Oct 30 17:32:56 UTC 2019


Hi Vladimir,

that must have been a good test. 

The function can_remove(..., false) is used for an heuristic answer without holding CompileThread_lock.
In this case, last_compiler can be NULL and we need to use the normal resolve function.

Changed that and added comment:
http://cr.openjdk.java.net/~mdoerr/8230459_JVMCI_thread_objects/webrev.04/

Best regards,
Martin


> -----Original Message-----
> From: hotspot-compiler-dev <hotspot-compiler-dev-
> bounces at openjdk.java.net> On Behalf Of Vladimir Kozlov
> Sent: Mittwoch, 30. Oktober 2019 17:33
> To: hotspot-compiler-dev at openjdk.java.net
> Subject: Re: RFR(M): 8230459: Test failed to resume JVMCI CompilerThread
> 
> tier1 test
> compiler/jvmci/events/JvmciNotifyBootstrapFinishedEventTest.java failed:
> 
> #  Internal Error
> (t:\workspace\open\src\hotspot\share\runtime/jniHandles.inline.hpp:91),
> pid=16072, tid=25988
> #  assert(handle != 0LL) failed: JNI handle should not be null
> 
> V  [jvm.dll+0x40f2f1]  JNIHandles::resolve_non_null+0x31
> (jnihandles.inline.hpp:91)
> V  [jvm.dll+0x4a16e8]  can_remove+0xc8  (compilebroker.cpp:319)
> V  [jvm.dll+0x4a4a6e]  CompileQueue::get+0x12e  (compilebroker.cpp:435)
> V  [jvm.dll+0x4a4362]  CompileBroker::compiler_thread_loop+0x1b2
> (compilebroker.cpp:1818)
> V  [jvm.dll+0xc7af3e]  JavaThread::run+0x27e  (thread.cpp:1946)
> 
> I attached hs_err file to bug report.
> 
> Vladimir
> 
> On 10/30/19 8:24 AM, Vladimir Kozlov wrote:
> > Thank you guys for discussing and resolving this issue. The fix looks
> > reasonable to me.
> > I will submit several tiers testing to include Graal testing and let you
> > know results.
> >
> > Thanks,
> > Vladimir
> >
> > On 10/30/19 6:30 AM, David Holmes wrote:
> >> On 30/10/2019 9:35 pm, Doerr, Martin wrote:
> >>> Hi David,
> >>>
> >>>> I don't think factoring out CompileBroker::clear_compiler2_object
> when
> >>>> it is only used once was warranted, but that's a call for compiler team
> >>>> to make. Otherwise changes seem fine and I have noted the use of the
> >>>> MutexUnlocker as per your direct email.
> >>> I did that because _compiler2_objects is private and there's
> >>> currently no setter available.
> >>
> >> Ah I see - sorry I missed that.
> >>
> >> Thanks,
> >> David
> >>
> >>> Thanks for your review.
> >>>
> >>> Best regards,
> >>> Martin
> >>>
> >>>
> >>>> -----Original Message-----
> >>>> From: David Holmes <david.holmes at oracle.com>
> >>>> Sent: Mittwoch, 30. Oktober 2019 07:27
> >>>> To: Doerr, Martin <martin.doerr at sap.com>; 'hotspot-compiler-
> >>>> dev at openjdk.java.net' <hotspot-compiler-dev at openjdk.java.net>;
> David
> >>>> Holmes <David.Holmes at oracle.com>
> >>>> Subject: Re: RFR(M): 8230459: Test failed to resume JVMCI
> >>>> CompilerThread
> >>>>
> >>>> Hi Martin,
> >>>>
> >>>> Sorry I missed the part about the new RFR thread and replied to the old
> >>>> one first :(
> >>>>
> >>>> On 30/10/2019 1:17 am, Doerr, Martin wrote:
> >>>>> Hi,
> >>>>>
> >>>>> after some discussions with David and Kim, I think we have a direction
> >>>>> to go forward.
> >>>>>
> >>>>> The discussion in the bug and on the mailing list is pretty long:
> >>>>>
> >>>>> https://bugs.openjdk.java.net/browse/JDK-8230459
> >>>>>
> >>>>> http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/2019-
> >>>> October/035462.html
> >>>>>
> >>>>> To make long story short, I suggest to create new j.l.Thread objects
> >>>>> only for JVMCI threads when (re)starting more threads on demand.
> >>>>>
> >>>>> This avoids such issues with observable thread state transitions etc.
> >>>>>
> >>>>> This is my current proposal:
> >>>>>
> >>>>>
> >>>>
> http://cr.openjdk.java.net/~mdoerr/8230459_JVMCI_thread_objects/webr
> >>>> ev.03/
> >>>>
> >>>> I don't think factoring out CompileBroker::clear_compiler2_object
> when
> >>>> it is only used once was warranted, but that's a call for compiler team
> >>>> to make. Otherwise changes seem fine and I have noted the use of the
> >>>> MutexUnlocker as per your direct email.
> >>>>
> >>>> Thanks,
> >>>> David
> >>>> -----
> >>>>
> >>>>> Please review.
> >>>>>
> >>>>> Best regard,
> >>>>>
> >>>>> Martin
> >>>>>


More information about the hotspot-compiler-dev mailing list