Upgrade from CABI 6.4.3 (Jasperserver) to CABI 7.1.1 fails with the message: KeystoreManager.init was never called or there are errors instantiating an instance.

book

Article ID: 185607

calendar_today

Updated On:

Products

CA Service Management - Service Desk Manager

Issue/Introduction

We tried to upgrade CA Business Intelligence (Jaspersoft Server 6.4.3 ) to CABI (Jaspersoft Server 7.1.1) but the Tomcat process sometimes fails to start.

The errors in the "C:\Program Files\CA\SC\CA Business Intelligence\apache-tomcat\logs\catalina.<yyyy-mm-dd>.log" file, where <yyyy-mm-dd> is the current date, start and like the following blocks of messages:  

04-Mar-2020 04:00:33.847 WARNING [localhost-startStop-1] org.apache.naming.NamingContext.lookup Unexpected exception resolving reference
 java.lang.RuntimeException: KeystoreManager.init was never called or there are errors instantiating an instance.
 at com.jaspersoft.jasperserver.crypto.KeystoreManager.getInstance(KeystoreManager.java:186)
 at com.jaspersoft.jasperserver.tomcat.jndi.JSCommonsBasicDataSourceFactory.getObjectInstance(JSCommonsBasicDataSourceFactory.java:71)
 at org.apache.naming.factory.FactoryBase.getObjectInstance(FactoryBase.java:94)
 at javax.naming.spi.NamingManager.getObjectInstance(Unknown Source)
 at org.apache.naming.NamingContext.lookup(NamingContext.java:839)

...

04-Mar-2020 04:00:33.969 SEVERE [localhost-startStop-1] org.apache.catalina.core.StandardContext.startInternal One or more listeners failed to start. Full details will be found in the appropriate container log file
04-Mar-2020 04:00:33.999 SEVERE [localhost-startStop-1] org.apache.catalina.core.StandardContext.startInternal Context [/jasperserver-pro] startup failed due to previous errors
04-Mar-2020 04:00:34.165 WARNING [localhost-startStop-1] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [jasperserver-pro] appears to have started a thread named [Thread-5] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
 java.lang.Object.wait(Native Method)
 java.lang.Object.wait(Unknown Source)
 com.jaspersoft.jasperserver.war.themes.ThemeCache$RefreshThread.run(ThemeCache.java:327)
04-Mar-2020 04:00:34.184 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [C:\Program Files\CA\SC\CA Business Intelligence\apache-tomcat\webapps\jasperserver-pro] has finished in [52,931] ms
04-Mar-2020 04:00:34.186 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8080"]
04-Mar-2020 04:00:34.195 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["ajp-nio-8009"]
04-Mar-2020 04:00:34.198 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 52985 ms

Cause

For CABI 7.1.1, the database password is encrypted.

To confirm, verify that the file named "default_master.properties" in the buildomatic subdirectory of the installation path contains "encrypt.done=true".

For example, open a Windows command prompt window and run the following 2 commands:

cd C:\Program Files\CA\SC\CA Business Intelligence\buildomatic
find "encrypt"  default_master.properties*
 
The results, if encryption is in-place, is: 
---------- DEFAULT_MASTER.PROPERTIES
encrypt.done=true

Or check for the encrypted password using this method:

cd "C:\Program Files\CA\SC\CA Business Intelligence\apache-tomcat\webapps\jasperserver-pro\META-INF"
find "password" context.xml
 
The results, if encryption is in-place, look similar to:
---------- CONTEXT.XML
username="postgres" password="ENC-d98430ef0ac445292ef29ed158c057a557f65620f4e429cc56fd57c103ec5ba9-"
username="postgres" password="ENC-d98430ef0ac445292ef29ed158c057a557f65620f4e429cc56fd57c103ec5ba9-"
username="postgres" password="ENC-d98430ef0ac445292ef29ed158c057a557f65620f4e429cc56fd57c103ec5ba9-"

Environment

Release : Service Management 17.1 and 17.2 with upgrade of CABI 6.4.3 to CABI 7.1.1

Component : JASPERSOFT REPORTS FOR SERVICE MANAGEMENT (CABI)

Resolution

Add the option "-Dusers.home=<TomcatUser>" to the Java Options of the startup Properties of the cabusinessintelligencetomcat Windows service.  



For detailed steps, see Article 182883 - How to access the Java tab of the CABI (Jaspersoft) Tomcat windows service to change the Tomcat service start properties

Restart both the "cabusinessintelligencetomcat" service and the "CA Business Intelligence PostgresSQL" (or appropriate) service.

Additional Information

See pages 13-14 of the following JasperServer 7.1.1 documentation:  https://docs.tibco.com/pub/js-jrs/7.1.1/doc/pdf/JasperReports-Server-Security-Guide.pdf

Attachments