8218401: WRONG_PHASE: vmTestbase/nsk/jvmti test crash

Daniil Titov daniil.x.titov at oracle.com
Tue Mar 19 00:12:08 UTC 2019


Hi JC,

 

You are right, the synchronization is required across callbacks,  otherwise JVMTI phase could change in the middle of a callback. I will send a new version of the patch soon.

 

Thanks!

--Daniil

 

From: Jean Christophe Beyler <jcbeyler at google.com>
Date: Friday, March 15, 2019 at 4:45 PM
To: Daniil Titov <daniil.x.titov at oracle.com>
Cc: OpenJDK Serviceability <serviceability-dev at openjdk.java.net>
Subject: Re: RFR: 8218401: WRONG_PHASE: vmTestbase/nsk/jvmti test crash

 

Hi Daniil,

 

Is it not possible that the VMDeath would happen later in the case of:

http://cr.openjdk.java.net/~dtitov/8218401/webrev.01/test/hotspot/jtreg/vmTestbase/nsk/jvmti/FramePop/framepop002/framepop002.cpp.html

 

For example, that callbacks are not yet disabled when we pass the new test:

 

+    if (!callbacksEnabled) {

+        return;

+    }

 

But gets disabled right after? (this is for my own understanding of what is possible or not :-))

 

Thanks!

Jc

 

On Fri, Mar 15, 2019 at 4:08 PM Daniil Titov <daniil.x.titov at oracle.com> wrote:

Please review the change that fixes 3 tests that intermittently fail with JVMTI_ERROR_WRONG_PHASE error.

The problem here is that the callbacks these tests enable keep processing events and perform JVMTI calls after VM is terminated. The fix makes these test listen for VMDeath event and  quick return from the callbacks after VMDeath event is received.

Webrev: http://cr.openjdk.java.net/~dtitov/8218401/webrev.01/
Bug: https://bugs.openjdk.java.net/browse/JDK-8218401

Thanks!
-Daniil 



 

-- 

 

Thanks,

Jc

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20190318/34236488/attachment.html>


More information about the serviceability-dev mailing list