RFR: 8329581: Java launcher no longer prints a stack trace [v2]

Sonia Zaldana Calles szaldana at openjdk.org
Fri Apr 19 19:34:13 UTC 2024


> Hi folks, 
> 
> This PR aims to fix [JDK-8329581](https://bugs.openjdk.org/browse/JDK-8329581). 
> 
> I think the regression got introduced in [JDK-8315458](https://bugs.openjdk.org/browse/JDK-8315458). 
> 
> In the issue linked above, [LauncherHelper#getMainType](https://github.com/openjdk/jdk/pull/16461/files#diff-108a3a3e3c2d108c8c7f19ea498f641413b7c9239ecd2975a6c27d904c2ba226) got removed to simplify launcher code.
> 
> Previously, we used ```getMainType``` to do the appropriate main method invocation in ```JavaMain```. However, we currently attempt to do all types of main method invocations at the same time [here](https://github.com/openjdk/jdk/blob/master/src/java.base/share/native/libjli/java.c#L623). 
> 
> Note how all of these invocations clear the exception reported with [CHECK_EXCEPTION_FAIL](https://github.com/openjdk/jdk/blob/140f56718bbbfc31bb0c39255c68568fad285a1f/src/java.base/share/native/libjli/java.c#L390). 
> 
> Therefore, if a legitimate exception comes up during one of these invocations, it does not get reported. 
> 
> I propose reintroducing ```LauncherHelper#getMainType``` but I'm looking forward to your suggestions. 
> 
> Cheers, 
> Sonia

Sonia Zaldana Calles has updated the pull request incrementally with three additional commits since the last revision:

 - Adding test case
 - Removing the need to call mainType method and adding static fields to java launcher
 - Removing CHECK_EXCEPTION_FAIL in favour of CHECK_EXCEPTION_LEAVE

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/18786/files
  - new: https://git.openjdk.org/jdk/pull/18786/files/2ed5a93b..97a5f53f

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

  Stats: 289 lines in 3 files changed: 188 ins; 41 del; 60 mod
  Patch: https://git.openjdk.org/jdk/pull/18786.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/18786/head:pull/18786

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


More information about the core-libs-dev mailing list