RFR: 8339487: ProcessHandleImpl native exceptions - include message text and last error information [v2]

Matthias Baesken mbaesken at openjdk.org
Thu Sep 5 13:20:11 UTC 2024


> When running jtreg test java/lang/ProcessHandle/PermissionTest.java on macOS, a few times this error occurs :
> 
> java.lang.RuntimeException: Cannot allocate memory
>        at java.base/java.lang.ProcessHandleImpl.getProcessPids0(Native Method)
>        at java.base/java.lang.ProcessHandleImpl.children(ProcessHandleImpl.java:456)
>        at java.base/java.lang.ProcessHandleImpl.children(ProcessHandleImpl.java:434)
>        at PermissionTest.childrenWithPermission(PermissionTest.java:84)
>        at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
>        at java.base/java.lang.reflect.Method.invoke(Method.java:573)
>        at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:132)
>        at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:599)
>        at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:174)
>        at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46)
>        at org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:822)
>        at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:147)
>        at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)
>        at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)
>        at java.base/java.util.ArrayList.forEach(ArrayList.java:1597)
> 
> 
> Probably sysctl fails here, but it is not fully clear; it would help to change the exception so that the standard text is shown too in the exception message.

Matthias Baesken has updated the pull request incrementally with one additional commit since the last revision:

  Repeat sysctl in case of failures;  increase the proc info buffer a bit to hold some more very recent procs

-------------

Changes:
  - all: https://git.openjdk.org/jdk/pull/20839/files
  - new: https://git.openjdk.org/jdk/pull/20839/files/a9cd3b25..f344502d

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

  Stats: 26 lines in 1 file changed: 11 ins; 1 del; 14 mod
  Patch: https://git.openjdk.org/jdk/pull/20839.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/20839/head:pull/20839

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


More information about the core-libs-dev mailing list