Re: RFR: 8288907: serviceability/jvmti/vthread/SuspendResume1/SuspendResume1.java fails with -XX:TieredStopAtLevel=2,3

2022-09-29 Thread Serguei Spitsyn
On Thu, 29 Sep 2022 07:21:46 GMT, Serguei Spitsyn  wrote:

> The test SuspendResume fails on linux-aarch64 with timeouts.
> However, it never fails when test timeout is set to a bigger value:
> 
> diff --git 
> a/test/hotspot/jtreg/serviceability/jvmti/vthread/SuspendResume1/SuspendResume1.java
>  
> b/test/hotspot/jtreg/serviceability/jvmti/vthread/SuspendResume1/SuspendResume1.java
> index cd5b8251fce..562f2eae921 100644
> --- 
> a/test/hotspot/jtreg/serviceability/jvmti/vthread/SuspendResume1/SuspendResume1.java
> +++ 
> b/test/hotspot/jtreg/serviceability/jvmti/vthread/SuspendResume1/SuspendResume1.java
> @@ -29,7 +29,7 @@
>   * @library /test/lib
>   * @compile --enable-preview -source ${jdk.version} SuspendResume1.java
>   * @run driver jdk.test.lib.FileInstaller . .
> - * @run main/othervm/native
> + * @run main/othervm/native/timeout=600
>   *  --enable-preview
>   *  -Djava.util.concurrent.ForkJoinPool.common.parallelism=1
>   *  -agentlib:SuspendResume1
> 
> 
> I'd like to push this as a trivial fix.
> 
> Testing: Submitted mach5 test runs on multiple platforms.

Thank you for the comment, Chris. I agree, this test is executed on 
linux-aarch64 much slower than on other platforms. Now, I can move this bug to 
the Compiler team plate or push my fix and open a Compiler bug separately. It 
feels like you prefer the former.

-

PR: https://git.openjdk.org/jdk/pull/10480


Re: RFR: 8294406: Test runtime/handshake/HandshakeDirectTest.java failed: JVMTI_ERROR_WRONG_PHASE

2022-09-29 Thread Serguei Spitsyn
On Fri, 30 Sep 2022 04:37:58 GMT, David Holmes  wrote:

> Why is `JVMTI_ERROR_WRONG_PHASE` a valid result here?

I think, it is because the testing `suspendResumeThread` tread is a daemon 
thread.
I'm not sure why it was set to be a daemon thread though.

-

PR: https://git.openjdk.org/jdk/pull/10502


Re: RFR: 8294406: Test runtime/handshake/HandshakeDirectTest.java failed: JVMTI_ERROR_WRONG_PHASE

2022-09-29 Thread David Holmes
On Fri, 30 Sep 2022 01:32:44 GMT, Leonid Mesnik  wrote:

> 8294406: Test runtime/handshake/HandshakeDirectTest.java failed: 
> JVMTI_ERROR_WRONG_PHASE

Why is `JVMTI_ERROR_WRONG_PHASE` a valid result here?

-

PR: https://git.openjdk.org/jdk/pull/10502


Re: RFR: JDK-8294618: Update openjdk.java.net => openjdk.org [v4]

2022-09-29 Thread Iris Clark
On Fri, 30 Sep 2022 01:11:45 GMT, Joe Darcy  wrote:

>> With the domain change from openjdk.java.net to openjdk.org, references to 
>> URLs in the sources should be updated.
>> 
>> Updates were made using a shell script. I"ll run a copyright updater before 
>> any push.
>
> Joe Darcy has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   http -> https

Marked as reviewed by iris (Reviewer).

src/jdk.accessibility/windows/native/include/bridge/AccessBridgeCalls.h line 34:

> 32:  * the following link:
> 33:  *
> 34:  * 
> http://hg.openjdk.org/jdk9/jdk9/jdk/raw-file/tip/src/jdk.accessibility/windows/native/bridge/AccessBridgeCalls.c

The domain for hg wasn't changed to openjdk.org.  The original URL is correct.

-

PR: https://git.openjdk.org/jdk/pull/10501


Re: RFR: JDK-8294618: Update openjdk.java.net => openjdk.org

2022-09-29 Thread Joe Darcy
On Fri, 30 Sep 2022 00:48:02 GMT, Mikael Vidstedt  wrote:

> Switch to https where needed/applicable while at it?

Good idea; might as well do the update in a single changeset.

-

PR: https://git.openjdk.org/jdk/pull/10501


Re: RFR: JDK-8294618: Update openjdk.java.net => openjdk.org [v4]

2022-09-29 Thread Joe Darcy
> With the domain change from openjdk.java.net to openjdk.org, references to 
> URLs in the sources should be updated.
> 
> Updates were made using a shell script. I"ll run a copyright updater before 
> any push.

Joe Darcy has updated the pull request incrementally with one additional commit 
since the last revision:

  http -> https

-

Changes:
  - all: https://git.openjdk.org/jdk/pull/10501/files
  - new: https://git.openjdk.org/jdk/pull/10501/files/04dfc3ef..cee96d0a

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=10501&range=03
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=10501&range=02-03

  Stats: 22 lines in 6 files changed: 0 ins; 0 del; 22 mod
  Patch: https://git.openjdk.org/jdk/pull/10501.diff
  Fetch: git fetch https://git.openjdk.org/jdk pull/10501/head:pull/10501

PR: https://git.openjdk.org/jdk/pull/10501


Re: RFR: JDK-8294618: Update openjdk.java.net => openjdk.org [v3]

2022-09-29 Thread Joe Darcy
> With the domain change from openjdk.java.net to openjdk.org, references to 
> URLs in the sources should be updated.
> 
> Updates were made using a shell script. I"ll run a copyright updater before 
> any push.

Joe Darcy has updated the pull request incrementally with one additional commit 
since the last revision:

  Undo manpage update.

-

Changes:
  - all: https://git.openjdk.org/jdk/pull/10501/files
  - new: https://git.openjdk.org/jdk/pull/10501/files/2f257762..04dfc3ef

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=10501&range=02
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=10501&range=01-02

  Stats: 5 lines in 1 file changed: 0 ins; 0 del; 5 mod
  Patch: https://git.openjdk.org/jdk/pull/10501.diff
  Fetch: git fetch https://git.openjdk.org/jdk pull/10501/head:pull/10501

PR: https://git.openjdk.org/jdk/pull/10501


Re: RFR: JDK-8294618: Update openjdk.java.net => openjdk.org

2022-09-29 Thread Mikael Vidstedt
On Fri, 30 Sep 2022 00:33:57 GMT, Joe Darcy  wrote:

> With the domain change from openjdk.java.net to openjdk.org, references to 
> URLs in the sources should be updated.
> 
> Updates were made using a shell script. I"ll run a copyright updater before 
> any push.

Switch to https where needed/applicable while at it?

-

PR: https://git.openjdk.org/jdk/pull/10501


Re: RFR: JDK-8294618: Update openjdk.java.net => openjdk.org [v2]

2022-09-29 Thread Mikael Vidstedt
On Fri, 30 Sep 2022 00:50:13 GMT, Joe Darcy  wrote:

>> With the domain change from openjdk.java.net to openjdk.org, references to 
>> URLs in the sources should be updated.
>> 
>> Updates were made using a shell script. I"ll run a copyright updater before 
>> any push.
>
> Joe Darcy has updated the pull request incrementally with two additional 
> commits since the last revision:
> 
>  - Update copyright.
>  - Revert unintended update to binary file.

Marked as reviewed by mikael (Reviewer).

-

PR: https://git.openjdk.org/jdk/pull/10501


Re: RFR: JDK-8294618: Update openjdk.java.net => openjdk.org [v2]

2022-09-29 Thread Joe Darcy
> With the domain change from openjdk.java.net to openjdk.org, references to 
> URLs in the sources should be updated.
> 
> Updates were made using a shell script. I"ll run a copyright updater before 
> any push.

Joe Darcy has updated the pull request incrementally with two additional 
commits since the last revision:

 - Update copyright.
 - Revert unintended update to binary file.

-

Changes:
  - all: https://git.openjdk.org/jdk/pull/10501/files
  - new: https://git.openjdk.org/jdk/pull/10501/files/b12d774f..2f257762

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=10501&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=10501&range=00-01

  Stats: 10 lines in 11 files changed: 0 ins; 0 del; 10 mod
  Patch: https://git.openjdk.org/jdk/pull/10501.diff
  Fetch: git fetch https://git.openjdk.org/jdk pull/10501/head:pull/10501

PR: https://git.openjdk.org/jdk/pull/10501


RFR: JDK-8294618: Update openjdk.java.net => openjdk.org

2022-09-29 Thread Joe Darcy
With the domain change from openjdk.java.net to openjdk.org, references to URLs 
in the sources should be updated.

Updates were made using a shell script. I"ll run a copyright updater before any 
push.

-

Commit messages:
 - JDK-8294618: Update openjdk.java.net => openjdk.org

Changes: https://git.openjdk.org/jdk/pull/10501/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=10501&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8294618
  Stats: 79 lines in 39 files changed: 0 ins; 0 del; 79 mod
  Patch: https://git.openjdk.org/jdk/pull/10501.diff
  Fetch: git fetch https://git.openjdk.org/jdk pull/10501/head:pull/10501

PR: https://git.openjdk.org/jdk/pull/10501


Re: RFR: 8289711: Add container configuration data to mbeans [v10]

2022-09-29 Thread Andrey Turbanov
On Wed, 10 Aug 2022 02:10:25 GMT, xpbob  wrote:

>> Container configuration information is useful for troubleshooting 
>> problems,Exposing information in MBeans is ideal for monitoring, jConsole, 
>> and other scenarios.
>> Results the following
>> ![图片](https://user-images.githubusercontent.com/7837910/177248834-50beefe9-4db6-470c-8f15-df5a93892804.png)
>
> xpbob has updated the pull request incrementally with one additional commit 
> since the last revision:
> 
>   add bean to list

src/jdk.management/share/classes/com/sun/management/ContainerInfoMXBean.java 
line 31:

> 29:  * This is a special bean , only available on Linux systems
> 30:  */
> 31: public interface ContainerInfoMXBean  extends PlatformManagedObject {

let's remove one redundant space before `extends`

-

PR: https://git.openjdk.org/jdk/pull/9372


Integrated: 8294547: HotSpotAgent.setupVM() should include "cause" exception when throwing DebuggerException

2022-09-29 Thread Chris Plummer
On Wed, 28 Sep 2022 22:38:44 GMT, Chris Plummer  wrote:

> In `HotSpotAgent.setupVM()`, if there is an underlying exception in the vm 
> setup, the exception is consumed and a `DebuggerException` is thrown, hiding 
> the root cause. When throwing the `DebuggerException`, the "cause" exception 
> should be included. This provides a more detailed exception stack trace, such 
> as the following:
> 
> 
> Doesn't appear to be a HotSpot VM (could not find symbol "gHotSpotVMTypes" in
> remote process)
> sun.jvm.hotspot.debugger.DebuggerException: Doesn't appear to be a HotSpot VM 
> (could not find symbol "gHotSpotVMTypes" in remote process)
> at 
> jdk.hotspot.agent/sun.jvm.hotspot.HotSpotAgent.setupVM(HotSpotAgent.java:428)
> at jdk.hotspot.agent/sun.jvm.hotspot.HotSpotAgent.go(HotSpotAgent.java:338)
> at 
> jdk.hotspot.agent/sun.jvm.hotspot.HotSpotAgent.attach(HotSpotAgent.java:158)
> at jdk.hotspot.agent/sun.jvm.hotspot.CLHSDB.attachDebugger(CLHSDB.java:210)
> at jdk.hotspot.agent/sun.jvm.hotspot.CLHSDB.run(CLHSDB.java:69)
> at jdk.hotspot.agent/sun.jvm.hotspot.CLHSDB.main(CLHSDB.java:44)
> at jdk.hotspot.agent/sun.jvm.hotspot.SALauncher.runCLHSDB(SALauncher.java:281)
> at jdk.hotspot.agent/sun.jvm.hotspot.SALauncher.main(SALauncher.java:500)
> Caused by: sun.jvm.hotspot.debugger.NoSuchSymbolException: Could not find 
> symbol "gHotSpotVMTypes" in any of the known library names (jvm.dll)
> at 
> jdk.hotspot.agent/sun.jvm.hotspot.HotSpotTypeDataBase.lookupInProcess(HotSpotTypeDataBase.java:622)
> at 
> jdk.hotspot.agent/sun.jvm.hotspot.HotSpotTypeDataBase.readVMTypes(HotSpotTypeDataBase.java:154)
> at 
> jdk.hotspot.agent/sun.jvm.hotspot.HotSpotTypeDataBase.(HotSpotTypeDataBase.java:89)
> at 
> jdk.hotspot.agent/sun.jvm.hotspot.HotSpotAgent.setupVM(HotSpotAgent.java:407)
> ... 7 more 
> 
> 
> I'd like to push this as a trivial change.

This pull request has now been integrated.

Changeset: 5f6ad926
Author:Chris Plummer 
URL:   
https://git.openjdk.org/jdk/commit/5f6ad926d7ea763bf61aa98c7be7087a7aa6089c
Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod

8294547: HotSpotAgent.setupVM() should include "cause" exception when throwing 
DebuggerException

Reviewed-by: sspitsyn, coleenp

-

PR: https://git.openjdk.org/jdk/pull/10474


Integrated: 8294548: Problem list SA core file tests on macosx-x64 due to JDK-8294316

2022-09-29 Thread Chris Plummer
On Wed, 28 Sep 2022 23:32:24 GMT, Chris Plummer  wrote:

> The SA core file tests are already problem listed on macosx-x64 due to 
> [JDK-8267433](https://bugs.openjdk.org/browse/JDK-8267433), but they should 
> also be due to [JDK-8294316](https://bugs.openjdk.org/browse/JDK-8294316), 
> which is actually the much more serious of the two issues.
> 
> I'd like to push this as a trivial change.

This pull request has now been integrated.

Changeset: 545ded1a
Author:Chris Plummer 
URL:   
https://git.openjdk.org/jdk/commit/545ded1a82baf62ef551b2be2a08ee29ab5d9311
Stats: 7 lines in 1 file changed: 0 ins; 0 del; 7 mod

8294548: Problem list SA core file tests on macosx-x64 due to JDK-8294316

Reviewed-by: sspitsyn

-

PR: https://git.openjdk.org/jdk/pull/10476


Re: RFR: 8294547: HotSpotAgent.setupVM() should include "cause" exception when throwing DebuggerException

2022-09-29 Thread Coleen Phillimore
On Wed, 28 Sep 2022 22:38:44 GMT, Chris Plummer  wrote:

> In `HotSpotAgent.setupVM()`, if there is an underlying exception in the vm 
> setup, the exception is consumed and a `DebuggerException` is thrown, hiding 
> the root cause. When throwing the `DebuggerException`, the "cause" exception 
> should be included. This provides a more detailed exception stack trace, such 
> as the following:
> 
> 
> Doesn't appear to be a HotSpot VM (could not find symbol "gHotSpotVMTypes" in
> remote process)
> sun.jvm.hotspot.debugger.DebuggerException: Doesn't appear to be a HotSpot VM 
> (could not find symbol "gHotSpotVMTypes" in remote process)
> at 
> jdk.hotspot.agent/sun.jvm.hotspot.HotSpotAgent.setupVM(HotSpotAgent.java:428)
> at jdk.hotspot.agent/sun.jvm.hotspot.HotSpotAgent.go(HotSpotAgent.java:338)
> at 
> jdk.hotspot.agent/sun.jvm.hotspot.HotSpotAgent.attach(HotSpotAgent.java:158)
> at jdk.hotspot.agent/sun.jvm.hotspot.CLHSDB.attachDebugger(CLHSDB.java:210)
> at jdk.hotspot.agent/sun.jvm.hotspot.CLHSDB.run(CLHSDB.java:69)
> at jdk.hotspot.agent/sun.jvm.hotspot.CLHSDB.main(CLHSDB.java:44)
> at jdk.hotspot.agent/sun.jvm.hotspot.SALauncher.runCLHSDB(SALauncher.java:281)
> at jdk.hotspot.agent/sun.jvm.hotspot.SALauncher.main(SALauncher.java:500)
> Caused by: sun.jvm.hotspot.debugger.NoSuchSymbolException: Could not find 
> symbol "gHotSpotVMTypes" in any of the known library names (jvm.dll)
> at 
> jdk.hotspot.agent/sun.jvm.hotspot.HotSpotTypeDataBase.lookupInProcess(HotSpotTypeDataBase.java:622)
> at 
> jdk.hotspot.agent/sun.jvm.hotspot.HotSpotTypeDataBase.readVMTypes(HotSpotTypeDataBase.java:154)
> at 
> jdk.hotspot.agent/sun.jvm.hotspot.HotSpotTypeDataBase.(HotSpotTypeDataBase.java:89)
> at 
> jdk.hotspot.agent/sun.jvm.hotspot.HotSpotAgent.setupVM(HotSpotAgent.java:407)
> ... 7 more 
> 
> 
> I'd like to push this as a trivial change.

Thank you!

-

Marked as reviewed by coleenp (Reviewer).

PR: https://git.openjdk.org/jdk/pull/10474


Re: RFR: 8288907: serviceability/jvmti/vthread/SuspendResume1/SuspendResume1.java fails with -XX:TieredStopAtLevel=2,3

2022-09-29 Thread Chris Plummer
On Thu, 29 Sep 2022 07:21:46 GMT, Serguei Spitsyn  wrote:

> The test SuspendResume fails on linux-aarch64 with timeouts.
> However, it never fails when test timeout is set to a bigger value:
> 
> diff --git 
> a/test/hotspot/jtreg/serviceability/jvmti/vthread/SuspendResume1/SuspendResume1.java
>  
> b/test/hotspot/jtreg/serviceability/jvmti/vthread/SuspendResume1/SuspendResume1.java
> index cd5b8251fce..562f2eae921 100644
> --- 
> a/test/hotspot/jtreg/serviceability/jvmti/vthread/SuspendResume1/SuspendResume1.java
> +++ 
> b/test/hotspot/jtreg/serviceability/jvmti/vthread/SuspendResume1/SuspendResume1.java
> @@ -29,7 +29,7 @@
>   * @library /test/lib
>   * @compile --enable-preview -source ${jdk.version} SuspendResume1.java
>   * @run driver jdk.test.lib.FileInstaller . .
> - * @run main/othervm/native
> + * @run main/othervm/native/timeout=600
>   *  --enable-preview
>   *  -Djava.util.concurrent.ForkJoinPool.common.parallelism=1
>   *  -agentlib:SuspendResume1
> 
> 
> I'd like to push this as a trivial fix.
> 
> Testing: Submitted mach5 test runs on multiple platforms.

I also tried the same with product builds. linux-aarch64 got worse, with 4 out 
of 5 timing out. linux-x64 improved with only one run over 1m.

-

PR: https://git.openjdk.org/jdk/pull/10480


Re: RFR: 8288907: serviceability/jvmti/vthread/SuspendResume1/SuspendResume1.java fails with -XX:TieredStopAtLevel=2,3

2022-09-29 Thread Chris Plummer
On Thu, 29 Sep 2022 07:21:46 GMT, Serguei Spitsyn  wrote:

> The test SuspendResume fails on linux-aarch64 with timeouts.
> However, it never fails when test timeout is set to a bigger value:
> 
> diff --git 
> a/test/hotspot/jtreg/serviceability/jvmti/vthread/SuspendResume1/SuspendResume1.java
>  
> b/test/hotspot/jtreg/serviceability/jvmti/vthread/SuspendResume1/SuspendResume1.java
> index cd5b8251fce..562f2eae921 100644
> --- 
> a/test/hotspot/jtreg/serviceability/jvmti/vthread/SuspendResume1/SuspendResume1.java
> +++ 
> b/test/hotspot/jtreg/serviceability/jvmti/vthread/SuspendResume1/SuspendResume1.java
> @@ -29,7 +29,7 @@
>   * @library /test/lib
>   * @compile --enable-preview -source ${jdk.version} SuspendResume1.java
>   * @run driver jdk.test.lib.FileInstaller . .
> - * @run main/othervm/native
> + * @run main/othervm/native/timeout=600
>   *  --enable-preview
>   *  -Djava.util.concurrent.ForkJoinPool.common.parallelism=1
>   *  -agentlib:SuspendResume1
> 
> 
> I'd like to push this as a trivial fix.
> 
> Testing: Submitted mach5 test runs on multiple platforms.

I'm not so sure increasing the timeout is the right thing to do. Here are the 
results of running 5 times on each of our 5 platforms with 
`-XX:TieredStopAtLevel=2"`

macosx-aarch64-debug22s
windows-x64-debug   23s
windows-x64-debug   23s
macosx-aarch64-debug23s
macosx-aarch64-debug24s
macosx-aarch64-debug24s
windows-x64-debug   24s
macosx-x64-debug24s
macosx-aarch64-debug25s
macosx-x64-debug26s
macosx-x64-debug26s
macosx-x64-debug26s
macosx-x64-debug26s
windows-x64-debug   28s
windows-x64-debug   33s
linux-x64-debug 43s
linux-x64-debug 45s
linux-aarch64-debug 2m 17s
linux-x64-debug 2m 20s
linux-x64-debug 2m 42s
linux-x64-debug 2m 59s
linux-aarch64-debug 3m 22s
linux-aarch64-debug 4m 31s
linux-aarch64-debug 6m 30s
linux-aarch64-debug 9m 22s

The last one was a timeout. So it seems that linux-aarch64 is consistently 
slow. linux-x64 is also a bit slow in some cases.  It seems it would be worth 
understanding these performance differences.

-

PR: https://git.openjdk.org/jdk/pull/10480


Integrated: 8294370: Fix allocation bug in java_lang_Thread::async_get_stack_trace()

2022-09-29 Thread Patricio Chilano Mateo
On Mon, 26 Sep 2022 14:23:38 GMT, Patricio Chilano Mateo 
 wrote:

> Please review this small fix in async_get_stack_trace(). The GrowableArrays 
> created to store the bci and Method* of each frame found while traversing the 
> stack are allocated in the resource area of the thread that calls 
> async_get_stack_trace(). But if the handshake is executed by the target and 
> if the number of frames in the stack exceeds the initial size of the 
> GrowableArrays then we will hit an assertion when trying to grow the size of 
> the arrays (see bug description).
> Currently we don't see any issues because the initial size of the 
> GrowableArrays is 512 and our tests don't test beyond that (the maximum value 
> of DEPTH in the vmTestbase/nsk/stress/strace/ tests is 500). The issue can be 
> easily reproduced by either decreasing the initial size of the GrowableArrays 
> or by increasing the value of DEPTH in those strace tests.
> To fix it I allocated the arrays in the C heap instead. Also I lowered the 
> initial size of the arrays since 512 seemed too much to start with.
> Tested it by running all tests in the vmTestbase/nsk/stress/strace/ directory.
> 
> Thanks,
> Patricio

This pull request has now been integrated.

Changeset: 5d48da45
Author:Patricio Chilano Mateo 
URL:   
https://git.openjdk.org/jdk/commit/5d48da4574f6aacb0db445dd5750566330aa383d
Stats: 11 lines in 1 file changed: 6 ins; 0 del; 5 mod

8294370: Fix allocation bug in java_lang_Thread::async_get_stack_trace()

Reviewed-by: dholmes, sspitsyn

-

PR: https://git.openjdk.org/jdk/pull/10424


Re: RFR: 8293540: [Metrics] Incorrectly detected resource limits with additional cgroup fs mounts [v5]

2022-09-29 Thread Severin Gehwolf
> Similar issue to the hotspot change discussed in 
> https://bugs.openjdk.org/browse/JDK-8293472. The Java metrics implementation 
> may get the resource limits wrong if there are additional cgroup fs mounts. 
> Apparently that's more common than one might think. I've reproduced this with 
> these existing tests on cg v2:
> 
> 
> test/hotspot/jtreg/containers/docker/TestMemoryAwareness.java
> test/jdk/jdk/internal/platform/docker/TestDockerCpuMetrics.java
> test/jdk/jdk/internal/platform/docker/TestDockerMemoryMetrics.java 
> 
> 
> I've also added `test/jdk/jdk/internal/platform/docker/TestDockerBasic.java` 
> and amended 
> `test/jdk/jdk/internal/platform/cgroup/TestCgroupSubsystemFactory.java` which 
> unconditionally fails (irrespective of cgroup version in use). The fix is 
> fairly straight forward and is an extension which we already do for the 
> `cpuset` controller: Allow duplicates, and if there are any prefer those 
> mounted at `/sys/fs/cgroup`.
> 
> Testing:
> - [x] fastdebug build on cgroups v2 and cgroups v1 (before and after the 
> product fix)
> - [x] added tests fail before, pass after the product fix.
> - [x] Some manual testing using `cgcreate` and `cgexec` on cg1 and cg2. Still 
> pass. 
> - [x] GHA all pass.
> 
> Please review! Many thanks in advance.

Severin Gehwolf has updated the pull request with a new target base due to a 
merge or a rebase. The incremental webrev excludes the unrelated changes 
brought in by the merge/rebase. The pull request contains three additional 
commits since the last revision:

 - Merge branch 'master' into JDK-8293540-metrics-cgroups-mounts
 - Add comments/@bug in tests
 - 8293540: [Metrics] Potentially incorrectly detected resource limits with 
additional cgroup fs mounts

-

Changes:
  - all: https://git.openjdk.org/jdk/pull/10248/files
  - new: https://git.openjdk.org/jdk/pull/10248/files/6061a475..3ecb3b9d

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=10248&range=04
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=10248&range=03-04

  Stats: 30991 lines in 1069 files changed: 14803 ins; 10731 del; 5457 mod
  Patch: https://git.openjdk.org/jdk/pull/10248.diff
  Fetch: git fetch https://git.openjdk.org/jdk pull/10248/head:pull/10248

PR: https://git.openjdk.org/jdk/pull/10248


Re: RFR: 8294308: Allow dynamically choosing the MEMFLAGS of a type without ResourceObj [v3]

2022-09-29 Thread Kim Barrett
On Wed, 28 Sep 2022 13:41:06 GMT, Johan Sjölen  wrote:

>> Or you could have the class that requires dynamic mtFlag be declared with 
>> mtNone and assert in one place in AllocateHeap that mt != mtNone.  Actually 
>> that assert might already be there.  Can't really puzzle out what Kim's 
>> change does.
>
> I added a mtInvalid flag and did the assert. mtNone seems to be dealt with in 
> some code, I'm not sure if it's appropriate to use it as an invalid value. 
> Regardless, mtInvalid is a better name (for this purpose), so maybe we can 
> change mtNone to mtInvalid in the future?

A much simpler (in the sense of avoiding the use of advanced template features) 
alternative to the one I posted earlier.  (Thanks to @stefank for the 
suggestion.)
https://github.com/openjdk/jdk/compare/master...kimbarrett:openjdk-jdk:dynamic-memflags-specialize
I dislike the current proposed approach of adding an optional MEMFLAGS argument 
to all the CHeapObj allocation functions.

-

PR: https://git.openjdk.org/jdk/pull/10412


Re: RFR: 8294308: Allow dynamically choosing the MEMFLAGS of a type without ResourceObj [v3]

2022-09-29 Thread Johan Sjölen
On Wed, 28 Sep 2022 13:45:53 GMT, Johan Sjölen  wrote:

>> Here's a suggested solution for the ticket mentioned and a use case for 
>> outputStream. I'm not attached to the name.
>> 
>> This saves space for all allocated outputStreams, which is nice. It also 
>> makes the purpose of ResourceObj more clear ("please handle the life cycle 
>> for me"), reducing the need for it.
>> 
>> Thank you for considering it.
>
> Johan Sjölen has updated the pull request with a new target base due to a 
> merge or a rebase. The pull request now contains six commits:
> 
>  - Introduce new, invalid, memory flag
>  - delete _print_inlining_stream
>  - Merge remote-tracking branch 'origin/master' into dyn-cheapobj
>  - Avoid leaking predString
>  - Try out Coleen's suggestion
>  - DynCHeapObj

I still have to go through all of this and check for memory leaks, just FYI.

-

PR: https://git.openjdk.org/jdk/pull/10412


Re: RFR: 8293540: [Metrics] Incorrectly detected resource limits with additional cgroup fs mounts [v3]

2022-09-29 Thread Severin Gehwolf
On Wed, 28 Sep 2022 05:45:14 GMT, Ioi Lam  wrote:

>> Severin Gehwolf has updated the pull request with a new target base due to a 
>> merge or a rebase. The pull request now contains one commit:
>> 
>>   8293540: [Metrics] Potentially incorrectly detected resource limits with 
>> additional cgroup fs mounts
>
> The JDK change looks good to me. Some nits for the test cases.

Thanks for the review @iklam!

> test/jdk/jdk/internal/platform/docker/TestDockerBasic.java line 26:
> 
>> 24: /*
>> 25:  * @test
>> 26:  * @summary Verify that -XshowSettings:system works
> 
> Add `@bug 8293540`

Thanks, added.

> test/jdk/jdk/internal/platform/docker/TestDockerBasic.java line 64:
> 
>> 62: opts.addDockerOpts("--memory", "300m");
>> 63: if (addCgroupMounts) {
>> 64: opts.addDockerOpts("--volume", 
>> "/sys/fs/cgroup:/cgroup-in:ro");
> 
> Add comments that the extra mount should be ignored by the cgroup set-up 
> code. (Same for other test cases).

OK. Added in the updated version.

-

PR: https://git.openjdk.org/jdk/pull/10248


Re: RFR: 8293540: [Metrics] Incorrectly detected resource limits with additional cgroup fs mounts [v4]

2022-09-29 Thread Severin Gehwolf
> Similar issue to the hotspot change discussed in 
> https://bugs.openjdk.org/browse/JDK-8293472. The Java metrics implementation 
> may get the resource limits wrong if there are additional cgroup fs mounts. 
> Apparently that's more common than one might think. I've reproduced this with 
> these existing tests on cg v2:
> 
> 
> test/hotspot/jtreg/containers/docker/TestMemoryAwareness.java
> test/jdk/jdk/internal/platform/docker/TestDockerCpuMetrics.java
> test/jdk/jdk/internal/platform/docker/TestDockerMemoryMetrics.java 
> 
> 
> I've also added `test/jdk/jdk/internal/platform/docker/TestDockerBasic.java` 
> and amended 
> `test/jdk/jdk/internal/platform/cgroup/TestCgroupSubsystemFactory.java` which 
> unconditionally fails (irrespective of cgroup version in use). The fix is 
> fairly straight forward and is an extension which we already do for the 
> `cpuset` controller: Allow duplicates, and if there are any prefer those 
> mounted at `/sys/fs/cgroup`.
> 
> Testing:
> - [x] fastdebug build on cgroups v2 and cgroups v1 (before and after the 
> product fix)
> - [x] added tests fail before, pass after the product fix.
> - [x] Some manual testing using `cgcreate` and `cgexec` on cg1 and cg2. Still 
> pass. 
> - [x] GHA all pass.
> 
> Please review! Many thanks in advance.

Severin Gehwolf has updated the pull request incrementally with one additional 
commit since the last revision:

  Add comments/@bug in tests

-

Changes:
  - all: https://git.openjdk.org/jdk/pull/10248/files
  - new: https://git.openjdk.org/jdk/pull/10248/files/8059dd81..6061a475

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=10248&range=03
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=10248&range=02-03

  Stats: 6 lines in 4 files changed: 6 ins; 0 del; 0 mod
  Patch: https://git.openjdk.org/jdk/pull/10248.diff
  Fetch: git fetch https://git.openjdk.org/jdk pull/10248/head:pull/10248

PR: https://git.openjdk.org/jdk/pull/10248


Re: RFR: 8294308: Allow dynamically choosing the MEMFLAGS of a type without ResourceObj [v3]

2022-09-29 Thread Johan Sjölen
On Wed, 28 Sep 2022 18:21:09 GMT, Coleen Phillimore  wrote:

>> Johan Sjölen has updated the pull request with a new target base due to a 
>> merge or a rebase. The pull request now contains six commits:
>> 
>>  - Introduce new, invalid, memory flag
>>  - delete _print_inlining_stream
>>  - Merge remote-tracking branch 'origin/master' into dyn-cheapobj
>>  - Avoid leaking predString
>>  - Try out Coleen's suggestion
>>  - DynCHeapObj
>
> src/hotspot/share/opto/compile.hpp line 1064:
> 
>> 1062: delete _print_inlining_stream;
>> 1063:   };
>> 1064: 
> 
> compile.cpp has print_inlining_stream_free() calls which will leak the 
> stringStream now if called.  I think this function needs to be removed and it 
> should call the reset function to reinitialize the stream.
> There should be compiler tests that will fail if print_inlining_stream_free() 
> is called with a null _print_inlining_stream pointer (I think the delete 
> should fail (?) with null)

This is removed as part of https://github.com/openjdk/jdk/pull/10396 . The 
function used to be here but I merged with upstream when that went in. delete 
on null is OK, just like with free.

-

PR: https://git.openjdk.org/jdk/pull/10412


Re: RFR: 8288907: serviceability/jvmti/vthread/SuspendResume1/SuspendResume1.java fails with -XX:TieredStopAtLevel=2,3

2022-09-29 Thread David Holmes
On Thu, 29 Sep 2022 07:21:46 GMT, Serguei Spitsyn  wrote:

> The test SuspendResume fails on linux-aarch64 with timeouts.
> However, it never fails when test timeout is set to a bigger value:
> 
> diff --git 
> a/test/hotspot/jtreg/serviceability/jvmti/vthread/SuspendResume1/SuspendResume1.java
>  
> b/test/hotspot/jtreg/serviceability/jvmti/vthread/SuspendResume1/SuspendResume1.java
> index cd5b8251fce..562f2eae921 100644
> --- 
> a/test/hotspot/jtreg/serviceability/jvmti/vthread/SuspendResume1/SuspendResume1.java
> +++ 
> b/test/hotspot/jtreg/serviceability/jvmti/vthread/SuspendResume1/SuspendResume1.java
> @@ -29,7 +29,7 @@
>   * @library /test/lib
>   * @compile --enable-preview -source ${jdk.version} SuspendResume1.java
>   * @run driver jdk.test.lib.FileInstaller . .
> - * @run main/othervm/native
> + * @run main/othervm/native/timeout=600
>   *  --enable-preview
>   *  -Djava.util.concurrent.ForkJoinPool.common.parallelism=1
>   *  -agentlib:SuspendResume1
> 
> 
> I'd like to push this as a trivial fix.
> 
> Testing: Submitted mach5 test runs on multiple platforms.

Seems fine and trivial to me.

Thanks.

-

Marked as reviewed by dholmes (Reviewer).

PR: https://git.openjdk.org/jdk/pull/10480


RFR: 8288907: serviceability/jvmti/vthread/SuspendResume1/SuspendResume1.java fails with -XX:TieredStopAtLevel=2,3

2022-09-29 Thread Serguei Spitsyn
The test SuspendResume fails on linux-aarch64 with timeouts.
However, it never fails when test timeout is set to a bigger value:

diff --git 
a/test/hotspot/jtreg/serviceability/jvmti/vthread/SuspendResume1/SuspendResume1.java
 
b/test/hotspot/jtreg/serviceability/jvmti/vthread/SuspendResume1/SuspendResume1.java
index cd5b8251fce..562f2eae921 100644
--- 
a/test/hotspot/jtreg/serviceability/jvmti/vthread/SuspendResume1/SuspendResume1.java
+++ 
b/test/hotspot/jtreg/serviceability/jvmti/vthread/SuspendResume1/SuspendResume1.java
@@ -29,7 +29,7 @@
  * @library /test/lib
  * @compile --enable-preview -source ${jdk.version} SuspendResume1.java
  * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
+ * @run main/othervm/native/timeout=600
  *  --enable-preview
  *  -Djava.util.concurrent.ForkJoinPool.common.parallelism=1
  *  -agentlib:SuspendResume1


I'd like to push this as a trivial fix.

Testing: Submitted mach5 test runs on multiple platforms.

-

Commit messages:
 - 8288907: serviceability/jvmti/vthread/SuspendResume1/SuspendResume1.java 
fails with -XX:TieredStopAtLevel=2,3

Changes: https://git.openjdk.org/jdk/pull/10480/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=10480&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8288907
  Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod
  Patch: https://git.openjdk.org/jdk/pull/10480.diff
  Fetch: git fetch https://git.openjdk.org/jdk pull/10480/head:pull/10480

PR: https://git.openjdk.org/jdk/pull/10480