Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-15309

NPE (isEmpty) from main.groovy

    XMLWordPrintable

Details

    Description

      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

      Attachments

        Issue Links

          Activity

            jglick Jesse Glick added a comment -

            Seems to be similar symptom to JENKINS-14031 but not necessarily same cause.

            jglick Jesse Glick added a comment - Seems to be similar symptom to JENKINS-14031 but not necessarily same cause.
            jglick Jesse Glick added a comment -

            Observed with a ListView in $JENKINS_HOME/config.xml that is missing a required field:

            <jobNames class="tree-set">
              <comparator class="hudson.util.CaseInsensitiveComparator"/>
            </jobNames>
            
            jglick Jesse Glick added a comment - Observed with a ListView in $JENKINS_HOME/config.xml that is missing a required field: <jobNames class= "tree-set" > <comparator class= "hudson.util.CaseInsensitiveComparator" /> </jobNames>

            Code changed in jenkins
            User: Jesse Glick
            Path:
            changelog.html
            core/src/main/java/hudson/model/ListView.java
            test/src/test/java/hudson/model/ListViewTest.java
            test/src/test/resources/hudson/model/ListViewTest/nullJobNames/config.xml
            http://jenkins-ci.org/commit/jenkins/fd31a5d85c0a1fd4a310ced04bb3b714469b2d43
            Log:
            [FIXED JENKINS-15309] Be robust against serialized ListView with jobNames==null.

            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Jesse Glick Path: changelog.html core/src/main/java/hudson/model/ListView.java test/src/test/java/hudson/model/ListViewTest.java test/src/test/resources/hudson/model/ListViewTest/nullJobNames/config.xml http://jenkins-ci.org/commit/jenkins/fd31a5d85c0a1fd4a310ced04bb3b714469b2d43 Log: [FIXED JENKINS-15309] Be robust against serialized ListView with jobNames==null.
            dogfood dogfood added a comment -

            Integrated in jenkins_main_trunk #2501
            [FIXED JENKINS-15309] Be robust against serialized ListView with jobNames==null. (Revision fd31a5d85c0a1fd4a310ced04bb3b714469b2d43)

            Result = SUCCESS
            Jesse Glick : fd31a5d85c0a1fd4a310ced04bb3b714469b2d43
            Files :

            • test/src/test/java/hudson/model/ListViewTest.java
            • test/src/test/resources/hudson/model/ListViewTest/nullJobNames/config.xml
            • changelog.html
            • core/src/main/java/hudson/model/ListView.java
            dogfood dogfood added a comment - Integrated in jenkins_main_trunk #2501 [FIXED JENKINS-15309] Be robust against serialized ListView with jobNames==null. (Revision fd31a5d85c0a1fd4a310ced04bb3b714469b2d43) Result = SUCCESS Jesse Glick : fd31a5d85c0a1fd4a310ced04bb3b714469b2d43 Files : test/src/test/java/hudson/model/ListViewTest.java test/src/test/resources/hudson/model/ListViewTest/nullJobNames/config.xml changelog.html core/src/main/java/hudson/model/ListView.java
            jglick Jesse Glick added a comment -

            Unverified mechanism by which this bug could have appeared:

            1. From 1.462, deleted <view> section of main config.
            2. Restarted.
            3. Created several views.
            4. Upgraded to 1.509.2.
            5. Downgraded to 1.462.
            6. Upgraded again to 1.509.2.

            jglick Jesse Glick added a comment - Unverified mechanism by which this bug could have appeared: 1. From 1.462, deleted <view> section of main config. 2. Restarted. 3. Created several views. 4. Upgraded to 1.509.2. 5. Downgraded to 1.462. 6. Upgraded again to 1.509.2.

            People

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

              Dates

                Created:
                Updated:
                Resolved: