Fixes are available
17.0.0.1: WebSphere Application Server Liberty 17.0.0.1
17.0.0.2: WebSphere Application Server Liberty 17.0.0.2
17.0.0.3: WebSphere Application Server Liberty 17.0.0.3
17.0.0.4: WebSphere Application Server Liberty 17.0.0.4
18.0.0.1: WebSphere Application Server Liberty 18.0.0.1
18.0.0.2: WebSphere Application Server Liberty 18.0.0.2
18.0.0.3: WebSphere Application Server Liberty 18.0.0.3
18.0.0.4: WebSphere Application Server Liberty 18.0.0.4
19.0.0.1: WebSphere Application Server Liberty 19.0.0.1
19.0.0.2: WebSphere Application Server Liberty 19.0.0.2
19.0.0.3: WebSphere Application Server Liberty 19.0.0.3
19.0.0.4: WebSphere Application Server Liberty 19.0.0.4
19.0.0.5: WebSphere Application Server Liberty 19.0.0.5
19.0.0.6: WebSphere Application Server Liberty 19.0.0.6
19.0.0.7: WebSphere Application Server Liberty 19.0.0.7
19.0.0.8: WebSphere Application Server Liberty 19.0.0.8
19.0.0.9: WebSphere Application Server Liberty 19.0.0.9
19.0.0.10: WebSphere Application Server Liberty 19.0.0.10
19.0.0.11: WebSphere Application Server Liberty 19.0.0.11
19.0.0.12: WebSphere Application Server Liberty 19.0.0.12
20.0.0.1: WebSphere Application Server Liberty 20.0.0.1
20.0.0.2: WebSphere Application Server Liberty 20.0.0.2
20.0.0.3: WebSphere Application Server Liberty 20.0.0.3
20.0.0.4: WebSphere Application Server Liberty 20.0.0.4
20.0.0.5: WebSphere Application Server Liberty 20.0.0.5
20.0.0.6: WebSphere Application Server Liberty 20.0.0.6
20.0.0.7: WebSphere Application Server Liberty 20.0.0.7
20.0.0.8: WebSphere Application Server Liberty 20.0.0.8
20.0.0.9: WebSphere Application Server Liberty 20.0.0.9
20.0.0.10: WebSphere Application Server Liberty 20.0.0.10
20.0.0.11: WebSphere Application Server Liberty 20.0.0.11
20.0.0.12: WebSphere Application Server Liberty 20.0.0.12
21.0.0.3: WebSphere Application Server Liberty 21.0.0.3
21.0.0.4: WebSphere Application Server Liberty 21.0.0.4
21.0.0.5: WebSphere Application Server Liberty 21.0.0.5
21.0.0.6: WebSphere Application Server Liberty 21.0.0.6
21.0.0.7: WebSphere Application Server Liberty 21.0.0.7
21.0.0.8: WebSphere Application Server Liberty 21.0.0.8
21.0.0.9: WebSphere Application Server Liberty 21.0.0.9
21.0.0.1: WebSphere Application Server Liberty 21.0.0.1
21.0.0.2: WebSphere Application Server Liberty 21.0.0.2
21.0.0.10: WebSphere Application Server Liberty 21.0.0.10
21.0.0.11: WebSphere Application Server Liberty 21.0.0.11
21.0.0.12: WebSphere Application Server Liberty 21.0.0.12
22.0.0.1: WebSphere Application Server Liberty 22.0.0.1
22.0.0.2: WebSphere Application Server Liberty 22.0.0.2
22.0.0.3: WebSphere Application Server Liberty 22.0.0.3
22.0.0.4: WebSphere Application Server Liberty 22.0.0.4
APAR status
Closed as program error.
Error description
It looks like the problem is in the jvm.options file -- see the following line: -Dtsnm.baseDir=C:\Program Files\IBM\TPC\alert From the start.log the command used to start the server: Command: "C:\Program Files\IBM\TPC\jre\bin\java" "-javaagent:C:\Program Files\IBM\TPC\wlp\bin\tools\ws-javaagent.jar" -Djava.awt.headless=true -Xmx1536m -Xgc:preferredHeapBase=0x100000000 -Dwlp=true -Dtpc.environment=CEPServer -Dtsnm.baseDir=C:\Program Files\IBM\TPC\alert -Djlog.logCmdPort=9570 -Xverify:none -verbose:class -Dws.ext.debug -jar "C:\Program Files\IBM\TPC\wlp\bin\tools\ws-server.jar" --batch-file start alertServer All of the paths in the command are quoted except for the tsnm.baseDir system property that is specified in the jvm.options file. As such, the shell interprets that as two different tokens and thinks that you are trying to set a system property "-Dtsnm.baseDir=C:\Program" and then run a Java application called "Files\IBM\TPC\alert". Changes made to the server.bat, a change was made to support jvm.options merging -- to allow multiple jvm.options files (previous to 16.0.0.4 users were limited to either the jvm.options file in the server directory or in the wlp/etc directory -- now there is a lot more flexibility). It seems that change may have inadvertently removed quotes when reading lines from the jvm.options file.
Local fix
in the server.bat/.sh change -Dtsnm.baseDir=C:\Program Files\IBM\TPC\alert to -Dtsnm.baseDir="C:\Program Files\IBM\TPC\alert"
Problem summary
**************************************************************** * USERS AFFECTED: All users of IBM WebSphere Application * * Server Liberty on Microsoft Windows * * operating systems * **************************************************************** * PROBLEM DESCRIPTION: Liberty 16.0.0.4 server will not start * * if jvm.options file contains spaces * **************************************************************** * RECOMMENDATION: * **************************************************************** In Liberty 16.0.0.4, a new feature was added that allows merging of multiple jvm.options files. This new feature inadvertently removed the quotation marks applied to each line of the jvm.options files. If the jvm.options files did not contain any spaces or other whitespace, then the user may not see any problem. The problem arises when a space exists in the jvm.options file - in that case, the server would not start. For example, if the jvm.options file contained a line like the following: -DmyProperty=Contains Spaces The server would fail to start with a message like this in the console.log file: Error: Could not find or load main class Spaces In the start.log file, the user may see the exact command used to try to start the server -- something like this: Command: "C:\Program Files\IBM\WebSphere\jre\bin\java" "- javaagent:C:\Program Files\IBM\WebSphere\wlp\bin\tools\ws- javaagent.jar" -Djava.awt.headless=true -Xmx1024m - DmyProperty=Contains Spaces -Xverify:none -verbose:class - Dws.ext.debug -jar "C:\Program Files\IBM\TPC\wlp\bin\tools\ws- server.jar" --batch-file start defaultServer Note that in the command, most of the arguments are quoted which tells the Windows command interpreter to ignore the spaces inside the quotes. Since the property from the jvm.options file (-DmyProperty=Contains Spaces) is not quoted, the Windows command interpreter interprets this property as two separate arguments ("-DmyProperty=Contains" and "Spaces") and when it passes those arguments to the JVM, the JVM sees "Spaces" as the first argument that does not start with a dash, so it assumes that is the name of the main class to execute, which it cannot find.
Problem conclusion
The fix for this APAR adds the quotes back in when processing the jvm.options file. The fix for this APAR is currently targeted for inclusion in fix pack 17.0.0.1. Please refer to the Recommended Updates page for delivery information: http://www.ibm.com/support/docview.wss?rs=180&uid=swg27004980
Temporary fix
Comments
APAR Information
APAR number
PI74586
Reported component name
WAS LIBERTY COR
Reported component ID
5725L2900
Reported release
CD0
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2017-01-09
Closed date
2017-02-08
Last modified date
2017-02-08
APAR is sysrouted FROM one or more of the following:
PI74463
APAR is sysrouted TO one or more of the following:
Fix information
Fixed component name
WAS LIBERTY COR
Fixed component ID
5725L2900
Applicable component levels
RCD0 PSY
UP
Document Information
Modified date:
03 May 2022