<AWT Dev> [12] Review Request: 8212680 (JDK12b14/Solaris-sparc) SplashScreen::getSplashScreen call fails with ULE: "libsplashscreen.so: ld.so.1: java: fatal: libz.so.1: open failed: No such file or directory"

Magnus Ihse Bursie magnus.ihse.bursie at oracle.com
Thu Nov 29 11:01:54 UTC 2018

On 2018-11-29 00:11, Sergey Bylokhov wrote:
> Hello.
> Please review the fix for jdk 12.
> Bug: https://bugs.openjdk.java.net/browse/JDK-8212680
> Webrev: http://cr.openjdk.java.net/~serb/8212680/webrev.00
Hi Sergey,

I understand the change in png.h and why it fixes the issue. But I, like 
Erik, am a bit weary about changing upstream code. I think you should 
add this patch of pnh.h, or at least a note of it, in UPDATING.txt.

However, I do not understand the reasons for commenting out the define 
for PNG_ADLER32_SUPPORTED in pnglibconf.h, and adding a 
-DPNG_ADLER32_SUPPORTED in Awt2dLibraries.gmk. What's the purpose of 
this? Will not the same effect be achieved by just keeping these two 
files as-is?

> On Solaris we faced the bug which was fixed in macOS already:
>   https://bugs.openjdk.java.net/browse/JDK-8196803
> The problem is that there is a call to "inflateValidate" function in 
> pngrutil.c[1], guarded by a preprocessor check of ZLIB_VERNUM being 
> high enough and by the "PNG_IGNORE_ADLER32". If we compile this call 
> in and link to the newer version of zlib, we will get link errors if 
> the code is executed on an older Mac/Solaris/ with an older version of 
> zlib.
> The bug can be reproduced on "old" Solaris 11.3, which was not updated 
> for a while(since 2015).
> We can fix it by requiring some "OS Patches and Package Updates", but 
> since it was
> reproduced on macOS, and potentially can occur on other platforms, I 
> have decided
> to fix it in the code. The new property is introduced to the libpng 
> which control the usage of "PNG_IGNORE_ADLER32" and as a result 
> control the call to "inflateValidate"[1].
> This new property is set in the makefile when we build "bundled" 
> versions of libpng+zlib only.
> This was reported upstream, and the future version of libpng may have 
> some similar solution.
> [1] 
> http://hg.openjdk.java.net/jdk/jdk/file/396dfb0e8ba5/src/java.desktop/share/native/libsplashscreen/libpng/pngrutil.c#l457

More information about the awt-dev mailing list