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

Shelving a project which own a shared "Workspace" will cause Hudson to fail until restarted

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Cannot Reproduce
    • Icon: Minor Minor
    • shelve-project-plugin
    • None
    • Windows (XP & 2008)
      Hudson-1.379
      Shelve Project Plugin-0.3

      I have created a bunch of test Jobs that I am the sole user of. Those jobs are launch manually using the Hudson Console.
      I wanted to save disk space, and checkout time, so I configured them to use a Shared Workspace, selecting a the workspace director of the first job of that group I created.

      That's not a "by the rules" setup but was working fine until I tried to "Shelve" the job that "own" the shared workspace, having still an other job using that workspace unshelved.

      If I confirm the shelving, I see no error message, but at this point Hudson will work no more until restarted.

      There should be a way to warn the user, or prevent such a setup.

      Regards

      Relevant Tomcat Access log
      10.234.215.44 - - [27/Oct/2010:10:52:29 +0200] "POST /hudson/view/01-EnTest/job/Nova-WebServices-Delivery/shelve/shelveProject HTTP/1.1" 302 -
      10.234.215.44 - - [27/Oct/2010:10:52:29 +0200] "GET /hudson/ HTTP/1.1" 200 13763
      10.234.215.136 - - [27/Oct/2010:10:52:30 +0200] "POST /hudson/view/03-Greenpepper/ajaxExecutors HTTP/1.1" 500 17475

      Stacktrace in Catalina log
      27 oct. 2010 10:50:34 hudson.ExpressionFactory2$JexlExpression evaluate
      ATTENTION: Caught exception evaluating: it.writeLogTo(offset,output). Reason: java.io.IOException
      java.io.IOException
      at org.apache.commons.jelly.XMLOutput$1.write(XMLOutput.java:230)
      at java.io.Writer.write(Writer.java:175)
      at java.io.Writer.write(Writer.java:140)
      at hudson.console.ConsoleAnnotationOutputStream.eol(ConsoleAnnotationOutputStream.java:146)
      at hudson.console.LineTransformationOutputStream.eol(LineTransformationOutputStream.java:60)
      at hudson.console.LineTransformationOutputStream.write(LineTransformationOutputStream.java:56)
      at hudson.console.LineTransformationOutputStream.write(LineTransformationOutputStream.java:74)
      at org.apache.commons.io.output.ProxyOutputStream.write(ProxyOutputStream.java:70)
      at org.apache.commons.io.output.CountingOutputStream.write(CountingOutputStream.java:71)
      at org.kohsuke.stapler.framework.io.LargeText.writeLogTo(LargeText.java:145)
      at hudson.console.AnnotatedLargeText.writeHtmlTo(AnnotatedLargeText.java:154)
      at hudson.model.Run.writeLogTo(Run.java:1038)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:597)
      at org.apache.commons.jexl.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:258)
      at org.apache.commons.jexl.parser.ASTMethod.execute(ASTMethod.java:104)
      at org.apache.commons.jexl.parser.ASTReference.execute(ASTReference.java:83)
      at org.apache.commons.jexl.parser.ASTReference.value(ASTReference.java:57)
      at org.apache.commons.jexl.parser.ASTReferenceExpression.value(ASTReferenceExpression.java:51)
      at org.apache.commons.jexl.ExpressionImpl.evaluate(ExpressionImpl.java:80)
      at hudson.ExpressionFactory2$JexlExpression.evaluate(ExpressionFactory2.java:72)
      at org.apache.commons.jelly.impl.ExpressionScript.run(ExpressionScript.java:66)
      at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:161)
      at org.apache.commons.jelly.tags.core.WhitespaceTag.doTag(WhitespaceTag.java:48)
      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:76)
      at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:161)
      at org.apache.commons.jelly.tags.core.OtherwiseTag.doTag(OtherwiseTag.java:41)
      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.CallTagLibScript$1.run(CallTagLibScript.java:75)
      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:96)
      at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
      at org.kohsuke.stapler.jelly.CallTagLibScript$1.run(CallTagLibScript.java:75)
      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:76)
      at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
      at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:76)
      at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:76)
      at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
      at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:76)
      at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
      at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:76)
      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:96)
      at org.kohsuke.stapler.jelly.CompressTag.doTag(CompressTag.java:21)
      at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:270)
      at org.kohsuke.stapler.jelly.JellyViewScript.run(JellyViewScript.java:40)
      at org.kohsuke.stapler.jelly.IncludeTag.doTag(IncludeTag.java:118)
      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.CompressTag.doTag(CompressTag.java:21)
      at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:270)
      at org.kohsuke.stapler.jelly.JellyViewScript.run(JellyViewScript.java:40)
      at org.kohsuke.stapler.jelly.DefaultScriptInvoker.invokeScript(DefaultScriptInvoker.java:40)
      at org.kohsuke.stapler.jelly.DefaultScriptInvoker.invokeScript(DefaultScriptInvoker.java:30)
      at org.kohsuke.stapler.jelly.JellyFacet$1.dispatch(JellyFacet.java:67)
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:538)
      at org.kohsuke.stapler.MetaClass$13.dispatch(MetaClass.java:359)
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:538)
      at org.kohsuke.stapler.MetaClass$7.doDispatch(MetaClass.java:219)
      at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:30)
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:538)
      at org.kohsuke.stapler.MetaClass$7.doDispatch(MetaClass.java:219)
      at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:30)
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:538)
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:454)
      at org.kohsuke.stapler.Stapler.service(Stapler.java:136)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
      [... Http and catalina stack section ommitted ...]
      Caused by: ClientAbortException: java.net.SocketException: Software caused connection abort: socket write error
      at org.dom4j.io.XMLWriter.handleException(XMLWriter.java:1888)
      at org.dom4j.io.XMLWriter.characters(XMLWriter.java:791)
      at org.apache.commons.jelly.XMLOutput.characters(XMLOutput.java:590)
      at org.apache.commons.jelly.XMLOutput$1.write(XMLOutput.java:228)
      ... 128 more
      27 oct. 2010 10:52:29 org.jvnet.hudson.plugins.shelveproject.ShelveProjectAction doShelveProject
      INFO: Shelving project [Nova-WebServices-Delivery].
      27 oct. 2010 10:52:29 org.jvnet.hudson.plugins.shelveproject.ShelveProjectExecutable archiveProject
      INFO: Creating archive for project [xxxxxx].

            pierrebtz Pierre Beitz
            efe4pj efe4pj
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: