> 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.

Justin Lu has updated the pull request incrementally with one additional commit 
since the last revision:

  fix bad spacing

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/20975/files
  - new: https://git.openjdk.org/jdk/pull/20975/files/c69216ee..6332bb96

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

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

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

Reply via email to