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

Content token reference help bubble evaluated multiple times on Job Configuration page

      Initial Symptom: When in a job's Configuration page, the loading mask was taking a very long time. Page rendering appeared to be halted at email-ext's "content token reference" help bubble. (Server CPU at 100% as well during this time) Once rendering appeared to progress past that bubble, everything returned to normal.

      Expanding the content token reference help bubble shows the entire help reference duplicated many many times.

      Server restart / recycle fixes the issue temporarily. As time goes on (not sure of specific event) you can see the amount of repeated content grow in repetitions. Somethings in JVM context not getting cleaned up maybe?

      Attachments show approx length (this is shortly after reboot, things are stable. At its worst it was about 500+ pages.) and the specific content repetition.

      Using jenkins 1.513, email-ext 2.30.2, token-macro 1.7

        1. contentrepitition.PNG
          80 kB
          Eric Fusciardi
        2. length.PNG
          76 kB
          Eric Fusciardi

          [JENKINS-18517] Content token reference help bubble evaluated multiple times on Job Configuration page

          Alex Earl added a comment -

          It almost looks like you are not using 2.30.2 because some of the text from the images you showed doesn't even appear in the plugin anymore. Did you restart Jenkins after upgrading?

          Alex Earl added a comment - It almost looks like you are not using 2.30.2 because some of the text from the images you showed doesn't even appear in the plugin anymore. Did you restart Jenkins after upgrading?

          We have the same problem. The monitoring plugin shows the following thread dump:

          Handling GET /ci/job/INT-autoinst-umg08/configure : RequestHandlerThread[#12568]
          java.lang.String.intern(Native Method)
          groovy.xml.QName.<init>(QName.java:74)
          groovy.xml.QName.<init>(QName.java:63)
          org.kohsuke.stapler.jelly.groovy.JellyBuilder.methodMissing(JellyBuilder.java:173)
          sun.reflect.GeneratedMethodAccessor1065.invoke(Unknown Source)
          sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
          java.lang.reflect.Method.invoke(Method.java:597)
          org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
          groovy.lang.MetaClassImpl.invokeMissingMethod(MetaClassImpl.java:811)
          groovy.lang.MetaClassImpl.invokePropertyOrMissing(MetaClassImpl.java:1103)
          groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1056)
          groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:884)
          groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:704)
          groovy.lang.GroovyObjectSupport.invokeMethod(GroovyObjectSupport.java:44)
          org.kohsuke.stapler.jelly.groovy.GroovyClosureScript.invokeMethod(GroovyClosureScript.java:88)
          org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeOnDelegationObjects(ClosureMetaClass.java:407)
          org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:346)
          groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:884)
          org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:66)
          org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:141)
          help$_run_closure1.doCall(help.groovy:3)
          sun.reflect.GeneratedMethodAccessor3754.invoke(Unknown Source)
          sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
          java.lang.reflect.Method.invoke(Method.java:597)
          org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
          groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
          org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:272)
          

          Frederik Fromm added a comment - We have the same problem. The monitoring plugin shows the following thread dump: Handling GET /ci/job/INT-autoinst-umg08/configure : RequestHandlerThread[#12568] java.lang. String .intern(Native Method) groovy.xml.QName.<init>(QName.java:74) groovy.xml.QName.<init>(QName.java:63) org.kohsuke.stapler.jelly.groovy.JellyBuilder.methodMissing(JellyBuilder.java:173) sun.reflect.GeneratedMethodAccessor1065.invoke(Unknown Source) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) java.lang.reflect.Method.invoke(Method.java:597) org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90) groovy.lang.MetaClassImpl.invokeMissingMethod(MetaClassImpl.java:811) groovy.lang.MetaClassImpl.invokePropertyOrMissing(MetaClassImpl.java:1103) groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1056) groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:884) groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:704) groovy.lang.GroovyObjectSupport.invokeMethod(GroovyObjectSupport.java:44) org.kohsuke.stapler.jelly.groovy.GroovyClosureScript.invokeMethod(GroovyClosureScript.java:88) org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeOnDelegationObjects(ClosureMetaClass.java:407) org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:346) groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:884) org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:66) org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:141) help$_run_closure1.doCall(help.groovy:3) sun.reflect.GeneratedMethodAccessor3754.invoke(Unknown Source) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) java.lang.reflect.Method.invoke(Method.java:597) org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90) groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233) org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:272)

          @Alex - Yes, many times. In fact, restarting is the only thing that helps the problem clean itself up after it piles up to be too unresponsive

          Eric Fusciardi added a comment - @Alex - Yes, many times. In fact, restarting is the only thing that helps the problem clean itself up after it piles up to be too unresponsive

          Alex Earl added a comment -

          Ah, my mistake, I was looking at my latest code, not what was released in 2.30.2, I will be doing a release soon that will have a different way of doing this completely.

          Alex Earl added a comment - Ah, my mistake, I was looking at my latest code, not what was released in 2.30.2, I will be doing a release soon that will have a different way of doing this completely.

          pancake added a comment -

          We have the same problem on Jenkins 1.509.1 + email-ext 2.30.2 + token-macro 1.7.
          Job configuration page is currently ~50 Mb because of that and takes a while to load.

          pancake added a comment - We have the same problem on Jenkins 1.509.1 + email-ext 2.30.2 + token-macro 1.7. Job configuration page is currently ~50 Mb because of that and takes a while to load.

          Alex Earl added a comment -

          The content token help is rendered completely differently in 2.31

          Alex Earl added a comment - The content token help is rendered completely differently in 2.31

          Mike Liu added a comment -

          Please kindly provide when this fix will be released (supposingly 2.31). We are suffering from the same issue reported here. Thank you very much

          Mike Liu added a comment - Please kindly provide when this fix will be released (supposingly 2.31). We are suffering from the same issue reported here. Thank you very much

          Alex Earl added a comment -

          I am trying to fix up a couple more bugs for 2.31. I hope to release early next week.

          Alex Earl added a comment - I am trying to fix up a couple more bugs for 2.31. I hope to release early next week.

            slide_o_mix Alex Earl
            efusciardi Eric Fusciardi
            Votes:
            2 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated:
              Resolved: