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

Custom parsers in Warnings plugin extremely slow down Jenkins Web interface

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved (View Workflow)
    • Priority: Major
    • Resolution: Fixed
    • Component/s: warnings-plugin
    • Labels:
      None
    • Environment:
      Jenkins ver. 1.475, Warnings 4.13
    • Similar Issues:

      Description

      I created a dozen of custom parsers using Warnings plugin. After that Jenkins Web interface got extremely slow. It takes about 30 sec just to open my project from the Dashboard. "Configure project" takes about a minute to load.
      My regular expressions are for IBM XLC compiler and regular expressions are like that - "^\s*"?([^"])"?, line (\d).: (.) ((.)) (.*)$"

      The Groovy scripts are like:
      — groovy start —
      import hudson.plugins.warnings.parser.Warning
      import hudson.plugins.analysis.util.model.Priority

      Priority priority = Priority.NORMAL
      String fileName = matcher.group(1)
      String lineNumber = matcher.group(2)
      String category = matcher.group(3)
      String severity = matcher.group(4)
      if (severity == "U" || severity == "S" || severity == "E")
      priority = Priority.HIGH
      else if (severity == "W")
      priority = Priority.NORMAL
      else if (severity == "I")
      priority = Priority.LOW

      String message = matcher.group(5)

      category = category + " " + message
      .replaceAll("extern \"C\"", "extern C")
      .replaceAll("[\"'][^\"]*[\"']", "X")
      .replaceAll("
      d+ ", " N ")
      .replaceAll(" \\d+
      .", " N.")

      final int MAX_LEN = 128
      if (category.length() > MAX_LEN)
      category = category.substring(0, MAX_LEN-1)

      return new Warning(fileName, Integer.parseInt(lineNumber), "XLC Compiler", category, message, priority);
      — groovy end —

        Attachments

        1. dump.txt
          60 kB
        2. dump2.txt
          97 kB

          Activity

          Hide
          drulli Ulli Hafner added a comment - - edited

          I'm not sure if I understand correctly: after you added new parsers, all UI pages render slowly? E.g. the plugin update page?

          Can you please create a thread dump (see Wiki) too see what is going wrong?

          Show
          drulli Ulli Hafner added a comment - - edited I'm not sure if I understand correctly: after you added new parsers, all UI pages render slowly? E.g. the plugin update page? Can you please create a thread dump (see Wiki) too see what is going wrong?
          Hide
          agvozdev Andrew Gvozdev added a comment -

          Yes, UI pages render slowly. Project's "Configure" page does extremely so. The full thread dump during loading "Configure" attached. Looks like this thread could be the culprit, class loader perhaps?

          Handling GET /store/job/HEAD%20on%20dev53%20Incremental/configure : RequestHandlerThread15

          "Handling GET /store/job/HEAD%20on%20dev53%20Incremental/configure : RequestHandlerThread15" Id=63 Group=main RUNNABLE
          at java.util.zip.ZipFile.getEntry(Native Method)
          at java.util.zip.ZipFile.getEntry(ZipFile.java:166)

          • locked java.util.jar.JarFile@20fa7eeb
            at java.util.jar.JarFile.getEntry(JarFile.java:223)
            at java.util.jar.JarFile.getJarEntry(JarFile.java:206)
            at sun.misc.URLClassPath$JarLoader.getResource(URLClassPath.java:771)
            at sun.misc.URLClassPath.getResource(URLClassPath.java:185)
            at java.net.URLClassLoader$1.run(URLClassLoader.java:209)
            at java.security.AccessController.doPrivileged(Native Method)
            at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
            at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            at java.lang.reflect.Method.invoke(Method.java:616)
            at jenkins.ClassLoaderReflectionToolkit.findClass(ClassLoaderReflectionToolkit.java:44)
            at hudson.ClassicPluginStrategy$DependencyClassLoader.findClass(ClassicPluginStrategy.java:491)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
          • locked hudson.ClassicPluginStrategy$DependencyClassLoader@66863941
            at java.lang.ClassLoader.loadClass(ClassLoader.java:314)
          • locked java.net.URLClassLoader@56e20ef8
            at java.lang.ClassLoader.loadClass(ClassLoader.java:314)
          • locked groovy.lang.GroovyClassLoader@2ab71617
            at groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:696)
            at groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:564)
            at org.codehaus.groovy.control.ResolveVisitor.resolveToClass(ResolveVisitor.java:709)
            at org.codehaus.groovy.control.ResolveVisitor.resolve(ResolveVisitor.java:275)
            at org.codehaus.groovy.control.ResolveVisitor.resolveFromStaticInnerClasses(ResolveVisitor.java:441)
            at org.codehaus.groovy.control.ResolveVisitor.resolve(ResolveVisitor.java:275)
            at org.codehaus.groovy.control.ResolveVisitor.resolveFromStaticInnerClasses(ResolveVisitor.java:441)
            at org.codehaus.groovy.control.ResolveVisitor.resolve(ResolveVisitor.java:275)
            at org.codehaus.groovy.control.ResolveVisitor.resolveFromStaticInnerClasses(ResolveVisitor.java:441)
            at org.codehaus.groovy.control.ResolveVisitor.resolve(ResolveVisitor.java:275)
            at org.codehaus.groovy.control.ResolveVisitor.resolveFromStaticInnerClasses(ResolveVisitor.java:441)
            at org.codehaus.groovy.control.ResolveVisitor.resolve(ResolveVisitor.java:275)
            at org.codehaus.groovy.control.ResolveVisitor.visitClass(ResolveVisitor.java:1241)
            at org.codehaus.groovy.control.ResolveVisitor.startResolving(ResolveVisitor.java:148)
            at org.codehaus.groovy.control.CompilationUnit$9.call(CompilationUnit.java:605)
            at org.codehaus.groovy.control.CompilationUnit.applyToSourceUnits(CompilationUnit.java:843)
            at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:548)
            at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:497)
            at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:306)
            at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:287)
            at groovy.lang.GroovyShell.parseClass(GroovyShell.java:731)
            at groovy.lang.GroovyShell.parse(GroovyShell.java:743)
            at groovy.lang.GroovyShell.parse(GroovyShell.java:770)
            at groovy.lang.GroovyShell.parse(GroovyShell.java:761)
            at hudson.plugins.warnings.parser.GroovyExpressionMatcher.compileScript(GroovyExpressionMatcher.java:46)
            at hudson.plugins.warnings.parser.GroovyExpressionMatcher.<init>(GroovyExpressionMatcher.java:40)
            at hudson.plugins.warnings.parser.DynamicParser.<init>(DynamicParser.java:32)
            at hudson.plugins.warnings.parser.ParserRegistry.getDynamicParsers(ParserRegistry.java:234)
            at hudson.plugins.warnings.parser.ParserRegistry.getAllParsers(ParserRegistry.java:207)
            at hudson.plugins.warnings.parser.ParserRegistry.getParsers(ParserRegistry.java:171)
            at hudson.plugins.warnings.parser.ParserRegistry.getParsers(ParserRegistry.java:141)
            at hudson.plugins.warnings.parser.ParserRegistry.getParser(ParserRegistry.java:123)
            at hudson.plugins.warnings.parser.ParserRegistry.getAvailableParsers(ParserRegistry.java:104)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            at java.lang.reflect.Method.invoke(Method.java:616)
            at org.apache.commons.jelly.tags.core.InvokeStaticTag.doTag(InvokeStaticTag.java:125)
            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$2.run(CoreTagLibrary.java:105)
            at org.kohsuke.stapler.jelly.JellyViewScript.run(JellyViewScript.java:81)
            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.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.apache.commons.jelly.impl.DynamicTag.doTag(DynamicTag.java:81)
            at org.apache.commons.jelly.impl.StaticTagScript.run(StaticTagScript.java:121)
            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.TagSupport.invokeBody(TagSupport.java:161)
            at org.apache.commons.jelly.tags.core.ForEachTag.doTag(ForEachTag.java:150)
            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.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.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.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.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.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.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.CallTagLibScript.run(CallTagLibScript.java:119)
            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:81)
            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.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.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.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: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.JellyFacet$1.dispatch(JellyFacet.java:95)
            at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:574)
            at org.kohsuke.stapler.Stapler.invoke(Stapler.java:659)
            at org.kohsuke.stapler.MetaClass$6.doDispatch(MetaClass.java:241)
            at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
            at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:574)
            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.plugins.audit_trail.AuditTrailFilter.doFilter(AuditTrailFilter.java:66)
            at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:98)
            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.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:471)
            at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
            at java.util.concurrent.FutureTask.run(FutureTask.java:166)
            at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77)
            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
            at java.lang.Thread.run(Thread.java:679)
          Show
          agvozdev Andrew Gvozdev added a comment - Yes, UI pages render slowly. Project's "Configure" page does extremely so. The full thread dump during loading "Configure" attached. Looks like this thread could be the culprit, class loader perhaps? Handling GET /store/job/HEAD%20on%20dev53%20Incremental/configure : RequestHandlerThread 15 "Handling GET /store/job/HEAD%20on%20dev53%20Incremental/configure : RequestHandlerThread 15 " Id=63 Group=main RUNNABLE at java.util.zip.ZipFile.getEntry(Native Method) at java.util.zip.ZipFile.getEntry(ZipFile.java:166) locked java.util.jar.JarFile@20fa7eeb at java.util.jar.JarFile.getEntry(JarFile.java:223) at java.util.jar.JarFile.getJarEntry(JarFile.java:206) at sun.misc.URLClassPath$JarLoader.getResource(URLClassPath.java:771) at sun.misc.URLClassPath.getResource(URLClassPath.java:185) at java.net.URLClassLoader$1.run(URLClassLoader.java:209) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:205) at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:616) at jenkins.ClassLoaderReflectionToolkit.findClass(ClassLoaderReflectionToolkit.java:44) at hudson.ClassicPluginStrategy$DependencyClassLoader.findClass(ClassicPluginStrategy.java:491) at java.lang.ClassLoader.loadClass(ClassLoader.java:321) locked hudson.ClassicPluginStrategy$DependencyClassLoader@66863941 at java.lang.ClassLoader.loadClass(ClassLoader.java:314) locked java.net.URLClassLoader@56e20ef8 at java.lang.ClassLoader.loadClass(ClassLoader.java:314) locked groovy.lang.GroovyClassLoader@2ab71617 at groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:696) at groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:564) at org.codehaus.groovy.control.ResolveVisitor.resolveToClass(ResolveVisitor.java:709) at org.codehaus.groovy.control.ResolveVisitor.resolve(ResolveVisitor.java:275) at org.codehaus.groovy.control.ResolveVisitor.resolveFromStaticInnerClasses(ResolveVisitor.java:441) at org.codehaus.groovy.control.ResolveVisitor.resolve(ResolveVisitor.java:275) at org.codehaus.groovy.control.ResolveVisitor.resolveFromStaticInnerClasses(ResolveVisitor.java:441) at org.codehaus.groovy.control.ResolveVisitor.resolve(ResolveVisitor.java:275) at org.codehaus.groovy.control.ResolveVisitor.resolveFromStaticInnerClasses(ResolveVisitor.java:441) at org.codehaus.groovy.control.ResolveVisitor.resolve(ResolveVisitor.java:275) at org.codehaus.groovy.control.ResolveVisitor.resolveFromStaticInnerClasses(ResolveVisitor.java:441) at org.codehaus.groovy.control.ResolveVisitor.resolve(ResolveVisitor.java:275) at org.codehaus.groovy.control.ResolveVisitor.visitClass(ResolveVisitor.java:1241) at org.codehaus.groovy.control.ResolveVisitor.startResolving(ResolveVisitor.java:148) at org.codehaus.groovy.control.CompilationUnit$9.call(CompilationUnit.java:605) at org.codehaus.groovy.control.CompilationUnit.applyToSourceUnits(CompilationUnit.java:843) at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:548) at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:497) at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:306) at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:287) at groovy.lang.GroovyShell.parseClass(GroovyShell.java:731) at groovy.lang.GroovyShell.parse(GroovyShell.java:743) at groovy.lang.GroovyShell.parse(GroovyShell.java:770) at groovy.lang.GroovyShell.parse(GroovyShell.java:761) at hudson.plugins.warnings.parser.GroovyExpressionMatcher.compileScript(GroovyExpressionMatcher.java:46) at hudson.plugins.warnings.parser.GroovyExpressionMatcher.<init>(GroovyExpressionMatcher.java:40) at hudson.plugins.warnings.parser.DynamicParser.<init>(DynamicParser.java:32) at hudson.plugins.warnings.parser.ParserRegistry.getDynamicParsers(ParserRegistry.java:234) at hudson.plugins.warnings.parser.ParserRegistry.getAllParsers(ParserRegistry.java:207) at hudson.plugins.warnings.parser.ParserRegistry.getParsers(ParserRegistry.java:171) at hudson.plugins.warnings.parser.ParserRegistry.getParsers(ParserRegistry.java:141) at hudson.plugins.warnings.parser.ParserRegistry.getParser(ParserRegistry.java:123) at hudson.plugins.warnings.parser.ParserRegistry.getAvailableParsers(ParserRegistry.java:104) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:616) at org.apache.commons.jelly.tags.core.InvokeStaticTag.doTag(InvokeStaticTag.java:125) 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$2.run(CoreTagLibrary.java:105) at org.kohsuke.stapler.jelly.JellyViewScript.run(JellyViewScript.java:81) 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.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.apache.commons.jelly.impl.DynamicTag.doTag(DynamicTag.java:81) at org.apache.commons.jelly.impl.StaticTagScript.run(StaticTagScript.java:121) 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.TagSupport.invokeBody(TagSupport.java:161) at org.apache.commons.jelly.tags.core.ForEachTag.doTag(ForEachTag.java:150) 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.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.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.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.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.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.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.CallTagLibScript.run(CallTagLibScript.java:119) 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:81) 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.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.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.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: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.JellyFacet$1.dispatch(JellyFacet.java:95) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:574) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:659) at org.kohsuke.stapler.MetaClass$6.doDispatch(MetaClass.java:241) at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:574) 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.plugins.audit_trail.AuditTrailFilter.doFilter(AuditTrailFilter.java:66) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:98) 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.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:471) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) at java.util.concurrent.FutureTask.run(FutureTask.java:166) at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:679)
          Hide
          agvozdev Andrew Gvozdev added a comment -

          Here is another dump while trying to open one build from "Build History". That one took several minutes. That one sports several threads loading Groovy classes. Now Jenkins as a whole is frozen, even thread dump thread takes significant time to render.

          Show
          agvozdev Andrew Gvozdev added a comment - Here is another dump while trying to open one build from "Build History". That one took several minutes. That one sports several threads loading Groovy classes. Now Jenkins as a whole is frozen, even thread dump thread takes significant time to render.
          Hide
          drulli Ulli Hafner added a comment -

          Thanks! That helps to spot the problem...

          Show
          drulli Ulli Hafner added a comment - Thanks! That helps to spot the problem...
          Hide
          scm_issue_link SCM/JIRA link daemon added a comment -

          Code changed in jenkins
          User: Ulli Hafner
          Path:
          src/main/java/hudson/plugins/warnings/parser/GroovyExpressionMatcher.java
          http://jenkins-ci.org/commit/warnings-plugin/6ef488d74979aaa7b84eb84e029f628b60dc35d2
          Log:
          [FIXED JENKINS-14614] Removed unnecessary compilation of Groovy scripts.

          Show
          scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Ulli Hafner Path: src/main/java/hudson/plugins/warnings/parser/GroovyExpressionMatcher.java http://jenkins-ci.org/commit/warnings-plugin/6ef488d74979aaa7b84eb84e029f628b60dc35d2 Log: [FIXED JENKINS-14614] Removed unnecessary compilation of Groovy scripts.
          Hide
          agvozdev Andrew Gvozdev added a comment -

          Thanks! How can I figure out version of Warnings plugin which includes the fix?

          Show
          agvozdev Andrew Gvozdev added a comment - Thanks! How can I figure out version of Warnings plugin which includes the fix?
          Hide
          drulli Ulli Hafner added a comment -
          Show
          drulli Ulli Hafner added a comment - You can test the current snapshot from http://faktorzehn.org:8081/job/Jenkins%20Analysis%20Plug-ins%20%28Compile%29/
          Hide
          agvozdev Andrew Gvozdev added a comment -

          In reply to comment #7:
          > You can test the current snapshot from
          > http://faktorzehn.org:8081/job/Jenkins%20Analysis%20Plug-ins%20%28Compile%29/
          I do not control our Jenkins installation to the degree of testing snapshots. I just can ask for update to newest version. Can you tell at least when we can normally expect it to get into production stream?

          Show
          agvozdev Andrew Gvozdev added a comment - In reply to comment #7: > You can test the current snapshot from > http://faktorzehn.org:8081/job/Jenkins%20Analysis%20Plug-ins%20%28Compile%29/ I do not control our Jenkins installation to the degree of testing snapshots. I just can ask for update to newest version. Can you tell at least when we can normally expect it to get into production stream?

            People

            • Assignee:
              drulli Ulli Hafner
              Reporter:
              agvozdev Andrew Gvozdev
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: