After a few hours of rundeck humming along, I get the following error when trying to view Jobs.
Restarting tomcat solves the problem.
- I have git-import configured. It has been shown to be working correctly.
- Rundeck is running in AWS
- Tomcat is running locally on host.
Server version: Apache Tomcat/9.0.27
Server built: Oct 7 2019 09:57:22 UTC
Server number: 9.0.27.0
OS Name: Linux
OS Version: 3.10.0-1062.4.3.el7.x86_64
Architecture: amd64
JVM Version: 1.8.0_232-b09
JVM Vendor: Oracle Corporation
- Rundeck was downloaded from war file
jvm:
name: OpenJDK 64-Bit Server VM
vendor: Oracle Corporation
version: 1.8.0_232
implementationVersion: 25.232-b09
healthcheck:
href: https://example.com/rundeck/api/33/metrics/healthcheck
contentType: application/json
executions:
active: true
executionMode: active
os:
arch: amd64
name: Linux
version: 3.10.0-1062.4.3.el7.x86_64
stats:
uptime:
duration: 253480944
unit: ms
since:
epoch: 1577160408725
unit: ms
datetime: 2019-12-24T04:06:48Z
cpu:
loadAverage:
unit: percent
average: 0.4
processors: 2
memory:
unit: byte
max: 4277534720
free: 162153160
total: 536170496
scheduler:
running: 0
threadPoolSize: 10
threads:
active: 62
threadDump:
href: https://example.com/rundeck/api/33/metrics/threads
contentType: text/plain
metrics:
href: https://example.com/rundeck/api/33/metrics/metrics?pretty=true
contentType: application/json
rundeck:
version: 3.1.2-20190927
build: 3.1.2-20190927
buildGit: v3.1.2-0-gec89e59
node: example.com
base: /opt/rundeck
apiversion: 33
serverUUID:
timestamp:
epoch: 1577413889669
unit: ms
datetime: 2019-12-27T02:31:29Z
- Rundeck directory RBASE is on shared NFS mount (Amazon EFS)
- Rundeck project was configured using rundeck cli
files:
- catalina.out - Paste Expires Jan 27 2020
See below for error messages:
An Error Occurred
Handler dispatch failed; nested exception is java.lang.NoClassDefFoundError: org/rundeck/plugin/scm/git/GitImportPlugin$_getStatusInternal_closure2
Error 500: Internal Server Error
URI
/rundeck/project/batch_env_devl/jobs
Class
java.lang.ClassNotFoundException
Message
Handler dispatch failed; nested exception is java.lang.NoClassDefFoundError: org/rundeck/plugin/scm/git/GitImportPlugin$_getStatusInternal_closure2
Caused by
org.rundeck.plugin.scm.git.GitImportPlugin$_getStatusInternal_closure2
Line | Method
->> 217 | getStatusInternal in org.rundeck.plugin.scm.git.GitImportPlugin
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
| 495 | actionsAvailableForContext in ''
| 1093 | importPluginActions in rundeck.services.ScmService
| 538 | jobsFragment in rundeck.controllers.MenuController
| 303 | jobs . . . . . . in ''
| 223 | invoke in org.grails.core.DefaultGrailsControllerClass$MethodHandleInvoker
| 188 | invoke . . . . . in org.grails.core.DefaultGrailsControllerClass
| 90 | handle in org.grails.web.mapping.mvc.UrlMappingsInfoHandlerAdapter
| 967 | doDispatch . . . in org.springframework.web.servlet.DispatcherServlet
| 901 | doService in ''
| 970 | processRequest . in org.springframework.web.servlet.FrameworkServlet
| 861 | doGet in ''
| 846 | service . . . . in ''
| 55 | doFilterInternal in org.springframework.boot.web.filter.ApplicationContextHeaderFilter
| 67 | doFilterInternal in org.rundeck.grails.plugins.securityheaders.RundeckSecurityHeadersFilter
| 317 | doFilter in org.springframework.security.web.FilterChainProxy$VirtualFilterChain
| 127 | invoke . . . . . in org.springframework.security.web.access.intercept.FilterSecurityInterceptor
| 91 | doFilter in ''
| 331 | doFilter . . . . in org.springframework.security.web.FilterChainProxy$VirtualFilterChain
| 114 | doFilter in org.springframework.security.web.access.ExceptionTranslationFilter
| 64 | doFilter . . . . in grails.plugin.springsecurity.web.UpdateRequestContextHolderExceptionTranslationFilter
| 331 | doFilter in org.springframework.security.web.FilterChainProxy$VirtualFilterChain
| 54 | doFilterInternal in grails.plugin.springsecurity.web.filter.GrailsHttpPutFormContentFilter
| 331 | doFilter in org.springframework.security.web.FilterChainProxy$VirtualFilterChain
| 54 | doFilter . . . . in grails.plugin.springsecurity.web.filter.GrailsAnonymousAuthenticationFilter
| 331 | doFilter in org.springframework.security.web.FilterChainProxy$VirtualFilterChain
| 158 | doFilter . . . . in org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter
| 331 | doFilter in org.springframework.security.web.FilterChainProxy$VirtualFilterChain
| 170 | doFilter . . . . in org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter
| 331 | doFilter in org.springframework.security.web.FilterChainProxy$VirtualFilterChain
| 200 | doFilter . . . . in org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter
| 331 | doFilter in org.springframework.security.web.FilterChainProxy$VirtualFilterChain
| 64 | doFilter . . . . in grails.plugin.springsecurity.web.authentication.logout.MutableLogoutFilter
| 331 | doFilter in org.springframework.security.web.FilterChainProxy$VirtualFilterChain
| 105 | doFilter . . . . in org.springframework.security.web.context.SecurityContextPersistenceFilter
| 331 | doFilter in org.springframework.security.web.FilterChainProxy$VirtualFilterChain
| 58 | doFilter . . . . in grails.plugin.springsecurity.web.SecurityRequestHolderFilter
| 331 | doFilter in org.springframework.security.web.FilterChainProxy$VirtualFilterChain
| 214 | doFilterInternal in org.springframework.security.web.FilterChainProxy
| 177 | doFilter in ''
| 77 | doFilterInternal in org.grails.web.servlet.mvc.GrailsWebRequestFilter
| 67 | doFilterInternal in org.grails.web.filters.HiddenHttpMethodFilter
| 130 | doFilter . . . . in org.springframework.boot.web.support.ErrorPageFilter
| 66 | access$000 in ''
| 105 | doFilterInternal in org.springframework.boot.web.support.ErrorPageFilter$1
| 123 | doFilter in org.springframework.boot.web.support.ErrorPageFilter
| 1149 | runWorker . . . in java.util.concurrent.ThreadPoolExecutor
| 624 | run in java.util.concurrent.ThreadPoolExecutor$Worker
^ 748 | run . . . . . . in java.lang.Thread
Caused by ClassNotFoundException: org.rundeck.plugin.scm.git.GitImportPlugin$_getStatusInternal_closure2
->> 58 | loadClass in com.dtolabs.rundeck.core.plugins.LocalFirstClassLoader
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
| 44 | loadClass in ''
| 217 | getStatusInternal in org.rundeck.plugin.scm.git.GitImportPlugin
| 495 | actionsAvailableForContext in ''
| 1093 | importPluginActions in rundeck.services.ScmService
| 538 | jobsFragment in rundeck.controllers.MenuController
| 303 | jobs . . . . . . in ''
| 223 | invoke in org.grails.core.DefaultGrailsControllerClass$MethodHandleInvoker
| 188 | invoke . . . . . in org.grails.core.DefaultGrailsControllerClass
| 90 | handle in org.grails.web.mapping.mvc.UrlMappingsInfoHandlerAdapter
| 967 | doDispatch . . . in org.springframework.web.servlet.DispatcherServlet
| 901 | doService in ''
| 970 | processRequest . in org.springframework.web.servlet.FrameworkServlet
| 861 | doGet in ''
| 846 | service . . . . in ''
| 55 | doFilterInternal in org.springframework.boot.web.filter.ApplicationContextHeaderFilter
| 67 | doFilterInternal in org.rundeck.grails.plugins.securityheaders.RundeckSecurityHeadersFilter
| 317 | doFilter in org.springframework.security.web.FilterChainProxy$VirtualFilterChain
| 127 | invoke . . . . . in org.springframework.security.web.access.intercept.FilterSecurityInterceptor
| 91 | doFilter in ''
| 331 | doFilter . . . . in org.springframework.security.web.FilterChainProxy$VirtualFilterChain
| 114 | doFilter in org.springframework.security.web.access.ExceptionTranslationFilter
| 64 | doFilter . . . . in grails.plugin.springsecurity.web.UpdateRequestContextHolderExceptionTranslationFilter
| 331 | doFilter in org.springframework.security.web.FilterChainProxy$VirtualFilterChain
| 54 | doFilterInternal in grails.plugin.springsecurity.web.filter.GrailsHttpPutFormContentFilter
| 331 | doFilter in org.springframework.security.web.FilterChainProxy$VirtualFilterChain
| 54 | doFilter . . . . in grails.plugin.springsecurity.web.filter.GrailsAnonymousAuthenticationFilter
| 331 | doFilter in org.springframework.security.web.FilterChainProxy$VirtualFilterChain
| 158 | doFilter . . . . in org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter
| 331 | doFilter in org.springframework.security.web.FilterChainProxy$VirtualFilterChain
| 170 | doFilter . . . . in org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter
| 331 | doFilter in org.springframework.security.web.FilterChainProxy$VirtualFilterChain
| 200 | doFilter . . . . in org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter
| 331 | doFilter in org.springframework.security.web.FilterChainProxy$VirtualFilterChain
| 64 | doFilter . . . . in grails.plugin.springsecurity.web.authentication.logout.MutableLogoutFilter
| 331 | doFilter in org.springframework.security.web.FilterChainProxy$VirtualFilterChain
| 105 | doFilter . . . . in org.springframework.security.web.context.SecurityContextPersistenceFilter
| 331 | doFilter in org.springframework.security.web.FilterChainProxy$VirtualFilterChain
| 58 | doFilter . . . . in grails.plugin.springsecurity.web.SecurityRequestHolderFilter
| 331 | doFilter in org.springframework.security.web.FilterChainProxy$VirtualFilterChain
| 214 | doFilterInternal in org.springframework.security.web.FilterChainProxy
| 177 | doFilter in ''
| 77 | doFilterInternal in org.grails.web.servlet.mvc.GrailsWebRequestFilter
| 67 | doFilterInternal in org.grails.web.filters.HiddenHttpMethodFilter
| 130 | doFilter . . . . in org.springframework.boot.web.support.ErrorPageFilter
| 66 | access$000 in ''
| 105 | doFilterInternal in org.springframework.boot.web.support.ErrorPageFilter$1
| 123 | doFilter in org.springframework.boot.web.support.ErrorPageFilter
| 1149 | runWorker . . . in java.util.concurrent.ThreadPoolExecutor
| 624 | run in java.util.concurrent.ThreadPoolExecutor$Worker
^ 748 | run . . . . . . in java.lang.Thread