• Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Blocker Blocker
    • core

      I just tried to switch over from Hudson, and I get this after I login. Maybe related to JENKINS-14031, but I don't know.

      Status Code: 500
      Exception: org.apache.commons.jelly.JellyTagException: jar:file:/appserv/devimat/hudson/war/WEB-INF/lib/jenkins-core-1.483.jar!/hudson/model/View/index.jelly:44:43: <st:include> Cannot invoke method isEmpty() on null object
      Stacktrace:

      javax.servlet.ServletException: org.apache.commons.jelly.JellyTagException: jar:file:/appserv/devimat/hudson/war/WEB-INF/lib/jenkins-core-1.483.jar!/hudson/model/View/index.jelly:44:43: <st:include> Cannot invoke method isEmpty() on null object
      at org.kohsuke.stapler.jelly.JellyClassTearOff.serveIndexJelly(JellyClassTearOff.java:112)
      at org.kohsuke.stapler.jelly.JellyFacet.handleIndexRequest(JellyFacet.java:127)
      at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:563)
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:659)
      at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:625)
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:659)
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:488)
      at org.kohsuke.stapler.Stapler.service(Stapler.java:162)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:45)
      at winstone.ServletConfiguration.execute(ServletConfiguration.java:248)
      at winstone.RequestDispatcher.forward(RequestDispatcher.java:333)
      at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:376)
      at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:95)
      at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:87)
      at winstone.FilterConfiguration.execute(FilterConfiguration.java:194)
      at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366)
      at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:47)
      at winstone.FilterConfiguration.execute(FilterConfiguration.java:194)
      at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84)
      at hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:51)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      at org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:166)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      at org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:142)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      at org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:173)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      at jenkins.security.ApiTokenFilter.doFilter(ApiTokenFilter.java:63)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249)
      at hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:66)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76)
      at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:164)
      at winstone.FilterConfiguration.execute(FilterConfiguration.java:194)
      at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366)
      at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:50)
      at winstone.FilterConfiguration.execute(FilterConfiguration.java:194)
      at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366)
      at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81)
      at winstone.FilterConfiguration.execute(FilterConfiguration.java:194)
      at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366)
      at winstone.RequestDispatcher.forward(RequestDispatcher.java:331)
      at winstone.RequestHandlerThread.processRequest(RequestHandlerThread.java:215)
      at winstone.RequestHandlerThread.run(RequestHandlerThread.java:138)
      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
      at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
      at java.util.concurrent.FutureTask.run(FutureTask.java:138)
      at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77)
      at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
      at java.lang.Thread.run(Thread.java:662)
      Caused by: org.apache.commons.jelly.JellyTagException: jar:file:/appserv/devimat/hudson/war/WEB-INF/lib/jenkins-core-1.483.jar!/hudson/model/View/index.jelly:44:43: <st:include> Cannot invoke method isEmpty() on null object
      at org.apache.commons.jelly.impl.TagScript.handleException(TagScript.java:716)
      at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:282)
      at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
      at org.kohsuke.stapler.jelly.CallTagLibScript$1.run(CallTagLibScript.java:98)
      at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(InvokeBodyTag.java:91)
      at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:270)
      at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
      at org.apache.commons.jelly.tags.core.CoreTagLibrary$1.run(CoreTagLibrary.java:98)
      at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
      at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105)
      at org.kohsuke.stapler.jelly.CallTagLibScript.run(CallTagLibScript.java:119)
      at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
      at org.kohsuke.stapler.jelly.CallTagLibScript$1.run(CallTagLibScript.java:98)
      at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(InvokeBodyTag.java:91)
      at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:270)
      at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
      at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99)
      at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
      at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99)
      at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99)
      at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
      at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99)
      at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
      at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99)
      at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
      at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105)
      at org.kohsuke.stapler.jelly.CallTagLibScript.run(CallTagLibScript.java:119)
      at org.kohsuke.stapler.jelly.CompressTag.doTag(CompressTag.java:44)
      at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:270)
      at org.kohsuke.stapler.jelly.JellyViewScript.run(JellyViewScript.java:81)
      at org.kohsuke.stapler.jelly.DefaultScriptInvoker.invokeScript(DefaultScriptInvoker.java:63)
      at org.kohsuke.stapler.jelly.DefaultScriptInvoker.invokeScript(DefaultScriptInvoker.java:53)
      at org.kohsuke.stapler.jelly.JellyClassTearOff.serveIndexJelly(JellyClassTearOff.java:107)
      ... 56 more
      Caused by: java.lang.NullPointerException: Cannot invoke method isEmpty() on null object
      at org.codehaus.groovy.runtime.NullObject.invokeMethod(NullObject.java:77)
      at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:45)
      at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:42)
      at org.codehaus.groovy.runtime.callsite.NullCallSite.call(NullCallSite.java:32)
      at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:42)
      at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:54)
      at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:112)
      at hudson.model.View.main.run(main.groovy:6)
      at org.kohsuke.stapler.jelly.groovy.GroovierJellyScript.run(GroovierJellyScript.java:66)
      at org.kohsuke.stapler.jelly.groovy.GroovierJellyScript.run(GroovierJellyScript.java:59)
      at org.kohsuke.stapler.jelly.IncludeTag.doTag(IncludeTag.java:146)
      at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:270)
      ... 87 more

      Generated by Stapler at Tue Sep 25 16:13:29 CDT 2012

      Plugins used:

      plot 1.6-SNAPSHOT (private-03/08/2012 14:12-winstonp) true false
      external-monitor-job 1.1 true false
      ldap 1.1 true false
      pam-auth 1.0 true false
      ant 1.1 true false
      javadoc 1.0 true false
      scp 1.8 true false
      copy-to-slave 1.4 true false
      postbuild-task 1.8 true false
      collapsing-console-sections 1.3 true false
      hudson-pview-plugin 1.8 true false
      subversion 1.43 true true
      parameterized-trigger 2.15 true false
      git 2.2.0 true false
      cvs 2.6 true true
      locks-and-latches 0.6 true false
      heavy-job 1.0 true false
      setenv 1.1 true false
      role-strategy 1.1.2 true false
      active-directory 1.29 true false
      ssh 2.3 true false
      maven-plugin 1.483 true false
      copyartifact 1.23 true false
      filesystem_scm 1.20 true false
      join 1.15 true false
      downstream-buildview 1.8 true false
      dashboard-view 2.3 true false
      sectioned-view 1.16 true false
      rebuild 1.14 true false
      thinBackup 1.6.2 true false
      mercurial 1.41 true false
      translation 1.9 true true
      ssh-slaves 0.21 true false
      batch-task 1.16 true false
      text-finder 1.9 true false
      envfile 1.2 true false
      email-ext 2.24.1 true false
      slave-status 1.6 true false
      nested-view 1.9 true false
      disk-usage 0.18 true false
      timestamper 1.3.1 true false

      Jenkins ver. 1.483

          [JENKINS-15309] NPE (isEmpty) from main.groovy

          David Ishee created issue -
          David Ishee made changes -
          Priority Original: Major [ 3 ] New: Blocker [ 1 ]

          David Ishee added a comment -

          If Jenkins isn't a drop-in replacement for Hudson anymore, that should be stated on the Upgrading From Hudson page (https://wiki.jenkins-ci.org/display/JENKINS/Upgrading+from+Hudson+to+Jenkins)

          David Ishee added a comment - If Jenkins isn't a drop-in replacement for Hudson anymore, that should be stated on the Upgrading From Hudson page ( https://wiki.jenkins-ci.org/display/JENKINS/Upgrading+from+Hudson+to+Jenkins )
          Jesse Glick made changes -
          Summary Original: Status Code: 500 error New: NPE (isEmpty) from main.groovy

          Jesse Glick added a comment -

          Some View.getItems call is returning null for some reason. Hard to say what that reason is without knowing what page you were viewing when you got this exception, what the default view was configured to be in Hudson, and what errors might have preceded this in your log file.

          Jesse Glick added a comment - Some View.getItems call is returning null for some reason. Hard to say what that reason is without knowing what page you were viewing when you got this exception, what the default view was configured to be in Hudson, and what errors might have preceded this in your log file.

          David Ishee added a comment -

          What can I do to help you debug this? I can provide more info if you direct me to what you need.

          David Ishee added a comment - What can I do to help you debug this? I can provide more info if you direct me to what you need.

          Jesse Glick added a comment -

          If you can run a Java debugger, set a breakpoint on impls of View.getItems. Otherwise, record the URL producing this exception, your log file, and the <views> section of $JENKINS_HOME/config.xml.

          Jesse Glick added a comment - If you can run a Java debugger, set a breakpoint on impls of View.getItems . Otherwise, record the URL producing this exception, your log file, and the <views> section of $JENKINS_HOME/config.xml .

          Audrey Azra added a comment - - edited

          I've seen this happen when Anonymous was granted only the OVERALL: Read & JOB:discover permission
          Selecting both JOB: READ & DISCOVER permissions resolved the issue or removing the discover altogether also resolved it (but then users get the 404 error when accessing a job from a URL)
          (Project-based Matrix Authorization Strategy)

          Audrey Azra added a comment - - edited I've seen this happen when Anonymous was granted only the OVERALL: Read & JOB:discover permission Selecting both JOB: READ & DISCOVER permissions resolved the issue or removing the discover altogether also resolved it (but then users get the 404 error when accessing a job from a URL) (Project-based Matrix Authorization Strategy)

          David Ishee added a comment -

          In my Hudson configuration, Anonymous has no permissions.

          David Ishee added a comment - In my Hudson configuration, Anonymous has no permissions.

          Audrey Azra added a comment -

          What about authenticated? Do you have the JOB: DISCOVER permission set there? If so, try removing it....

          Audrey Azra added a comment - What about authenticated? Do you have the JOB: DISCOVER permission set there? If so, try removing it....

            jglick Jesse Glick
            idapperdanman David Ishee
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: