Integrated: 8329581: Java launcher no longer prints a stack trace
Sonia Zaldana Calles
szaldana at openjdk.org
Wed Jun 5 13:15:10 UTC 2024
On Mon, 15 Apr 2024 18:25:02 GMT, Sonia Zaldana Calles <szaldana at openjdk.org> wrote:
> 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
This pull request has now been integrated.
Changeset: cbb6747e
Author: Sonia Zaldana Calles <szaldana at openjdk.org>
Committer: Jaikiran Pai <jpai at openjdk.org>
URL: https://git.openjdk.org/jdk/commit/cbb6747e6b9ce7e2b9e0ffb0a1f9499f7e0e13b0
Stats: 351 lines in 4 files changed: 309 ins; 10 del; 32 mod
8329581: Java launcher no longer prints a stack trace
8329420: Java 22 (and 23) launcher calls default constructor although main() is static
8330864: No error message when ExceptionInInitializerError thrown in static initializer
Reviewed-by: stuefe
-------------
PR: https://git.openjdk.org/jdk/pull/18786
More information about the core-libs-dev
mailing list