IBM Support

java.util.zip.ZipException with z15 systems using zEDC

Troubleshooting


Problem

Application deployment and sync processes in WebSphere Application Server on z/OS can cause  java.util.zip.ZipException with various reason codes when running on a z15 processor or when a cell spans z15 and older processors (i.e. z14).

Symptom

Examples of errors seen:
ExtendedMessage: BBOO0222I: ADFS0106E: An error occurred writing the transferred file "/path/of/ear/file/xxxx.ear". java.util.zip.ZipException: invalid stored block lengths
at java.util.zip.InflaterInputStream.read InflaterInputStream.java:175)
at java.util.zip.GZIPInputStream.read(GZIPInputStream.java:128)
at java.io.FilterInputStream.read(FilterInputStream.java:118)
at com.ibm.ws.management.filetransfer.servlet.FileTransferServlet.doPut(FileTransferServlet.java:582
ExtendedMessage: BBOO0222I: ADFS0106E: An error occurred writing the transferred file "/path/of/ear/file/xxxx.ear". java.util.zip.ZipException:Copy block and complement length mismatch             
ExtendedMessage: BBOO0222I: ADFS0106E: An error occurred writing the transferred file "/path/of/ear/file/xxxx.ear". java.util.zip.ZipException: invalid distance code
Users Affected: Users with APAR OA56143 installed who use zEDC zlib or zEDC enabled classes in Java to compress data on a z15 processor.

Cause

Development APAR OA56143 provided software support for the z15 processor compression but  introduced a new problem.

Environment

z/OS running on z15 systems

Resolving The Problem

The issue is resolved by z/OS  Hiper APAR OA59390 and the ptfs are now available:
PTF List:                      
Release 790  : UJ02755 available 20/05/06 (1000 )  
Release 7A0  : UJ02754 available 20/05/06 (1000 )  
Release 7B0  : UJ02752 available 20/05/06 (1000 )  
Release 7C0  : UJ02753 available 20/05/06 (1000 )
See: https://www.ibm.com/support/pages/node/6188391
The bypass is to set the Unix Environment variable _HZC_COMPRESSION_METHOD=software in all affected servers and jobs (i.e. wsadmin  scripts/batchjobs)
For WebSphere Application Servers, this can be set via the admin console under Environment >  WebSphere Variables. This requires a  server restart.
For scripts, it should be 'exported' before invoking the script or placed in the users /etc/profile or /etc/.profile.

Related Information

Document Location

Worldwide

[{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SS7K4U","label":"WebSphere Application Server for z\/OS"},"ARM Category":[],"Platform":[{"code":"PF035","label":"z\/OS"}],"Version":"All Version(s)","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
05 June 2020

UID

ibm16208999