Hi Gary,
The fix looks good in general. One comment though: http://cr.openjdk.java.net/~gadams/6545967/webrev.00/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS203/hs203t003/hs203t003.java.frames.html 80 public boolean agentMethod() { 81 boolean passed = false; 82 MyThread mt = new MyThread(); 83 try { 84 mt.start(); 85 // check if we can can pop the thread. 86 // we can not do redefine / pop frame on run method. 87 while(!MyThread.resume.get()); 88 // sleep for some few secs to get redefined. 89 while(!isRedefined()) { 90 Thread.sleep(100); 91 } 92 popThreadFrame(mt); // pop the frame. 93 resumeThread(mt); // resume the thread. 94 mt.join(); 95 // wait till the other thread completes its execution. 96 System.out.println(" Thread state after poping / redefining = "+mt.threadState); 97 } catch(Exception ie) { 98 ie.printStackTrace(); 99 } 100 if ( ( mt.threadState < 1000 ) && 101 ( redefineAttempted() && isRedefined()) && 102 agentStatus() ) { 103 passed = true; 104 } 105 return passed; 106 }It seems, the two checks ( redefineAttempted() && isRedefined()) at L101 are not needed any more. Now, there is no way out of the while loop at the line 89. Thanks, Serguei On 6/19/18 11:42, Gary Adams wrote: There are some rare race conditions that impact some jvmti tests that |
- RFR: JDK-6545967: sp05t003 failed ResumeThread(... Gary Adams
- Re: RFR: JDK-6545967: sp05t003 failed Resu... serguei.spit...@oracle.com
- Re: RFR: JDK-6545967: sp05t003 failed ... Chris Plummer
- Re: RFR: JDK-6545967: sp05t003 fai... serguei.spit...@oracle.com
- Re: RFR: JDK-6545967: sp05t003 fai... Gary Adams
- Re: RFR: JDK-6545967: sp05t003... Chris Plummer
- Re: RFR: JDK-6545967: sp0... serguei.spit...@oracle.com
- Re: RFR: JDK-6545967:... Gary Adams
- Re: RFR: JDK-6545... Chris Plummer