• Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Major Major
    • core
    • None
    • Jenkins ver. 1.638, linux, JDK 1.8

      A problem is occurring when attempting to start a job using REST API. To reproduce simply curl the following to the the job:

      curl -i -X POST http://username:password@jenkins.server.address/job/ia-sample-job/build

      This results in:

      org.apache.commons.jelly.JellyTagException: jar:file:/mnt/jenkins/tomcat/webapps/jenkins/WEB-INF/lib/jenkins-core-1.638.jar!/hudson/security/SecurityRealm/loginLink.jelly:28:78: <j:invokeStatic> Could not load class: java.net.URLEncoder. Reason: java.lang.NoSuchMethodException: java.net.URLEncoder.encode(java.lang.Object, java.lang.String)
      	at org.apache.commons.jelly.tags.core.InvokeStaticTag.createLoadClassFailedException(InvokeStaticTag.java:177)
      	at org.apache.commons.jelly.tags.core.InvokeStaticTag.doTag(InvokeStaticTag.java:139)
      	at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269)
      	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.JellyViewScript.run(JellyViewScript.java:95)
      	at org.kohsuke.stapler.jelly.IncludeTag.doTag(IncludeTag.java:147)
      	at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269)
      	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.JellyViewScript.run(JellyViewScript.java:95)
      	at org.kohsuke.stapler.jelly.IncludeTag.doTag(IncludeTag.java:147)
      	at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269)
      	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:269)
      	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:269)
      	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.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.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:120)
      	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.JellyViewScript.run(JellyViewScript.java:95)
      	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.JellyFacet$1.dispatch(JellyFacet.java:95)
      	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)
      	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
      	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:649)
      	at hudson.init.impl.InstallUncaughtExceptionHandler$1.reportException(InstallUncaughtExceptionHandler.java:27)
      	at org.kohsuke.stapler.compression.CompressionFilter.reportException(CompressionFilter.java:77)
      	at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:55)
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      	at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81)
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      	at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30)
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:217)
      	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
      	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:614)
      	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142)
      	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
      	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
      	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
      	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518)
      	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091)
      	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:673)
      	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1500)
      	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1456)
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
      	at java.lang.Thread.run(Thread.java:745)
      Caused by: java.lang.NoSuchMethodException: java.net.URLEncoder.encode(java.lang.Object, java.lang.String)
      	at java.lang.Class.getMethod(Class.java:1786)
      	at org.apache.commons.jelly.tags.core.InvokeStaticTag.doTag(InvokeStaticTag.java:124)
      	... 68 more
      

      This occurs here:

       <j:invokeStatic var="from" className="java.net.URLEncoder" method="encode">
          <j:arg value="${if (request.session.attribute('from')!=null) request.session.getAttribute('from');  else if (request.getParameter('from')!=null) request.getParameter('from'); else if (request.requestURI=='/loginError' || request.requestURI=='/login') '/'; else request.requestURI;}"/>
          <j:arg value="UTF-8"/>
        </j:invokeStatic>
      

      I'm guessing somehow the above results in it evaluating to the branch of if that doesn't produce a String which never gets hit otherwise.

          [JENKINS-31618] loginLink.jelly JellyTagException

          Code changed in jenkins
          User: Ing. Pavel Janousek
          Path:
          core/src/main/java/hudson/security/SecurityRealm.java
          core/src/main/resources/hudson/security/SecurityRealm/loginLink.jelly
          http://jenkins-ci.org/commit/jenkins/6c6f34cd6495a481af8bc54119e2c658d88d1edb
          Log:
          JENKINS-31618 Fixed NoSuchMethodException in loginLink.jelly

          The logic is moved from template back to Java and modified to fix the issue.
          The argorithm is rewritten for better legibility.

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Ing. Pavel Janousek Path: core/src/main/java/hudson/security/SecurityRealm.java core/src/main/resources/hudson/security/SecurityRealm/loginLink.jelly http://jenkins-ci.org/commit/jenkins/6c6f34cd6495a481af8bc54119e2c658d88d1edb Log: JENKINS-31618 Fixed NoSuchMethodException in loginLink.jelly The logic is moved from template back to Java and modified to fix the issue. The argorithm is rewritten for better legibility.

          Code changed in jenkins
          User: Oliver Gondža
          Path:
          core/src/main/java/hudson/security/SecurityRealm.java
          core/src/main/resources/hudson/security/SecurityRealm/loginLink.jelly
          http://jenkins-ci.org/commit/jenkins/782804f38e39aeda20fdb5e3d7c1abeb9b95a099
          Log:
          Merge pull request #2312 from pjanouse/JENKINS-31618

          JENKINS-31618 Fixed NoSuchMethodException in loginLink.jelly

          Compare: https://github.com/jenkinsci/jenkins/compare/ebb84da617a9...782804f38e39

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Oliver Gondža Path: core/src/main/java/hudson/security/SecurityRealm.java core/src/main/resources/hudson/security/SecurityRealm/loginLink.jelly http://jenkins-ci.org/commit/jenkins/782804f38e39aeda20fdb5e3d7c1abeb9b95a099 Log: Merge pull request #2312 from pjanouse/ JENKINS-31618 JENKINS-31618 Fixed NoSuchMethodException in loginLink.jelly Compare: https://github.com/jenkinsci/jenkins/compare/ebb84da617a9...782804f38e39

          Merged

          Pavel Janoušek added a comment - Merged

          Oleg Nenashev added a comment -

          Released as Jenkins-2.4

          Oleg Nenashev added a comment - Released as Jenkins-2.4

          kamran kamran added a comment -

          Working with Jenkins-2.4.. i see the issue

          Attached image :

          java.lang.RuntimeException: org.apache.commons.jelly.JellyTagException: jar:file:/C:/Program%20Files%20(x86)/Jenkins/war/WEB-INF/lib/jenkins-core-2.7.4.jar!/lib/layout/layout.jelly:258:25: <d:invokeBody> org.apache.commons.jelly.JellyTagException: jar:file:/C:/Program%20Files%20(x86)/Jenkins/war/WEB-INF/lib/jenkins-core-2.7.4.jar!/lib/layout/main-panel.jelly:36:21: <d:invokeBody> org.apache.commons.jelly.JellyTagException: Cannot get property 'escapeTestDescp' on null object
          	at org.kohsuke.stapler.jelly.groovy.JellyBuilder.doInvokeMethod(JellyBuilder.java:280)
          	at org.kohsuke.stapler.jelly.groovy.Namespace$ProxyImpl.invoke(Namespace.java:92)
          	at com.sun.proxy.$Proxy59.layout(Unknown Source)
          	at lib.LayoutTagLib$layout.call(Unknown Source)
          	at hudson.plugins.testng.results.MethodResult.index.run(index.groovy:8)
          	at org.kohsuke.stapler.jelly.groovy.GroovierJellyScript.run(GroovierJellyScript.java:74)
          	at org.kohsuke.stapler.jelly.groovy.GroovierJellyScript.run(GroovierJellyScript.java:62)
          	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.JellyRequestDispatcher.forward(JellyRequestDispatcher.java:55)
          	at org.kohsuke.stapler.jelly.groovy.GroovyFacet.handleIndexRequest(GroovyFacet.java:121)
          	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:735)
          	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
          	at org.kohsuke.stapler.MetaClass$11.dispatch(MetaClass.java:380)
          	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)
          	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
          	at org.kohsuke.stapler.MetaClass$11.dispat
          
          

          kamran kamran added a comment - Working with Jenkins-2.4.. i see the issue Attached image : java.lang.RuntimeException: org.apache.commons.jelly.JellyTagException: jar:file:/C:/Program%20Files%20(x86)/Jenkins/war/WEB-INF/lib/jenkins-core-2.7.4.jar!/lib/layout/layout.jelly:258:25: <d:invokeBody> org.apache.commons.jelly.JellyTagException: jar:file:/C:/Program%20Files%20(x86)/Jenkins/war/WEB-INF/lib/jenkins-core-2.7.4.jar!/lib/layout/main-panel.jelly:36:21: <d:invokeBody> org.apache.commons.jelly.JellyTagException: Cannot get property 'escapeTestDescp' on null object at org.kohsuke.stapler.jelly.groovy.JellyBuilder.doInvokeMethod(JellyBuilder.java:280) at org.kohsuke.stapler.jelly.groovy.Namespace$ProxyImpl.invoke(Namespace.java:92) at com.sun.proxy.$Proxy59.layout(Unknown Source) at lib.LayoutTagLib$layout.call(Unknown Source) at hudson.plugins.testng.results.MethodResult.index.run(index.groovy:8) at org.kohsuke.stapler.jelly.groovy.GroovierJellyScript.run(GroovierJellyScript.java:74) at org.kohsuke.stapler.jelly.groovy.GroovierJellyScript.run(GroovierJellyScript.java:62) 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.JellyRequestDispatcher.forward(JellyRequestDispatcher.java:55) at org.kohsuke.stapler.jelly.groovy.GroovyFacet.handleIndexRequest(GroovyFacet.java:121) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:735) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876) at org.kohsuke.stapler.MetaClass$11.dispatch(MetaClass.java:380) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876) at org.kohsuke.stapler.MetaClass$11.dispat

          kamran

          Based on your report, you were working with Jenkins-2.7.4, not 2.4.
          I can't find property escapeTestDescp defined nor used in Jenkins-core anywhere. Could you try your scenario with the clean Jenkins deployment if it still occurs? Probably it is incorporated from some plugin you have installed into your deployment (TestNG plug-in?), so is should be fixed there.

          Please provide feedback or more info about your setup. Thank you. Pavel

          Pavel Janoušek added a comment - kamran Based on your report, you were working with Jenkins-2.7.4, not 2.4. I can't find property escapeTestDescp defined nor used in Jenkins-core anywhere. Could you try your scenario with the clean Jenkins deployment if it still occurs? Probably it is incorporated from some plugin you have installed into your deployment (TestNG plug-in?), so is should be fixed there. Please provide feedback or more info about your setup. Thank you. Pavel

          The culprit is really TestNG plug-in here. Looks like testngProjAction is unexceptionally NULL.

          Pavel Janoušek added a comment - The culprit is really TestNG plug-in here . Looks like testngProjAction is unexceptionally NULL.

          kamran
          Your different issue is reported as JENKINS-38661, I thing we can close this one.

          Pavel Janoušek added a comment - kamran Your different issue is reported as JENKINS-38661 , I thing we can close this one.

          Hello Team,

          We are getting similar exception while executing multiple plans in Jenkins. Jenkins version - 2.46.3.

          Error Summary:

          org.apache.commons.jelly.JellyTagException: jar:file:/C:/Bitnami/jenkins-*2.46.3*-0/apache-tomcat/webapps/jenkins/WEB-INF/lib/jenkins-core-2.46.3.jar!/lib/layout/layout.jelly:259:25: <d:invokeBody> org.apache.commons.jelly.JellyTagException: jar:file:/C:/Bitnami/jenkins-2.46.3-0/apache-tomcat/webapps/jenkins/WEB-INF/lib/jenkins-core-2.46.3.jar!/lib/layout/main-panel.jelly:36:21: <d:invokeBody> org.apache.commons.jelly.JellyTagException: Cannot get property 'escapeExceptionMsg' on null object.

           

          Will appreciate, any idea on resolution or work-around.

           

          Thanks in Advance!

          Gaurav Khandelwal added a comment - Hello Team, We are getting similar exception while executing multiple plans in Jenkins. Jenkins version - 2.46.3. Error Summary: org.apache.commons.jelly.JellyTagException: jar: file:/C:/Bitnami/jenkins-*2.46.3*-0/apache-tomcat/webapps/jenkins/WEB-INF/lib/jenkins-core-2.46.3.jar!/lib/layout/layout.jelly:259:25: <d:invokeBody> org.apache.commons.jelly.JellyTagException: jar: file:/C:/Bitnami/jenkins-2.46.3-0/apache-tomcat/webapps/jenkins/WEB-INF/lib/jenkins-core-2.46.3.jar!/lib/layout/main-panel.jelly:36:21: <d:invokeBody> org.apache.commons.jelly.JellyTagException: Cannot get property 'escapeExceptionMsg' on null object.   Will appreciate, any idea on resolution or work-around.   Thanks in Advance!

          Oleg Nenashev added a comment -

          gauravk it does not look to be similar. Please create a new issue and attach a full stacktrace.

          Oleg Nenashev added a comment - gauravk it does not look to be similar. Please create a new issue and attach a full stacktrace.

            oleg_nenashev Oleg Nenashev
            anthonybsd Anthony Guselnikov
            Votes:
            2 Vote for this issue
            Watchers:
            8 Start watching this issue

              Created:
              Updated:
              Resolved: