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