0

After a few hours of rundeck humming along, I get the following error when trying to view Jobs.

Restarting tomcat solves the problem.

  1. I have git-import configured. It has been shown to be working correctly.
  2. Rundeck is running in AWS
  3. 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
  1. 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
  1. Rundeck directory RBASE is on shared NFS mount (Amazon EFS)
  2. Rundeck project was configured using rundeck cli

files:

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
Felipe Alvarez
  • 3,720
  • 2
  • 33
  • 42
  • Maybe you're facing a compatibility bug with Tomcat 9 (seems similar to this on Tomcat 7: github.com/rundeck/rundeck/issues/4497) Can you post the issue with full log stack on Rundeck GitHub space? -> https://github.com/rundeck/rundeck/issues – MegaDrive68k Dec 27 '19 at 19:22
  • Where do I find the full log stack? I'm good with Linux system administration, but new to Rundeck, and not a [Java] developer. – Felipe Alvarez Dec 30 '19 at 04:44
  • At /var/log/rundeck/service.log :-) – MegaDrive68k Dec 30 '19 at 12:24
  • I don't have service.log but I have rundeck.api.log, rundeck.access.log, rundeck.executions.log, rundeck.audit.log, rundeck.storage.log – Felipe Alvarez Dec 31 '19 at 01:17

0 Answers0