On Fri, 31 May 2024 14:05:07 GMT, Alexey Semenyuk <asemen...@openjdk.org> wrote:

> Fix MainClassTest class to use HelloApp.AppOutputVerifier class to run app 
> launcher instead of raw Executor. This makes MainClassTest test run app 
> launchers with retries. This change addresses the primary issue.
> 
> Fix inconsistencies in HelloApp.AppOutputVerifier class. It used to provide 
> API allowing to run launchers without retries. It inconsistently allowed the 
> execution of launchers with suppressed output (stdout and stderr). It 
> inconsistently executed launchers with/without PATH removed from the 
> environment.
> 
> These loopholes were eliminated:
> 
>  - stdout and stderr of app launchers is never suppressed;
>  - PATH env variable is always deleted for app launchers on Windows. It is 
> not deleted on other platforms. This change sets the correct scope of 
> [JDK-8254920](https://bugs.openjdk.org/browse/JDK-8254920) fix that 
> introduced the removal of PATH env variable for app launchers;
>  - app launchers are always executed with retries unless the launcher is 
> executed with `jpackage.test.noexit` system property set to `true` indicating 
> the test app will not terminate on its own.
> 
> Other changes are due to changes in HelloApp.AppOutputVerifier class.

The crash is sporadic, hard to reproduce, and happens only on Linux.
Almost every jpackage test runs a launcher, so the alternative to "hiding" the 
issue was to disable all jpackage tests or make them not run launchers on 
Linux. There is no good solution except nailing and fixing the root cause.

I agree the fix doesn't match a title. Isn't it too late to rename the title 
after the fix has been integrated? I can add a comment to JBS explaining that 
the crash is still there. Would this help?

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

PR Comment: https://git.openjdk.org/jdk/pull/19502#issuecomment-2147482032
PR Comment: https://git.openjdk.org/jdk/pull/19502#issuecomment-2147522342

Reply via email to