Integrated: 8339769: Incorrect error message during startup if working directory does not exist
Justin Lu
jlu at openjdk.org
Mon Sep 16 17:29:18 UTC 2024
On Thu, 12 Sep 2024 21:56:10 GMT, Justin Lu <jlu at openjdk.org> wrote:
> Please review this PR which restores the correct exception message when the current working directory can not be found during java startup in `initPhase1`.
>
> Both MacOS and Linux are expected to fail with `java.lang.Error: Properties init: Could not determine current working directory` if the _user.dir_ system property cannot be initialized. Currently, MacOS now fails with `java.lang.InternalError: platform encoding not initialized` and Linux fails with `java.lang.InternalError: null property: user.dir` which are both unexpected messages.
>
> In `System.c`, `Java_jdk_internal_util_SystemProps_00024Raw_platformProperties` calls `GetJavaProperties(JNIEnv *env)` which throws an internal error (with an appropriate message) for Unix platforms when the current working directory cannot be found. However, this exception is never checked and thus unexpected failures occur later. NULL should be returned after the exception is thrown, so that the initialization fails with the expected error when the return value is checked.
>
>
> // Get the platform specific values
> sprops = GetJavaProperties(env);
> CHECK_NULL_RETURN(sprops, NULL);
>
>
> Testing done locally on both platforms.
This pull request has now been integrated.
Changeset: 65b9abaa
Author: Justin Lu <jlu at openjdk.org>
URL: https://git.openjdk.org/jdk/commit/65b9abaa29eb9fe801b650ce787d98c31770a5dc
Stats: 7 lines in 1 file changed: 3 ins; 0 del; 4 mod
8339769: Incorrect error message during startup if working directory does not exist
Reviewed-by: naoto, dholmes, alanb
-------------
PR: https://git.openjdk.org/jdk/pull/20975
More information about the core-libs-dev
mailing list