HTTP Status 500 java.lang.IllegalStateException: No output folder

book

Article ID: 210788

calendar_today

Updated On:

Products

CA Release Automation - Release Operations Center (Nolio)

Issue/Introduction

After applying the 6.7.0.b398 cumulative fix we are getting the following error when trying to access the ROC using: http://server:8080

 

HTTP Status 500 - java.lang.IllegalStateException: No output folder

type Exception report

message java.lang.IllegalStateException: No output folder

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

exception

org.apache.jasper.JasperException: java.lang.IllegalStateException: No output folder

org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:591)

        org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:397)

        org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396)

        org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340)

        javax.servlet.http.HttpServlet.service(HttpServlet.java:729)

        org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

        org.owasp.esapi.filters.ClickjackFilter.doFilter(ClickjackFilter.java:98)

root cause

java.lang.IllegalStateException: No output folder

  org.apache.jasper.JspCompilationContext.createOutputDir(JspCompilationContext.java:677)

     org.apache.jasper.JspCompilationContext.getOutputDir(JspCompilationContext.java:199)

org.apache.jasper.JspCompilationContext.getClassFileName(JspCompilationContext.java:525)

        org.apache.jasper.compiler.Compiler.isOutDated(Compiler.java:441)

        org.apache.jasper.compiler.Compiler.isOutDated(Compiler.java:405)

        org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:578)

        org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:363)

        org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396)

        org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340)

        javax.servlet.http.HttpServlet.service(HttpServlet.java:729)

        org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

        org.owasp.esapi.filters.ClickjackFilter.doFilter(ClickjackFilter.java:98)

note The full stack trace of the root cause is available in the logs.

 

 

 

If we change the url to http://server:8080/nolio-app it returns:

 

HTTP Status 404 - /nolio-app/

type Status report

message /nolio-app/

description The requested resource is not available.

 

Cause

The cause was related to files under the Nolio Server installation directory having been owned by root. This is a problem because Nolio was installed as a non-root user and all of its files, prior to reboot, are owned by the non-root user that installed it. The reason why those files were owned as root is because the server was reboot without the Nolio Server configuration files setup as advised in the product docs below. When a server is reboot without these settings, Nolio is started by root because Nolio creates startup scripts in /etc/init.d and the appropriate rc.d directories (and services in /etc/systemd/system). 

Documentation outlining setup/install for non-root users:

Install For A Distributed Environment

Install And Configure A Standalone Repository

Deploy Agents

Environment

Release : 6.7

Component : CA RELEASE AUTOMATION Data Management SERVER

Resolution

To resolve the problem you will need to:

  1. chmod -R <your non-root user>:<your non-root users group> /path/to/ReleaseAutomationServer
  2. update the /path/to/ReleaseAutomationServer/nolio_server.sh script's RUN_AS_USER line to reflect: RUN_AS_USER=<your non-root user>
  3. stop nolio services
  4. clean files outlined here: CA Release Automation Clean up and Troubleshooting best practices
  5. start nolio services