Re: RFR: 8218812: vmTestbase/nsk/jvmti/GetAllThreads/allthr001/TestDescription.java failed

2019-03-07 Thread dean . long
This part seems to change the value for the 
include_jni_attaching_threads arg from true to false:


- ThreadsListEnumerator tle(Thread::current(), true);
+ ThreadsListEnumerator tle(Thread::current(), true, false, 
JvmtiExport::should_show_compiler_threads()); dl




Re: RFR:8219721: jcmd from earlier release will hang attaching to VM with JDK-8215622 applied

2019-03-07 Thread 臧琳
Thanks all for reviewing it. I think it could be pushed now, right?

BRs,
Lin

From: Thomas Stüfe 
Sent: Thursday, March 7, 2019 3:39:05 PM
To: 臧琳
Cc: serviceability-dev@openjdk.java.net serviceability-dev@openjdk.java.net
Subject: Re: RFR:8219721: jcmd from earlier release will hang attaching to VM 
with JDK-8215622 applied

Neat! Both directions are fixed now: I can connect with new jcmd to old VMs and 
vice versa. Thanks a lot!

..Thomas

On Mon, Mar 4, 2019 at 10:14 AM 臧琳 mailto:zangl...@jd.com>> 
wrote:
Dear All,
   May I ask your help to review the fix of compatibility issue introduced by 
JDK-8215622
   webrev:  http://cr.openjdk.java.net/~xiaofeya/8219721/webrev.01/
   Bug:  https://bugs.openjdk.java.net/browse/JDK-8219721

   FYI, this webrev is forked from the discussion 
https://mail.openjdk.java.net/pipermail/serviceability-dev/2019-February/027240.html.

Thanks,
Lin


Re: RFR: JDK-8218128: vmTestbase/nsk/jvmti/ResourceExhausted/resexhausted003 and 004 use wrong path to test classes

2019-03-07 Thread Leonid Mesnik
Hi
The problemlist 

http://cr.openjdk.java.net/~gadams/8218128/webrev.00/test/hotspot/jtreg/ProblemList.txt.udiff.html

Tests are excluded because of 
https://bugs.openjdk.java.net/browse/JDK-6606767
which is not fixed yet. Why do you want to remove them from
problemlist?

Also I think it is a good time to update test desrption in the 

http://cr.openjdk.java.net/~gadams/8218128/webrev.00/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ResourceExhausted/resexhausted003/TestDescription.java.udiff.html

Currently it says about PermGen OOME.

Leonid

On Thu, 2019-03-07 at 13:57 -0500, Gary Adams wrote:
> This proposed fix will restore the ResourceExhausted tests.

Test 3 and 4 were on the ProblemList because of the potential
path issues in finding the correct classes. This change searches the
test.class.path for the appropriate vmTestbase classes rather than
using
incorrect settings on the command line.

Some clean up has been done to remove quarantine keyword
and @ignore directives. Should additional clean up be done to remove
bug numbers, etc.?

TEST.PROPERTIES were added so test 3 so it is consistent with the
other 
tests
in the group.

   Issue: https://bugs.openjdk.java.net/browse/JDK-8218128
   Webrev: 
http://cr.openjdk.java.net/~gadams/8218128/webrev.00/index.html

Local testing has been successful on a linux-x64-debug build.
Testing on mach5 for other platforms next.



Re: RFR: JDK-8218128: vmTestbase/nsk/jvmti/ResourceExhausted/resexhausted003 and 004 use wrong path to test classes

2019-03-07 Thread Chris Plummer

Hi Gary,

Why did you remove the "nonconcurrent" keyword. I know these are just 
comments for reference that were added when the test was ported from 
tonga, but as a comment it is still applicable. The test should not be 
run concurrent with others (which you have also fixed with the addition 
of the "exclusiveAccess.dirs=.").


Otherwise changes look good.

thanks,

Chris

On 3/7/19 10:57 AM, Gary Adams wrote:

This proposed fix will restore the ResourceExhausted tests.

Test 3 and 4 were on the ProblemList because of the potential
path issues in finding the correct classes. This change searches the
test.class.path for the appropriate vmTestbase classes rather than using
incorrect settings on the command line.

Some clean up has been done to remove quarantine keyword
and @ignore directives. Should additional clean up be done to remove
bug numbers, etc.?

TEST.PROPERTIES were added so test 3 so it is consistent with the 
other tests

in the group.

  Issue: https://bugs.openjdk.java.net/browse/JDK-8218128
  Webrev: http://cr.openjdk.java.net/~gadams/8218128/webrev.00/index.html

Local testing has been successful on a linux-x64-debug build.
Testing on mach5 for other platforms next.






Re: RFR: 8218812: vmTestbase/nsk/jvmti/GetAllThreads/allthr001/TestDescription.java failed

2019-03-07 Thread dean . long
There are other places where is_hidden_from_external_view() is used.  
Should is_hidden_from_external_view() also check the new capability?  If 
so, then you can simplify your changes.  I'm not sure the new capability 
is the best choice, however.  There is still no way to control whether 
compiler threads can post events, hit breakpoints, single-step, etc.  
And "compiler thread" might be too specific.  There might be other types 
of "system thread" that we want to ignore.  Since this is a JVMTI spec 
change, I think it deserves more discussion.  For example, an 
alternative would be a way to set "can debug"/"visible"/"can post 
events"/etc flags on individual threads.


dl

On 3/7/19 9:54 AM, Daniil Titov wrote:


Please review a change that fixes this test.

The problem here is that the test checks the number of threads and 
with Graal on additional threads the test doesn't expect are started 
and cause the test fail.


The fix introduces a new capability " can_show_compiler_threads" that 
affects whether Java compiler threads are retuned with JVMTI 
GetAllThreads call. By default this capability is off. The fix also 
adds " HotSpotGraalManagement Bean Registration" thread to the list of 
the threads the tests must ignore.


Webrev: http://cr.openjdk.java.net/~dtitov/8218812/webrev.01

Bug: https://bugs.openjdk.java.net/browse/JDK-8218812

Mach5 tier1, tier2 and tier3 tests successfully passed with this change.

Thanks!

-Daniil





Re: RFR: 8218812: vmTestbase/nsk/jvmti/GetAllThreads/allthr001/TestDescription.java failed

2019-03-07 Thread Daniel D. Daugherty

On 3/7/19 12:54 PM, Daniil Titov wrote:


Please review a change that fixes this test.

The problem here is that the test checks the number of threads and 
with Graal on additional threads the test doesn't expect are started 
and cause the test fail.


The fix introduces a new capability " can_show_compiler_threads" that 
affects whether Java compiler threads are retuned with JVMTI 
GetAllThreads call. By default this capability is off. The fix also 
adds " HotSpotGraalManagement Bean Registration" thread to the list of 
the threads the tests must ignore.


Webrev: http://cr.openjdk.java.net/~dtitov/8218812/webrev.01



src/hotspot/share/prims/jvmti.xml
    L10382:   since="13">

    You might want to include a diff between the old generated jvmti.h
    and the new one. I expect it to show something like this:

  unsigned int can_generate_resource_exhaustion_threads_events : 1;
  +    unsigned int can_show_compiler_threads : 1;
  -    unsigned int : 7;
  +    unsigned int : 6;

    Also, I think this will need a JVM/TI version bump so that an agent
    can conditionally compile in the code that accesses the new
    can_show_compiler_threads field.

    This also will need a CSR since it is changing an API.

src/hotspot/share/prims/jvmtiEnv.cpp
    No comments.

src/hotspot/share/prims/jvmtiExport.cpp
    No comments.

src/hotspot/share/prims/jvmtiExport.hpp
    No comments.

src/hotspot/share/prims/jvmtiManageCapabilities.cpp
    No comments.

src/hotspot/share/services/threadService.cpp
    L1048:     if (!include_compiler_threads && jt->is_Compiler_thread()) {
    L1049:     continue;
    nit - please reduce indent by two spaces

src/hotspot/share/services/threadService.hpp
    No comments.

test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/jvmti_tools.cpp
    No comments.

Thumbs up on the code changes. Double check with Serguei about
the need for a CSR...

Dan


Bug: https://bugs.openjdk.java.net/browse/JDK-8218812

Mach5 tier1, tier2 and tier3 tests successfully passed with this change.

Thanks!

-Daniil





RFR: JDK-8218128: vmTestbase/nsk/jvmti/ResourceExhausted/resexhausted003 and 004 use wrong path to test classes

2019-03-07 Thread Gary Adams

This proposed fix will restore the ResourceExhausted tests.

Test 3 and 4 were on the ProblemList because of the potential
path issues in finding the correct classes. This change searches the
test.class.path for the appropriate vmTestbase classes rather than using
incorrect settings on the command line.

Some clean up has been done to remove quarantine keyword
and @ignore directives. Should additional clean up be done to remove
bug numbers, etc.?

TEST.PROPERTIES were added so test 3 so it is consistent with the other 
tests

in the group.

  Issue: https://bugs.openjdk.java.net/browse/JDK-8218128
  Webrev: http://cr.openjdk.java.net/~gadams/8218128/webrev.00/index.html

Local testing has been successful on a linux-x64-debug build.
Testing on mach5 for other platforms next.


RFR: 8218812: vmTestbase/nsk/jvmti/GetAllThreads/allthr001/TestDescription.java failed

2019-03-07 Thread Daniil Titov
Please review a change that fixes this test. 

 

The problem here is that the test checks the number of threads and with Graal 
on additional threads the test doesn't expect are started and cause the test 
fail. 

 

The fix introduces a new capability " can_show_compiler_threads" that affects 
whether Java compiler threads are retuned with JVMTI GetAllThreads call. By 
default this capability is off. The fix also adds " HotSpotGraalManagement Bean 
Registration" thread to the list of the threads the tests must ignore. 

 

Webrev: http://cr.openjdk.java.net/~dtitov/8218812/webrev.01 

Bug: https://bugs.openjdk.java.net/browse/JDK-8218812 

 

Mach5 tier1, tier2 and tier3 tests successfully passed with this change. 

 

Thanks!

-Daniil

 



Re: 8218812: vmTestbase/nsk/jvmti/GetAllThreads/allthr001/TestDescription.java failed

2019-03-07 Thread Daniil Titov
Please disregard this email, somehow it got a wrong body..
Will resend the request later after dealing with my mail client.

Best regards,
Danill



On 3/7/19, 9:46 AM, "serviceability-dev on behalf of Daniil Titov" 
 wrote:

Resending review request with corrected subject...

Please review a fix for this test that intermittently fails with Graal on.  

The problem here is that the test does two consequent calls to 
VirtualMachine.allThreads() and checks that the number of threads returned by 
these calls is the same. With Graal on there is a chance that a new JVMCI 
compiler thread could be started between these calls that makes test to fail. 
The fix temporary suspends the debuggee VM while these two calls to 
VirtualMachine.allThreads() are made. 

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

Thanks!
--Daniil










RFR: 8218812: vmTestbase/nsk/jvmti/GetAllThreads/allthr001/TestDescription.java failed

2019-03-07 Thread Daniil Titov
Resending review request with corrected subject...

Please review a fix for this test that intermittently fails with Graal on.  

The problem here is that the test does two consequent calls to 
VirtualMachine.allThreads() and checks that the number of threads returned by 
these calls is the same. With Graal on there is a chance that a new JVMCI 
compiler thread could be started between these calls that makes test to fail. 
The fix temporary suspends the debuggee VM while these two calls to 
VirtualMachine.allThreads() are made. 

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

Thanks!
--Daniil






8218812: vmTestbase/nsk/jvmti/GetAllThreads/allthr001/TestDescription.java failed

2019-03-07 Thread Daniil Titov
Please review a change that fixes this test.

The problem here is that the test checks the number of threads and with Graal 
on additional threads the test doesn't expect are started and cause the test 
fail.

The fix introduces a new capability " can_show_compiler_threads" that affects 
whether Java compiler threads are retuned with JVMTI GetAllThreads call. By 
default this capability is off. The fix also adds " HotSpotGraalManagement Bean 
Registration" thread to the list of the threads the tests must ignore.

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

Mach5 tier1, tier2 and tier3 tests successfully passed with this change.

Thanks!
-Daniil






Re: RFR: JDK-8218166: [Graal] com/sun/jdi/SimulResumerTest.java failure

2019-03-07 Thread Daniel D. Daugherty

Gary,

Since the 'graal' label was recently removed, I also removed "[Graal]"
from the bug synopsis. Please make sure you update your commit mesg.


On 3/7/19 8:19 AM, Gary Adams wrote:

While trying to reproduce the timeout reported in
  JDK-8000669: com/sun/jdi/SimulResumerTest.java times out

I was unable to reproduce the timeout failure, but I did occasionally
see the ObjectCollectedException. The output from the test is very 
verbose
and may be the source of the occasional timeout. I'd like to close 
JDK-8000669
as cannot reproduce and if it shows up again look into limiting the 
amount

of non-essential output from the test.

This is a racy test to begin with and it already is ignoring exceptions
due to unexpected thread states. Adding the ignore for 
ObjectCollectedException

allows the test to complete without errors.

The graal label was recently removed. We should also remove it from 
the summary.


Proposed changeset:


diff --git a/test/jdk/com/sun/jdi/SimulResumerTest.java 
b/test/jdk/com/sun/jdi/SimulResumerTest.java

--- a/test/jdk/com/sun/jdi/SimulResumerTest.java
+++ b/test/jdk/com/sun/jdi/SimulResumerTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights 
reserved.
+ * Copyright (c) 2008, 2019, Oracle and/or its affiliates. All rights 
reserved.

  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -211,6 +211,8 @@

 } catch (IncompatibleThreadStateException ee) {
 // ignore
+    } catch (ObjectCollectedException ee) {
+    // ignore
 } catch (VMDisconnectedException ee) {
 // This is how we stop.  The debuggee runs to completion
 // and we get this exception.


There should be some sort of comment explaining why it is okay to ignore
the ObjectCollectedException. When the IncompatibleThreadStateException
was ignored, there should have been a comment added for that also.

Dan



RFR: JDK-8218166: [Graal] com/sun/jdi/SimulResumerTest.java failure

2019-03-07 Thread Gary Adams

While trying to reproduce the timeout reported in
  JDK-8000669: com/sun/jdi/SimulResumerTest.java times out

I was unable to reproduce the timeout failure, but I did occasionally
see the ObjectCollectedException. The output from the test is very verbose
and may be the source of the occasional timeout. I'd like to close 
JDK-8000669

as cannot reproduce and if it shows up again look into limiting the amount
of non-essential output from the test.

This is a racy test to begin with and it already is ignoring exceptions
due to unexpected thread states. Adding the ignore for 
ObjectCollectedException

allows the test to complete without errors.

The graal label was recently removed. We should also remove it from the 
summary.


Proposed changeset:


diff --git a/test/jdk/com/sun/jdi/SimulResumerTest.java 
b/test/jdk/com/sun/jdi/SimulResumerTest.java

--- a/test/jdk/com/sun/jdi/SimulResumerTest.java
+++ b/test/jdk/com/sun/jdi/SimulResumerTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights 
reserved.
+ * Copyright (c) 2008, 2019, Oracle and/or its affiliates. All rights 
reserved.

  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -211,6 +211,8 @@

 } catch (IncompatibleThreadStateException ee) {
 // ignore
+} catch (ObjectCollectedException ee) {
+// ignore
 } catch (VMDisconnectedException ee) {
 // This is how we stop.  The debuggee runs to completion
 // and we get this exception.