HTTP Status 500 javax.servlet.ServletException
search cancel

HTTP Status 500 javax.servlet.ServletException

book

Article ID: 186450

calendar_today

Updated On:

Products

CA Release Automation - Release Operations Center (Nolio) CA Release Automation - DataManagement Server (Nolio)

Issue/Introduction

After upgrading Nolio RA 6.6 to 6.7 we're seeing the following error:

 

HTTP Status 500 - javax.servlet.ServletException: java.lang.VerifyError: Stack map does not match the one at exception handler 43

 

type Exception report

message javax.servlet.ServletException: java.lang.VerifyError: Stack map does not match the one at exception handler 43

description The server encountered an internal error that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: javax.servlet.ServletException: java.lang.VerifyError: Stack map does not match the one at exception handler 43
Exception Details:
  Location:
    org/apache/catalina/session/StandardSession.<init>(Lorg/apache/catalina/Manager;)V @43: nop
  Reason:
    Current frame's flags are not assignable to stack map frame's.
  Current Frame:
    bci: @36
    flags: { flagThisUninit }
    locals: { uninitializedThis, 'org/apache/catalina/Manager', uninitializedThis, 'com/wily/introscope/agent/trace/IParameterizedMethodTracer' }
    stack: { 'java/lang/Throwable' }
  Stackmap Frame:
    bci: @43
    flags: { }
    locals: { top, top, top, 'com/wily/introscope/agent/trace/IParameterizedMethodTracer' }
    stack: { 'java/lang/Throwable' }

Environment

Release : 6.7

Component : CA Release Automation Release Operations Center

Cause

From a Nolio perspective the cause of this error is problem being experienced by CA Wily APM. The cause of the CA Wily APM problem is unclear. It may be that it was a version that does not support OpenJDK or something else. 

Resolution

If you actively use CA Wily APM and need to fix the problem it is having then please make sure the version of CA Wily APM being used supports OpenJDK 1.8.0_u232. If it does and the problem still exists then please open a support issue with CA Wily APM.

If you are able to remove CA Wily APM from Nolio RA then follow the steps below. 


On Windows Management Servers:
It is common for the CA APM Wily Introscope agent to be added to a JMV by adding a line similar to the following within the bin/catalina.bat. However, for Nolio RA it is possible (or most likely) to be found in the bin\NolioService.bat (please see additional information if you don't find it in either of these files):
set CATALINA_OPTS=%CATALINA_OPTS% -javaagent:"c:\apache-root\<Agent_Home>\Agent.jar" -DagentProfile="c:\apache-root\<Agent_Home>\core\config\IntroscopeAgent.profile"

If you are able to find a line similar to the one described then:

  1. Create a backup of the file where those entries are found.
  2. Remove the reference to -javaagent, its value, -DagentPfofile and its value. Or, remove/comment out that line entirely if it is not needed.
  3. Run the command: nolio_server_remove_service.cmd
  4. Run the command: nolio_server_install_service.cmd
  5. If your Nolio Server service was using Windows credentials to connect to the DB then you will need to update the NolioServer service with these credentials. If you are not sure then you can check your webapps/datamanagement/WEB-INF/distributed.properties. If the DB password field is blank then it is likely you were using windows credentials. 
  6. Restart the management server.


On Linux Management Servers:
It is common for the CA APM Wily Introscope agent to be added to a JVM by adding a line similar to the following within the bin/catalina.sh file:
set CATALINA_OPTS=$CATALINA_OPTS -javaagent:"/opt/ca/<Agent_Home>/Agent.jar" -DagentProfile="/opt/ca/<Agent_Home>/core/config/IntroscopeAgent.profile"

If you are able to find a line similar to the one described then:
  1. Create a backup of the file where those entries are found.
  2. Remove the reference to -javaagent, its value, -DagentPfofile and its value. Or, remove/comment out that line entirely if it is not needed.
  3. Restart the management server.

Additional Information

On Windows, if you were not able to find a reference to the Wily APM Introscope agent in the NolioService.bat file then it is likely that it was added at one point and then removed. In this case you can start from resolution step 3 and this should fix the error.

The remove/install_service.cmd files actually update the registry. If you find yourself here then you can look in HKEY_LOCAL_MACHINE to see if you can find any references to -javaagent. The values in the registry are actually the values that get used when starting the service - not what's in the content of the NolioService.bat. If you're getting this error but it is not in your bin/catalina.bat or bin/NolioService.bat then it is likely still in your registry, for example:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Apache Software Foundation\Procrun 2.0\NolioServer20\Parameters\Java


Where you'll see something similar to:
-Duser.country=US
-Duser.language=en
-Djava.library.path=X:\CA\NolioRA\bin
-javaagent:X:\wily\Agent.jar
-DagentProfile=X:\wily\core\config\IntroscopeAgent.profile
-Djava.io.tmpdir=E:\CA\NolioRA\temp
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
-Djava.util.logging.config.file=E:\CA\NolioRA\conf\logging.properties
-XX:+HeapDumpOnOutOfMemoryError
-Dcatalina.base=E:\CA\NolioRA
-Dcatalina.home=E:\CA\NolioRA
-Djava.endorsed.dirs=E:\CA\NolioRA