SCM Import Fails with Cannot get property '[UUID]' on null object #1970

Closed
cstewart87 opened this Issue Jul 28, 2016 · 7 comments

Projects

None yet

4 participants

@cstewart87

SCM Import plugin correctly finds projects and I am able to select them for import, but only one of 3 projects are imported. The other 2 fail with this same message, even though this is the UUID for only one of them. I even tried importing them one at a time, but still no luck.

Any thoughts?

==> /var/log/rundeck/service.log <==
ERROR GrailsExceptionResolver: NullPointerException occurred when processing request: [POST] /project/myproj/scm/import/performActionSubmit
Cannot get property 'b9ccb9e0-bf41-49da-b264-9a99a653eed3' on null object. Stacktrace follows:
org.codehaus.groovy.grails.web.pages.exceptions.GroovyPagesException: Error processing GroovyPageView: Error executing tag <g:form>: Cannot get property 'b9ccb9e0-bf41-49da-b264-9a99a653eed3' on null object
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:565)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1360)
    at grails.plugin.cache.web.filter.PageFragmentCachingFilter.doFilter(PageFragmentCachingFilter.java:198)
    at grails.plugin.cache.web.filter.AbstractFilter.doFilter(AbstractFilter.java:63)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1331)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1331)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1331)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1331)
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:477)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)
    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:539)
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:227)
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1031)
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:406)
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:186)
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:965)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
    at org.eclipse.jetty.server.Dispatcher.forward(Dispatcher.java:288)
    at org.eclipse.jetty.server.Dispatcher.forward(Dispatcher.java:115)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1331)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1331)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1331)
    at com.codahale.metrics.servlet.AbstractInstrumentedFilter.doFilter(AbstractInstrumentedFilter.java:97)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1331)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1331)
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:477)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)
    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:486)
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:227)
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1031)
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:406)
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:186)
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:965)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:111)
    at org.eclipse.jetty.server.Server.handle(Server.java:349)
    at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:449)
    at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:925)
    at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:857)
    at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)
    at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:76)
    at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:609)
    at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:45)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:599)
    at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:534)
    at java.lang.Thread.run(Thread.java:745)
Caused by: org.codehaus.groovy.grails.web.taglib.exceptions.GrailsTagException: Error executing tag <g:form>: Cannot get property 'b9ccb9e0-bf41-49da-b264-9a99a653eed3' on null object
    at gsp_rundeck_scmperformAction_gsp$_run_closure2.doCall(gsp_rundeck_scmperformAction_gsp.groovy:288)
    at gsp_rundeck_scmperformAction_gsp.run(gsp_rundeck_scmperformAction_gsp.groovy:291)
    ... 46 more
Caused by: java.lang.NullPointerException: Cannot get property 'b9ccb9e0-bf41-49da-b264-9a99a653eed3' on null object
    at gsp_rundeck_scmperformAction_gsp$_run_closure2_closure5.doCall(gsp_rundeck_scmperformAction_gsp.groovy:193)
    at rundeck.UtilityTagLib$_closure46.doCall(UtilityTagLib.groovy:881)
    ... 48 more
@michael-dickinson

It is worth trying to import the file manually through the 'Upload definition' function. I was gettting a very similar error and did this, only to discover it was due to a plugin not being installed that the definition required, but wasn't installed on this server

@cstewart87

UPDATE: I tried manually uploading the job definition and it turns out the issue was a malformed schedule setting (missing quotes for single values). The error message was much more clear when uploading manually vs running scm sync. Once the job configuration was updated the sync worked as expected.

It would be great if the scm import plugin would provide the same error messages as the manual upload 👍

@gschueler gschueler added the bug label Aug 2, 2016
@ARentz07
ARentz07 commented Nov 7, 2016

This might be related. I am seeing a similar, though not exactly the same, error message in our setup, which is 2.6.7.

ERROR GrailsExceptionResolver: NullPointerException occurred when processing request: [GET] /project/alva_dev/jobs
Cannot get property 'tree' on null object. Stacktrace follows:
java.lang.NullPointerException: Cannot get property 'tree' on null object
        at org.rundeck.plugin.scm.git.GitImportPlugin.importSynchStateForStatus(GitImportPlugin.groovy:294)
        at org.rundeck.plugin.scm.git.GitImportPlugin.refreshJobStatus(GitImportPlugin.groovy:234)
        at org.rundeck.plugin.scm.git.GitImportPlugin.getJobStatus(GitImportPlugin.groovy:341)
        at org.rundeck.plugin.scm.git.GitImportPlugin.getJobStatus(GitImportPlugin.groovy:329)
        at rundeck.services.ScmService$_importStatusForJobs_closure15.doCall(ScmService.groovy:961)
        at rundeck.services.ScmService.importStatusForJobs(ScmService.groovy:956)
        at rundeck.controllers.MenuController$_closure10.doCall(MenuController.groovy:323)
        at rundeck.controllers.MenuController$_closure9.doCall(MenuController.groovy:231)
        at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:565)
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1360)
        at grails.plugin.cache.web.filter.PageFragmentCachingFilter.doFilter(PageFragmentCachingFilter.java:198)
        at grails.plugin.cache.web.filter.AbstractFilter.doFilter(AbstractFilter.java:63)
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1331)
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1331)
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1331)
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1331)
        at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:477)
        at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)
        at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:539)
        at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:227)
        at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1031)
        at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:406)
        at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:186)
        at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:965)
        at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
        at org.eclipse.jetty.server.Dispatcher.forward(Dispatcher.java:288)
        at org.eclipse.jetty.server.Dispatcher.forward(Dispatcher.java:115)
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1331)
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1331)
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1331)
        at com.codahale.metrics.servlet.AbstractInstrumentedFilter.doFilter(AbstractInstrumentedFilter.java:97)
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1331)
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1331)
        at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:477)
        at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)
        at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:486)
        at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:227)
        at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1031)
        at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:406)
        at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:186)
        ...

Looks like this is the offending line: https://github.com/rundeck/rundeck/blob/v2.6.7/plugins/git-plugin/src/main/groovy/org/rundeck/plugin/scm/git/GitImportPlugin.groovy#L294
Even in the latest code, this remains: https://github.com/rundeck/rundeck/blob/master/plugins/git-plugin/src/main/groovy/org/rundeck/plugin/scm/git/GitImportPlugin.groovy#L321

@gschueler
Contributor

i believe the original error is fixed with cf6c1c5

@gschueler gschueler added this to the 2.6.10 milestone Nov 9, 2016
@gschueler gschueler closed this Nov 9, 2016
@ARentz07

I can log a separate issue for the other problem, since after all, it seems to be different.

@gschueler
Contributor

@ARentz07 please try 2.6.9 i believe that bug was fixed

@ARentz07

I'll give it a shot. Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment