[ 
https://issues.jenkins-ci.org/browse/JENKINS-8666?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

recampbell updated JENKINS-8666:
--------------------------------

    Summary: Matrix project index page broken by axis with empty values  (was: 
Can't add axis to multi-configuration project)
    
> Matrix project index page broken by axis with empty values
> ----------------------------------------------------------
>
>                 Key: JENKINS-8666
>                 URL: https://issues.jenkins-ci.org/browse/JENKINS-8666
>             Project: Jenkins
>          Issue Type: Bug
>          Components: core
>    Affects Versions: current
>         Environment: Windows XP Pro SP3, Java(TM) SE Runtime Environment 
> (build 1.6.0_23-b05), Intel Pentium 4
>            Reporter: Dan Puza
>
> EDIT: The exception appears to be triggered by the axis "Values" field being 
> left empty when saving.  I didn't know what to enter for that field, in what 
> format.  Something like... var1="C:\Documents and Settings" var2=C:\WINDOWS 
> ???
> EDIT: I see how this works now, something like:
> Axis1 - x86 x64
> Axis2 - Debug Release
> It would be nice to include an example in the help text, and to handle an 
> empty value gracefully rather than an unhandled exception thrown.
> Steps to reproduce:
> 1. Clean install of Jenkins 1.396 as a Windows service.  
> 2. Create a new multi-configuration project job.  
> 3. Don't touch any setting except name.  
> 4. At this point, can either 
>   4a. Save and Configure again.
>   OR,
>   4b. Simply continue to step 5.
> 5. Add axis, enter name.
> 6. Save.
> 7. Get the following exception:
> Status Code: 500
> Exception: 
> Stacktrace:
> org.apache.commons.jelly.JellyTagException: 
> jar:file:/C:/WINDOWS/system32/config/systemprofile/.hudson/war/WEB-INF/lib/jenkins-core-1.396.jar!/lib/hudson/project/matrix.jelly:49:52:
>   java.util.NoSuchElementException
>       at 
> org.apache.commons.jelly.impl.TagScript.handleException(TagScript.java:709)
>       at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:282)
>       at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
>       at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:161)
>       at org.apache.commons.jelly.tags.core.WhenTag.doTag(WhenTag.java:46)
>       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.TagSupport.invokeBody(TagSupport.java:161)
>       at org.apache.commons.jelly.tags.core.ChooseTag.doTag(ChooseTag.java:38)
>       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.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.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.TagSupport.invokeBody(TagSupport.java:161)
>       at org.apache.commons.jelly.tags.core.WhenTag.doTag(WhenTag.java:46)
>       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.TagSupport.invokeBody(TagSupport.java:161)
>       at org.apache.commons.jelly.tags.core.ChooseTag.doTag(ChooseTag.java:38)
>       at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:270)
>       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.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105)
>       at 
> org.kohsuke.stapler.jelly.JellyViewScript.run(JellyViewScript.java:63)
>       at org.kohsuke.stapler.jelly.IncludeTag.doTag(IncludeTag.java:146)
>       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.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.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105)
>       at 
> org.kohsuke.stapler.jelly.JellyViewScript.run(JellyViewScript.java:63)
>       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:72)
>       at 
> org.kohsuke.stapler.jelly.JellyFacet.handleIndexRequest(JellyFacet.java:114)
>       at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:551)
>       at org.kohsuke.stapler.Stapler.invoke(Stapler.java:640)
>       at org.kohsuke.stapler.MetaClass$7.doDispatch(MetaClass.java:242)
>       at 
> org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
>       at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:562)
>       at org.kohsuke.stapler.Stapler.invoke(Stapler.java:640)
>       at org.kohsuke.stapler.Stapler.invoke(Stapler.java:478)
>       at org.kohsuke.stapler.Stapler.service(Stapler.java:160)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:45)
>       at winstone.ServletConfiguration.execute(ServletConfiguration.java:249)
>       at winstone.RequestDispatcher.forward(RequestDispatcher.java:335)
>       at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:378)
>       at 
> hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:94)
>       at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:86)
>       at winstone.FilterConfiguration.execute(FilterConfiguration.java:195)
>       at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:368)
>       at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:47)
>       at winstone.FilterConfiguration.execute(FilterConfiguration.java:195)
>       at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:368)
>       at 
> hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84)
>       at 
> hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76)
>       at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:164)
>       at winstone.FilterConfiguration.execute(FilterConfiguration.java:195)
>       at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:368)
>       at 
> hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81)
>       at winstone.FilterConfiguration.execute(FilterConfiguration.java:195)
>       at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:368)
>       at winstone.RequestDispatcher.forward(RequestDispatcher.java:333)
>       at 
> winstone.RequestHandlerThread.processRequest(RequestHandlerThread.java:244)
>       at winstone.RequestHandlerThread.run(RequestHandlerThread.java:150)
>       at java.lang.Thread.run(Unknown Source)
> Caused by: java.util.NoSuchElementException
>       at java.util.AbstractList$Itr.next(Unknown Source)
>       at 
> org.apache.commons.jelly.tags.core.ForEachTag.doTag(ForEachTag.java:115)
>       at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:270)
>       ... 91 more

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.jenkins-ci.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to