RFR (XXXXS): 8231162: JVMTI RawMonitorWait triggers assertion failure: Only JavaThreads can be interruptible

Daniel D. Daugherty daniel.daugherty at oracle.com
Wed Sep 18 13:36:00 UTC 2019


Forgot to say: I'm really happy you put in that new assert:

   if (interruptible) {
     assert(THREAD->is_Java_thread(), "Only JavaThreads can be 
interruptible");

Dan

On 9/18/19 9:32 AM, Daniel D. Daugherty wrote:
> Thumbs up! This is a trivial change and only needs a single (R)eviewer.
>
> Did you rerun the failing tests to make sure this is the only issue?
>
> Dan
>
> P.S.
> I've done the "test a stack of patches" together and have something break
> when you push just one of the patches... just recently in fact. :-(
> At least yours didn't happen until Tier4... :-)
>
> On 9/18/19 2:26 AM, David Holmes wrote:
>> Bug: https://bugs.openjdk.java.net/browse/JDK-8231162
>> webrev: http://cr.openjdk.java.net/~dholmes/8231162/webrev/
>>
>> -      r = rmonitor->raw_wait(millis, true, thread);
>> +      r = rmonitor->raw_wait(millis, false, thread);
>>
>> Non-JavaThreads are not interruptible and so "true" should not have 
>> been being passed. This tripped over the assertions added as part of 
>> the movement of the interrupt code to JavaThread under JDK-8230424.
>>
>> Dan: FYI I overlooked this because I already rewrote all this 
>> RawMonitor logic under "8229160: Reimplement JvmtiRawMonitor to use 
>> PlatformMonitor" to do the right thing, but of course that hasn't 
>> been pushed yet. And this isn't detected until tier 4 testing. <sigh>
>>
>> Thanks,
>> David
>



More information about the serviceability-dev mailing list