Analyzer Not Accessible Due to Tomcat Getting Stuck During Startup

Overview

The Analyzer is not accessible:

  • In the browser, the webpage at https://<analyzer_hostname>:8090/analyzer just times out and you get a screen like this:

mceclip1.png

  • Checking via the command line as well, Tomcat gets stuck and is not responding to web/HTTP requests. Trying wget https://localhost:8090/analyzer does not give any response.

 

Solution

Diagnosis

  • Temporarily move the analyzer and analyzer.war from the opt/tomcat/webapps directory to another location to start Tomcat without deploying the Analyzer application. Restart Tomcat: service tomcat restart. If the HTTP requests are replied to correctly now with an ERROR 404: Not Found, this means tomcat is working without the application. 
  • Check the catalina.out file from /opt/tomcat/logs/ (or <sensage_path>/tomcat/logs/for SenSage 2018.1 and later releases).

    Without the application deployed, you will see both initialization and startup of the ProtocolHandler:

    [Fri Jul 16 21:54:58 UTC 2021] INFO: org.apache.coyote.AbstractProtocol init - Initializing ProtocolHandler ["http-bio-0.0.0.0-8090"] 
    [Fri Jul 16 21:54:59 UTC 2021] INFO: org.apache.coyote.AbstractProtocol start - Starting ProtocolHandler ["http-bio-0.0.0.0-8090"]

    With the application deployed (moving analyzer and analyzer.war back to the webapps directory), you will just see the ProtocolHandler initialized:

[Fri Jul 16 21:58:27 UTC 2021] INFO: org.apache.coyote.AbstractProtocol init - Initializing ProtocolHandler ["http-bio-0.0.0.0-8090"]

This means ProtocolHandler is not starting and thus Tomcat is not fully starting despite the Analyzer app already being up and running.

 

Solution

The issue is not an internal one with the SenSage application. Other users using Tomcat 9 also encountered an issue where it was getting stuck at the same stage during startup. The solution as found in this external article will resolve this issue:

  • Implement the changes by adding the following line in /opt/tomcat/bin/catalina.sh​ and then restarting Tomcat (service tomcat restart): 

JAVA_OPTS="$JAVA_OPTS -Djava.security.egd=file:/dev/./urandom"

  • Confirm that Tomcat is fully started and responding to web requests via the command line and also in the browser, where the Analyzer should now work correctly.

Performing the same changes in the Non-prod environment should fix the issue as well.

 

Alternate solution:

(External article: https://access.redhat.com/solutions/973023)
vi /etc/sysconfig/rngd
change: EXTRAOPTIONS="" to EXTRAOPTIONS="-r /dev/urandom"
chkconfig rngd on

service tomcat restart

Comments

0 comments

Please sign in to leave a comment.