RFR: 8254702: jpackage app launcher crashes on CentOS

Alexey Semenyuk asemenyuk at openjdk.java.net
Fri Jan 29 22:20:41 UTC 2021

On Fri, 29 Jan 2021 22:00:32 GMT, Phil Race <prr at openjdk.org> wrote:

>> Fix for https://bugs.openjdk.java.net/browse/JDK-8254702
>> The fix splits Linux app launcher in app launcher and launcher shared lib. App launcher is pure C and doesn't have C++ code. App launcher lib incorporates bulk of C++ code from app launcher. 
>> At startup app launcher loads launcher shared lib and calls functions it provides to get data for launching JVM (path to jli lib and arguments for JLI_Launch function call).
>> App launcher unloads launcher shared lib before launching JVM to remove C++ runtime from the process memory.
>> Getting rid of C++ code from app launcher required to rewrite app installation location lookup code from C++ to C. LinuxPackage.c source is C alternative for https://github.com/openjdk/jdk/blob/master/src/jdk.jpackage/linux/native/applauncher/Package.cpp and https://github.com/openjdk/jdk/blob/master/src/jdk.jpackage/linux/native/applauncher/Executor.cpp.
>> Layout of jpackage's native code changed:
>> - `common`: code shared between all jpackage binaries.
>> - `applauncher`: launcher only code.
>> - `applauncherlib`: launcher lib code on Linux and launcher code on other platforms.
>> - `applaunchercommon`: code shared between launcher and launcher lib on Linux and launcher code on other platforms.
> So after this change if you bundle and run an app on Linux and then do "ps" .. what is shown to be running ? Java or the app-name you expected ?

"ps" will show app-name. It was never Java for jpackage apps before this patch and this patch doesn't change it.


PR: https://git.openjdk.java.net/jdk/pull/2320

More information about the core-libs-dev mailing list