ESPREST Fails Due to Java 17 Level Change in New IBM RSU2512
search cancel

ESPREST Fails Due to Java 17 Level Change in New IBM RSU2512

book

Article ID: 427071

calendar_today

Updated On:

Products

ESP Workload Automation

Issue/Introduction

After applying the latest IBM RSU2512 the ESPREST Started task began failing immediately at startup. No changes were made to the ESPREST PROC or STDENV; the only change was the new Java 17 level delivered with this RSU.

ESPREST is coded to use Java 17, and it previously ran without issues on the old Java level. After the RSU2512, the task abended with the following error:


JVMJZBL1064E One or more statement in DD:STDENV in-stream does not have closing quotation, return code=103

Environment

Component: ESP Workload Automation ESP RESTAPI
Release: All Releases

Cause

In java version 17.0.16.0 (release notes for java 17.0.16.0) IBM introduced new feature for detecting unmatched quotations marks in //STDENV DD statement, but this check doesn't work correctly with escaped quotations which we are using for java init params selection.

Resolution

As you can see, this line is in CYBWS007 3 times for different java versions so the number of quotations marks is odd. 

if echo "$java_version_output" | grep -q "version \"1.8"; then
          initJ8
      elif echo "$java_version_output" | grep -q "version \"11"; then
          initJ11
      elif echo "$java_version_output" | grep -q "version \"17"; then
          initJ17
As a workaround you can add new line ( echo "This line was added to fix unmatched quotations (\")" ) to else branch in CYBWS007 to balance the quotation marks, as you can see in the example below. 

if echo "$java_version_output" | grep -q "version \"1.8"; then
          initJ8
      elif echo "$java_version_output" | grep -q "version \"11"; then
          initJ11
      elif echo "$java_version_output" | grep -q "version \"17"; then
          initJ17
else                                                            
    echo "This line was added to fix unmatched quotations (\")" 
    echo "ERROR: Unknown java version."                         
    exit 120  

Our finding is this error in JZOS batch launcher, should be fixed from IBM side.