IBM Support

CWWKF0004E unknown exception and CWWKE0702E when starting Liberty server in CICS TS

Question & Answer


Question

I am trying to start a Liberty server in a CICS Transaction Server for z/OS (CICS TS) region and I receive the following messages in the messages.log file:

CWWKF0004E: An unknown exception occurred while installing or removing features. Exception: org.osgi.framework.BundleException: Cannot connect region 'system.bundle' to itself
CWWKE0702E: Could not resolve module: com.ibm.cics.osgi.impl

The JVMServer trace file (DFHJVMTRC) shows the following message:

[err] 2017/07/20 17:03:06.170000 UTC E [Framework Event Dispatcher: org.eclipse.osgi.internal.framework.EquinoxEventPublisher@ffe9648f] Frame workEvent ERROR org.osgi.framework.BundleException: Could not resolve module: com.ibm.cics.osgi.impl [79] Could not resolve module: com.ibm.cics.osgi [81]

My USS folder path name is "/u/cicscc#" and is shared with other listener regions. Within this is the shared JVMProfiles directory and a shared JVMLogs folder.

Could the USS special character '#' in my folder path name be causing the problem? I notice in other regions where the Liberty server started, the '#' special character was not in their folder path names off of the /u root.

Answer

When you use usernames, passwords, directory names, filenames, or any other type of string containing a reserved UNIX System Services (USS) character (for example, as a script argument) that is not escaped in a script, the special character will take affect.

We normally see this type of problem with "$" special character used in usernames and passwords or filenames, which USS will parse as a substitution environment variable. Normally a "#" is used as a comment in USS scripts.

What I believe happened in your case is the directory name is used somewhere within the script as a string, and the "#" is acting as a comment. So the directory name "/u/cicsml#" was truncated to "/u/cicsml" (and comment everything after the # sign out on that line) causing the server startup to try to create and put its OSGI cache files in diretcory "/u/cicsml/org.eclipse.osgi", which does not exist.

In USS it is possible to escape a special character by adding a backslash before the special character. I have had some success with customers passing a username or password that contains a special character like $ escaped with a \, however it does not work in all cases. It really depends on what the script is doing and how it gets passed along.

The correction here is to avoid using the USS special character "#" in a directory name.

[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSGMGV","label":"CICS Transaction Server"},"Platform":[{"code":"PF035","label":"z\/OS"}],"Component":"Liberty","Version":"","Line of Business":{"code":"LOB35","label":"Mainframe SW"}}]

Product Synonym

CICS/TS CICSTS CICS TS CICS Transaction Server

Document Information

Modified date:
24 August 2017

UID

dwa1394314