Question & Answer
Question
Why am I getting the following error when I try to start up an OSGI JVM server in CICS Transaction Server for z/OS (CICS TS) V5.1 ?
DFHSJ0215 06/24/2016 13:27:18 CICSPROD The JVM server OSGIJVMS failed to initialize the OSGi framework. The JVM will be terminated.
DFHSJ0914 06/24/2016 13:27:18 CICSPROD JVMSERVER OSGIJVMS is installed as DISABLED because the Language Environment Enclave was not created.
My DFHJVMERR file shows the following messages:
!ENTRY org.eclipse.osgi 4 0 2016-06-24 20:13:02.208
!MESSAGE Error reading configuration: Unable to create lock manager.
!STACK 0
java.io.IOException: Unable to create lock manager.
at org.eclipse.osgi.storagemanager.StorageManager.open(StorageManager.java:699)
at org.eclipse.osgi.internal.baseadaptor.BaseStorage.initFileManager(BaseStorage.java:220)
at org.eclipse.osgi.internal.baseadaptor.BaseStorage.initialize(BaseStorage.java:154)
at org.eclipse.osgi.baseadaptor.BaseAdaptor.initializeStorage(BaseAdaptor.java:123)
at org.eclipse.osgi.framework.internal.core.Framework.<init>(Framework.java:192)
at org.eclipse.osgi.framework.internal.core.EquinoxLauncher.internalInit(EquinoxLauncher.java:67)
at org.eclipse.osgi.framework.internal.core.EquinoxLauncher.init(EquinoxLauncher.java:37)
at org.eclipse.osgi.launch.Equinox.init(Equinox.java:178)
at com.ibm.cics.router.Router.initStandardOSGI(Router.java:686)
at com.ibm.cics.router.Router.initOSGi(Router.java:410)
at com.ibm.cics.router.Router.main(Router.java:1256)
My DFHJVMTRC trace file shows the following exception:
2016/06/24 20:13:02.211357 UTC *Exc*: Main method threw exception
2016/06/24 20:13:02.214727 UTC Exit : run_classes
2016/06/24 20:13:02.214993 UTC *Exc*: Error running setup class
2016/06/24 20:13:02.215031 UTC Exit : start_jvm
2016/06/24 20:13:02.215048 UTC Event: Waiting for work...
2016/06/24 20:13:02.216257 UTC Entry: terminate_jvm
2016/06/24 20:13:02.216653 UTC Entry: run_classes
2016/06/24 20:13:02.216000 UTC [INFORMATION]
THREAD-NAME: Router-Shutdown-Thread
BUNDLE-SYMBOLICNAME: com.ibm.cics.router.Router
MESSAGE: Stopping the OSGi Framework.
2016/06/24 20:13:02.217000 UTC [INFORMATION]
THREAD-NAME: Router-Shutdown-Thread
BUNDLE-SYMBOLICNAME: com.ibm.cics.router.Router
MESSAGE: Stopped the OSGi Framework.
2016/06/24 20:13:02.217834 UTC Exit : run_classes
Answer
There are a few items you should check to resolve this problem.
1) Make sure you have a WORK_DIR set in the JVMProfile. Not having this will make the JVM to try and write to the read-only root directory and you will get the errors above. If this environment variable is set, a change to the specified directory is issued before the JVM is initialized, and the STDIN, STDOUT and STDERR streams are allocated to this directory.
2) Check to see if your USS authority is set to UID(0) which is Superuser. Superusers pass all security checks and can access any file in the file system. If not, change it to UID(0) and try to start your OSGI JVM Server again.
3) When the JVM SERVER starts it creates a number of directories and files within the WORKDIR based on the applid and JVMSERVER name. For example, when I start my JVMSERVER OSGIJVMS I get the following created:
/IYNXG/OSGIJVMS/configuration
The configuration directory is created and cleaned when a JVM Server starts up, so the permissions of these directories and files must be correct. Try deleting your corresponding directory structure that has been created for your region to see whether that allows the JVM SERVER to startup correctly.
I hope you find this information helpful.
Product Synonym
CICS/TS CICSTS CICS TS CICS Transaction Server
Was this topic helpful?
Document Information
Modified date:
12 July 2016
UID
dwa1284049