New library dependencies due to 8222720 (fb5b3981eac)
Rainer Jung
rainer.jung at kippdata.de
Tue Jul 30 07:34:36 UTC 2019
Hi David,
Am 30.07.2019 um 01:56 schrieb David Holmes:
> Hi Rainer,
>
> On 30/07/2019 7:34 am, Rainer Jung wrote:
>> While doing Tomcat tests I noticed, that at least on SLES 12 JDK 13
>> and 14 EA have a lot of new runtime library dependencies.
>>
>> Change fb5b3981eac with log
>>
>> 8222720: Provide extended VMWare/vSphere virtualization related info
>> in the hs_error file on linux/windows x86_64
>>
>> loads /usr/lib64/libguestlib.so.0 already during JVM startup. That
>> library depends on /usr/lib64/libvmtools.so.0, which in turn depends
>> on a lot of other libraries:
>>
>> NEEDED libdnet.so.1
>> NEEDED libglib-2.0.so.0
>> NEEDED libicui18n.so.52.1
>> NEEDED libicuuc.so.52.1
>> NEEDED libpthread.so.0
>> NEEDED libdl.so.2
>> NEEDED libssl.so.1.0.0
>> NEEDED libcrypto.so.1.0.0
>> NEEDED libc.so.6
>> NEEDED ld-linux-x86-64.so.2
>> NEEDED libgcc_s.so.1
>>
>> Some are not so problematic, but for instance Tomcat is able to use
>> custom build OpenSSL libraries to replace the JSSE crypto engine with
>> an OpenSSL based one using JNI. Unfortunately the JDK is now loading
>> libssl and libcrypto early. In case our TC OpenSSL also uses SO
>> version 1.0.0 it will not get loaded, in case it is another version we
>> can run into a mix of symbols resolved in the platform OpenSSL libs
>> now loaded early and the ones provided with TC loaded later.
>>
>> This is an example, why it would be good to not introduce too many
>> native library dependencies for the JVM or make it optional in the
>> sense of configurable during runtime. Of the above list, the icu libs,
>> libglib and libdnet are other libs one would probably try to avoid.
>>
>> Don't know whether this list is appropriate for discussing it. If not
>> any pointers to a better list are appreciated.
>
> This is the correct list to discuss this.
>
> When 8222720 was put in I had no idea it would result in eager loading
> of libraries beyond the explicit load of libguestlib.
>
> To be clear you are running under VMWare? This should only happen to
> enable reporting for the VMWare virtualization info in case of a crash.
Yes, I am running under VMWare. The library /usr/lib64/libguestlib.so.0
and its dependency /usr/lib64/libvmtools.so.0 both belong to the package
libvmtools0. Its sources seem to be available at
https://github.com/vmware/open-vm-tools.
> This may need to be revisited.
>
> Thanks for the report.
Thanks for looking at this!
Rainer
More information about the hotspot-runtime-dev
mailing list