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

Job hanging, killing not possible

    XMLWordPrintable

    Details

    • Similar Issues:

      Description

      I have a job that keeps hanging everytime it builds. The job ran fine in the past. No changes happend and suddenly it started hanging. ThradDump:

      Executor #0 for Slave_rlx-v121 : executing m_techlog_reporting/zk.mtr.build #945
      
      "Executor #0 for Slave_rlx-v121 : executing m_techlog_reporting/zk.mtr.build #945" Id=79 Group=main RUNNABLE
      	at java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3715)
      	at java.util.regex.Pattern$Ques.match(Pattern.java:4079)
      	at java.util.regex.Pattern$GroupHead.match(Pattern.java:4556)
      	at java.util.regex.Pattern$Loop.match(Pattern.java:4692)
      	at java.util.regex.Pattern$GroupTail.match(Pattern.java:4615)
      	at java.util.regex.Pattern$Curly.match0(Pattern.java:4170)
      	at java.util.regex.Pattern$Curly.match(Pattern.java:4132)
      	at java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3715)
      	at java.util.regex.Pattern$Ques.match(Pattern.java:4079)
      	at java.util.regex.Pattern$GroupHead.match(Pattern.java:4556)
      	at java.util.regex.Pattern$Loop.match(Pattern.java:4683)
      	at java.util.regex.Pattern$GroupTail.match(Pattern.java:4615)
      	at java.util.regex.Pattern$Curly.match0(Pattern.java:4170)
      	at java.util.regex.Pattern$Curly.match(Pattern.java:4132)
      	at java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3715)
      	at java.util.regex.Pattern$Ques.match(Pattern.java:4079)
      	at java.util.regex.Pattern$GroupHead.match(Pattern.java:4556)
      	at java.util.regex.Pattern$Loop.match(Pattern.java:4683)
      	at java.util.regex.Pattern$GroupTail.match(Pattern.java:4615)
      	at java.util.regex.Pattern$Curly.match0(Pattern.java:4170)
      	at java.util.regex.Pattern$Curly.match(Pattern.java:4132)
      	at java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3715)
      	at java.util.regex.Pattern$Ques.match(Pattern.java:4079)
      	at java.util.regex.Pattern$GroupHead.match(Pattern.java:4556)
      	at java.util.regex.Pattern$Loop.match(Pattern.java:4683)
      	at java.util.regex.Pattern$GroupTail.match(Pattern.java:4615)
      	at java.util.regex.Pattern$Curly.match0(Pattern.java:4170)
      	at java.util.regex.Pattern$Curly.match(Pattern.java:4132)
      	at java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3715)
      	at java.util.regex.Pattern$Ques.match(Pattern.java:4079)
      	at java.util.regex.Pattern$GroupHead.match(Pattern.java:4556)
      	at java.util.regex.Pattern$Loop.match(Pattern.java:4683)
      	at java.util.regex.Pattern$GroupTail.match(Pattern.java:4615)
      	at java.util.regex.Pattern$Curly.match0(Pattern.java:4170)
      	at java.util.regex.Pattern$Curly.match(Pattern.java:4132)
      	at java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3715)
      	at java.util.regex.Pattern$Ques.match(Pattern.java:4079)
      	at java.util.regex.Pattern$GroupHead.match(Pattern.java:4556)
      	at java.util.regex.Pattern$Loop.match(Pattern.java:4683)
      	at java.util.regex.Pattern$GroupTail.match(Pattern.java:4615)
      	at java.util.regex.Pattern$Curly.match0(Pattern.java:4170)
      	at java.util.regex.Pattern$Curly.match(Pattern.java:4132)
      	at java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3715)
      	at java.util.regex.Pattern$Ques.match(Pattern.java:4079)
      	at java.util.regex.Pattern$GroupHead.match(Pattern.java:4556)
      	at java.util.regex.Pattern$Loop.match(Pattern.java:4683)
      	at java.util.regex.Pattern$GroupTail.match(Pattern.java:4615)
      	at java.util.regex.Pattern$Curly.match0(Pattern.java:4170)
      	at java.util.regex.Pattern$Curly.match(Pattern.java:4132)
      	at java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3715)
      	at java.util.regex.Pattern$Ques.match(Pattern.java:4079)
      	at java.util.regex.Pattern$GroupHead.match(Pattern.java:4556)
      	at java.util.regex.Pattern$Loop.match(Pattern.java:4683)
      	at java.util.regex.Pattern$GroupTail.match(Pattern.java:4615)
      	at java.util.regex.Pattern$Curly.match0(Pattern.java:4170)
      	at java.util.regex.Pattern$Curly.match(Pattern.java:4132)
      	at java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3715)
      	at java.util.regex.Pattern$Ques.match(Pattern.java:4079)
      	at java.util.regex.Pattern$GroupHead.match(Pattern.java:4556)
      	at java.util.regex.Pattern$Loop.match(Pattern.java:4683)
      	at java.util.regex.Pattern$GroupTail.match(Pattern.java:4615)
      	at java.util.regex.Pattern$Curly.match0(Pattern.java:4170)
      	at java.util.regex.Pattern$Curly.match(Pattern.java:4132)
      	at java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3715)
      	at java.util.regex.Pattern$Ques.match(Pattern.java:4079)
      	at java.util.regex.Pattern$GroupHead.match(Pattern.java:4556)
      	at java.util.regex.Pattern$Loop.match(Pattern.java:4683)
      	at java.util.regex.Pattern$GroupTail.match(Pattern.java:4615)
      	at java.util.regex.Pattern$Curly.match0(Pattern.java:4170)
      	at java.util.regex.Pattern$Curly.match(Pattern.java:4132)
      	at java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3715)
      	at java.util.regex.Pattern$Ques.match(Pattern.java:4079)
      	at java.util.regex.Pattern$GroupHead.match(Pattern.java:4556)
      	at java.util.regex.Pattern$Loop.matchInit(Pattern.java:4699)
      	at java.util.regex.Pattern$Prolog.match(Pattern.java:4639)
      	at java.util.regex.Pattern$Curly.match0(Pattern.java:4170)
      	at java.util.regex.Pattern$Curly.match(Pattern.java:4132)
      	at java.util.regex.Pattern$GroupTail.match(Pattern.java:4615)
      	at java.util.regex.Pattern$BranchConn.match(Pattern.java:4466)
      	at java.util.regex.Pattern$GroupTail.match(Pattern.java:4615)
      	at java.util.regex.Pattern$Curly.match0(Pattern.java:4170)
      	at java.util.regex.Pattern$Curly.match(Pattern.java:4132)
      	at java.util.regex.Pattern$GroupHead.match(Pattern.java:4556)
      	at java.util.regex.Pattern$Slice.match(Pattern.java:3870)
      	at java.util.regex.Pattern$Branch.match(Pattern.java:4502)
      	at java.util.regex.Pattern$GroupHead.match(Pattern.java:4556)
      	at java.util.regex.Pattern$GroupTail.match(Pattern.java:4615)
      	at java.util.regex.Pattern$Curly.match0(Pattern.java:4170)
      	at java.util.regex.Pattern$Curly.match(Pattern.java:4132)
      	at java.util.regex.Pattern$GroupHead.match(Pattern.java:4556)
      	at java.util.regex.Pattern$Curly.match0(Pattern.java:4177)
      	at java.util.regex.Pattern$Curly.match(Pattern.java:4132)
      	at java.util.regex.Pattern$Branch.match(Pattern.java:4500)
      	at java.util.regex.Pattern$Curly.match0(Pattern.java:4170)
      	at java.util.regex.Pattern$Curly.match(Pattern.java:4132)
      	at java.util.regex.Pattern$Ques.match(Pattern.java:4079)
      	at java.util.regex.Pattern$GroupTail.match(Pattern.java:4615)
      	at java.util.regex.Pattern$BranchConn.match(Pattern.java:4466)
      	at java.util.regex.Pattern$Slice.match(Pattern.java:3870)
      	at java.util.regex.Pattern$Branch.match(Pattern.java:4502)
      	at java.util.regex.Pattern$GroupHead.match(Pattern.java:4556)
      	at java.util.regex.Pattern$Ques.match(Pattern.java:4079)
      	at java.util.regex.Pattern$Start.match(Pattern.java:3408)
      	at java.util.regex.Matcher.search(Matcher.java:1199)
      	at java.util.regex.Matcher.find(Matcher.java:592)
      	at hudson.plugins.warnings.parser.RegexpParser.findAnnotations(RegexpParser.java:86)
      	at hudson.plugins.warnings.parser.RegexpDocumentParser.parse(RegexpDocumentParser.java:62)
      	at hudson.plugins.warnings.parser.ParserRegistry.parse(ParserRegistry.java:280)
      	at hudson.plugins.warnings.parser.ParserRegistry.parse(ParserRegistry.java:259)
      	at hudson.plugins.warnings.WarningsPublisher.parseConsoleLog(WarningsPublisher.java:382)
      	at hudson.plugins.warnings.WarningsPublisher.perform(WarningsPublisher.java:324)
      	at hudson.plugins.analysis.core.HealthAwarePublisher.perform(HealthAwarePublisher.java:152)
      	at hudson.plugins.analysis.core.HealthAwareRecorder.perform(HealthAwareRecorder.java:347)
      	at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
      	at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:770)
      	at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:734)
      	at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.post2(MavenModuleSetBuild.java:1046)
      	at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:683)
      	at hudson.model.Run.execute(Run.java:1784)
      	at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:531)
      	at hudson.model.ResourceController.execute(ResourceController.java:89)
      	at hudson.model.Executor.run(Executor.java:240)
      

        Attachments

          Activity

          Hide
          ketevv Kevin Rancka added a comment -

          The end of the console output of the job:

          10:08:04 [INFO] WEB-INF/web.xml already added, skipping
          10:08:04 [JENKINS] Archiving disabled
          10:08:04 [INFO] ------------------------------------------------------------------------
          10:08:04 [INFO] BUILD SUCCESS
          10:08:04 [INFO] ------------------------------------------------------------------------
          10:08:04 [INFO] Total time: 1:10.621s
          10:08:04 [INFO] Finished at: Mon Mar 30 10:08:04 CEST 2015
          10:08:05 [INFO] Final Memory: 44M/229M
          10:08:05 [INFO] ------------------------------------------------------------------------
          10:08:05 [JENKINS] Archiving disabled
          10:08:05 Waiting for Jenkins to finish collecting data
          10:08:05 [ssh-agent] Stopped.
          10:08:05 channel stopped
          10:08:05 [WARNINGS] Parsing warnings in console log with parser Java Compiler (Eclipse)

          Show
          ketevv Kevin Rancka added a comment - The end of the console output of the job: 10:08:04 [INFO] WEB-INF/web.xml already added, skipping 10:08:04 [JENKINS] Archiving disabled 10:08:04 [INFO] ------------------------------------------------------------------------ 10:08:04 [INFO] BUILD SUCCESS 10:08:04 [INFO] ------------------------------------------------------------------------ 10:08:04 [INFO] Total time: 1:10.621s 10:08:04 [INFO] Finished at: Mon Mar 30 10:08:04 CEST 2015 10:08:05 [INFO] Final Memory: 44M/229M 10:08:05 [INFO] ------------------------------------------------------------------------ 10:08:05 [JENKINS] Archiving disabled 10:08:05 Waiting for Jenkins to finish collecting data 10:08:05 [ssh-agent] Stopped. 10:08:05 channel stopped 10:08:05 [WARNINGS] Parsing warnings in console log with parser Java Compiler (Eclipse)
          Hide
          dav3r Dave Rigby added a comment -

          I'm seeing a very similar stack trace:

          "Executor #0 for ubuntu12.04-02 : executing memcached-gerrit-master.NEW » ubuntu12.04 #2" Id=911 Group=main RUNNABLE
          	at java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3383)
          	at java.util.regex.Pattern$Curly.match0(Pattern.java:3799)
          	at java.util.regex.Pattern$Curly.match(Pattern.java:3761)
          	at java.util.regex.Pattern$GroupTail.match(Pattern.java:4244)
          	at java.util.regex.Pattern$Curly.match0(Pattern.java:3799)
          	at java.util.regex.Pattern$Curly.match(Pattern.java:3761)
          	at java.util.regex.Pattern$GroupHead.match(Pattern.java:4185)
          	at java.util.regex.Pattern$Branch.match(Pattern.java:4131)
          	at java.util.regex.Pattern$GroupHead.match(Pattern.java:4185)
          	at java.util.regex.Pattern$Branch.match(Pattern.java:4129)
          	at java.util.regex.Pattern$Curly.match0(Pattern.java:3799)
          	at java.util.regex.Pattern$Curly.match(Pattern.java:3761)
          	at java.util.regex.Pattern$Branch.match(Pattern.java:4129)
          	at java.util.regex.Pattern$Begin.match(Pattern.java:3137)
          	at java.util.regex.Matcher.search(Matcher.java:1116)
          	at java.util.regex.Matcher.find(Matcher.java:552)
          	at hudson.plugins.warnings.parser.RegexpParser.findAnnotations(RegexpParser.java:86)
          	at hudson.plugins.warnings.parser.RegexpLineParser.parse(RegexpLineParser.java:94)
          	at hudson.plugins.warnings.parser.ParserRegistry.parse(ParserRegistry.java:280)
          	at hudson.plugins.warnings.parser.ParserRegistry.parse(ParserRegistry.java:259)
          	at hudson.plugins.warnings.WarningsPublisher.parseConsoleLog(WarningsPublisher.java:399)
          	at hudson.plugins.warnings.WarningsPublisher.perform(WarningsPublisher.java:321)
          	at hudson.plugins.analysis.core.HealthAwareRecorder.perform(HealthAwareRecorder.java:319)
          	at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
          	at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:804)
          	at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:776)
          	at hudson.model.Build$BuildExecution.post2(Build.java:183)
          	at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:725)
          	at hudson.model.Run.execute(Run.java:1701)
          	at hudson.matrix.MatrixRun.run(MatrixRun.java:146)
          	at hudson.model.ResourceController.execute(ResourceController.java:88)
          	at hudson.model.Executor.run(Executor.java:231)
          

          Looks like a possible issue with the Warnings parser. We are running:

          • Jenkins v1.553
          • Warnings Plugin v4.4.2
          • Static Code Analysis Plug-ins v1.6.2
          Show
          dav3r Dave Rigby added a comment - I'm seeing a very similar stack trace: "Executor #0 for ubuntu12.04-02 : executing memcached-gerrit-master.NEW » ubuntu12.04 #2" Id=911 Group=main RUNNABLE at java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3383) at java.util.regex.Pattern$Curly.match0(Pattern.java:3799) at java.util.regex.Pattern$Curly.match(Pattern.java:3761) at java.util.regex.Pattern$GroupTail.match(Pattern.java:4244) at java.util.regex.Pattern$Curly.match0(Pattern.java:3799) at java.util.regex.Pattern$Curly.match(Pattern.java:3761) at java.util.regex.Pattern$GroupHead.match(Pattern.java:4185) at java.util.regex.Pattern$Branch.match(Pattern.java:4131) at java.util.regex.Pattern$GroupHead.match(Pattern.java:4185) at java.util.regex.Pattern$Branch.match(Pattern.java:4129) at java.util.regex.Pattern$Curly.match0(Pattern.java:3799) at java.util.regex.Pattern$Curly.match(Pattern.java:3761) at java.util.regex.Pattern$Branch.match(Pattern.java:4129) at java.util.regex.Pattern$Begin.match(Pattern.java:3137) at java.util.regex.Matcher.search(Matcher.java:1116) at java.util.regex.Matcher.find(Matcher.java:552) at hudson.plugins.warnings.parser.RegexpParser.findAnnotations(RegexpParser.java:86) at hudson.plugins.warnings.parser.RegexpLineParser.parse(RegexpLineParser.java:94) at hudson.plugins.warnings.parser.ParserRegistry.parse(ParserRegistry.java:280) at hudson.plugins.warnings.parser.ParserRegistry.parse(ParserRegistry.java:259) at hudson.plugins.warnings.WarningsPublisher.parseConsoleLog(WarningsPublisher.java:399) at hudson.plugins.warnings.WarningsPublisher.perform(WarningsPublisher.java:321) at hudson.plugins.analysis.core.HealthAwareRecorder.perform(HealthAwareRecorder.java:319) at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20) at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:804) at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:776) at hudson.model.Build$BuildExecution.post2(Build.java:183) at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:725) at hudson.model.Run.execute(Run.java:1701) at hudson.matrix.MatrixRun.run(MatrixRun.java:146) at hudson.model.ResourceController.execute(ResourceController.java:88) at hudson.model.Executor.run(Executor.java:231) Looks like a possible issue with the Warnings parser. We are running: Jenkins v1.553 Warnings Plugin v4.4.2 Static Code Analysis Plug-ins v1.6.2
          Hide
          drulli Ulli Hafner added a comment -

          The Eclipse warnings parser is quite limited since it needs to parser multiple lines per warning.

          Show
          drulli Ulli Hafner added a comment - The Eclipse warnings parser is quite limited since it needs to parser multiple lines per warning.
          Hide
          integer Kanstantsin Shautsou added a comment - - edited

          Jenkins 1.609.3, Warnings Plug-in 4.50.
          Unable to abort job, only jenkins restart.

          Parsing warnings in console log with parser Java Compiler (javac)
          

          Log size: 33,645 KB

          Id=34558 Group=main RUNNABLE
          	at java.util.regex.Pattern$Curly.match0(Pattern.java:4260)
          	at java.util.regex.Pattern$Curly.match(Pattern.java:4234)
          	at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
          	at java.util.regex.Pattern$Curly.match0(Pattern.java:4279)
          	at java.util.regex.Pattern$Curly.match(Pattern.java:4234)
          	at java.util.regex.Pattern$Curly.match0(Pattern.java:4279)
          	at java.util.regex.Pattern$Curly.match(Pattern.java:4234)
          	at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
          	at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
          	at java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3798)
          	at java.util.regex.Pattern$Curly.match0(Pattern.java:4272)
          	at java.util.regex.Pattern$Curly.match(Pattern.java:4234)
          	at java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3798)
          	at java.util.regex.Pattern$Curly.match0(Pattern.java:4272)
          	at java.util.regex.Pattern$Curly.match(Pattern.java:4234)
          	at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
          	at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
          	at java.util.regex.Pattern$Begin.match(Pattern.java:3525)
          	at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
          	at java.util.regex.Pattern$Start.match(Pattern.java:3461)
          	at java.util.regex.Matcher.search(Matcher.java:1248)
          	at java.util.regex.Matcher.find(Matcher.java:637)
          	at hudson.plugins.warnings.parser.RegexpParser.findAnnotations(RegexpParser.java:86)
          	at hudson.plugins.warnings.parser.RegexpLineParser.parse(RegexpLineParser.java:87)
          	at hudson.plugins.warnings.parser.ParserRegistry.parse(ParserRegistry.java:281)
          	at hudson.plugins.warnings.parser.ParserRegistry.parse(ParserRegistry.java:260)
          	at hudson.plugins.warnings.WarningsPublisher.parseConsoleLog(WarningsPublisher.java:324)
          	at hudson.plugins.warnings.WarningsPublisher.perform(WarningsPublisher.java:266)
          	at hudson.plugins.analysis.core.HealthAwarePublisher.perform(HealthAwarePublisher.java:68)
          	at hudson.plugins.analysis.core.HealthAwareRecorder.perform(HealthAwareRecorder.java:259)
          	at hudson.tasks.BuildStepCompatibilityLayer.perform(BuildStepCompatibilityLayer.java:74)
          	at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
          	at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:776)
          	at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:723)
          	at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.post2(MavenModuleSetBuild.java:1053)
          	at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:670)
          	at hudson.model.Run.execute(Run.java:1763)
          	at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:537)
          	at hudson.model.ResourceController.execute(ResourceController.java:98)
          	at hudson.model.Executor.run(Executor.java:381)
          
          Show
          integer Kanstantsin Shautsou added a comment - - edited Jenkins 1.609.3, Warnings Plug-in 4.50. Unable to abort job, only jenkins restart. Parsing warnings in console log with parser Java Compiler (javac) Log size: 33,645 KB Id=34558 Group=main RUNNABLE at java.util.regex.Pattern$Curly.match0(Pattern.java:4260) at java.util.regex.Pattern$Curly.match(Pattern.java:4234) at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658) at java.util.regex.Pattern$Curly.match0(Pattern.java:4279) at java.util.regex.Pattern$Curly.match(Pattern.java:4234) at java.util.regex.Pattern$Curly.match0(Pattern.java:4279) at java.util.regex.Pattern$Curly.match(Pattern.java:4234) at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568) at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717) at java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3798) at java.util.regex.Pattern$Curly.match0(Pattern.java:4272) at java.util.regex.Pattern$Curly.match(Pattern.java:4234) at java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3798) at java.util.regex.Pattern$Curly.match0(Pattern.java:4272) at java.util.regex.Pattern$Curly.match(Pattern.java:4234) at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658) at java.util.regex.Pattern$Branch.match(Pattern.java:4604) at java.util.regex.Pattern$Begin.match(Pattern.java:3525) at java.util.regex.Pattern$Branch.match(Pattern.java:4604) at java.util.regex.Pattern$Start.match(Pattern.java:3461) at java.util.regex.Matcher.search(Matcher.java:1248) at java.util.regex.Matcher.find(Matcher.java:637) at hudson.plugins.warnings.parser.RegexpParser.findAnnotations(RegexpParser.java:86) at hudson.plugins.warnings.parser.RegexpLineParser.parse(RegexpLineParser.java:87) at hudson.plugins.warnings.parser.ParserRegistry.parse(ParserRegistry.java:281) at hudson.plugins.warnings.parser.ParserRegistry.parse(ParserRegistry.java:260) at hudson.plugins.warnings.WarningsPublisher.parseConsoleLog(WarningsPublisher.java:324) at hudson.plugins.warnings.WarningsPublisher.perform(WarningsPublisher.java:266) at hudson.plugins.analysis.core.HealthAwarePublisher.perform(HealthAwarePublisher.java:68) at hudson.plugins.analysis.core.HealthAwareRecorder.perform(HealthAwareRecorder.java:259) at hudson.tasks.BuildStepCompatibilityLayer.perform(BuildStepCompatibilityLayer.java:74) at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20) at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:776) at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:723) at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.post2(MavenModuleSetBuild.java:1053) at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:670) at hudson.model.Run.execute(Run.java:1763) at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:537) at hudson.model.ResourceController.execute(ResourceController.java:98) at hudson.model.Executor.run(Executor.java:381)
          Hide
          drulli Ulli Hafner added a comment -

          How long did you wait? 22 MByte is quite a large log file but should be manageable. One problem could be the number of warnings that are generated. How many did you expect?

          Show
          drulli Ulli Hafner added a comment - How long did you wait? 22 MByte is quite a large log file but should be manageable. One problem could be the number of warnings that are generated. How many did you expect?
          Hide
          integer Kanstantsin Shautsou added a comment -

          4 hours, and can't abort, only jenkins restart helps. Usually build takes 30 min where scan for warnings takes < 1 min.

          Show
          integer Kanstantsin Shautsou added a comment - 4 hours, and can't abort, only jenkins restart helps. Usually build takes 30 min where scan for warnings takes < 1 min.
          Hide
          integer Kanstantsin Shautsou added a comment -

          And in the end it prints

          Parsing warnings in console log with parser Java Compiler (javac)
          null
          

          Expected Java Warnings: 0 warnings.

          Show
          integer Kanstantsin Shautsou added a comment - And in the end it prints Parsing warnings in console log with parser Java Compiler (javac) null Expected Java Warnings: 0 warnings.
          Hide
          integer Kanstantsin Shautsou added a comment -

          Ulli Hafner is it possible to run this algorithm against log? I can download log to my laptop, but i don't know plugin internals atm

          Show
          integer Kanstantsin Shautsou added a comment - Ulli Hafner is it possible to run this algorithm against log? I can download log to my laptop, but i don't know plugin internals atm
          Hide
          drulli Ulli Hafner added a comment -

          Yes, clone the plug-in and start JavacParserTest and replace the file issue14043.txt with your log file content.

          Show
          drulli Ulli Hafner added a comment - Yes, clone the plug-in and start JavacParserTest and replace the file issue14043.txt with your log file content.
          Hide
          drulli Ulli Hafner added a comment -

          Or use the test ParserSpeed to see the speed of each parser. Here you need to fill all.txt with your log file content.

          Show
          drulli Ulli Hafner added a comment - Or use the test ParserSpeed to see the speed of each parser. Here you need to fill all.txt with your log file content.
          Hide
          tgr Tobias Gruetzmacher added a comment -

          Here is a simple (20 lines!) sample file that throws the EclipseParser into a quite long loop (> 2 minutes on my system)... And the time grows very fast with the number of lines to parse...

          Show
          tgr Tobias Gruetzmacher added a comment - Here is a simple (20 lines!) sample file that throws the EclipseParser into a quite long loop (> 2 minutes on my system)... And the time grows very fast with the number of lines to parse...
          Show
          drulli Ulli Hafner added a comment - See https://issues.jenkins-ci.org/browse/JENKINS-27664?focusedCommentId=236828&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-236828 .
          Hide
          tgr Tobias Gruetzmacher added a comment - - edited

          I think I found a problem in the EclipseParser RegEx, which is quite easy to fix:

          [^\\^]*
          

          matches newlines, creating a RegEx that has to scan the whole remaining file for each possible match up to this point. Changing this to:

          [^\\n\\^]*
          

          confines the match to the current line and fixes the quadratic runtime. Maybe add a test with timeout (

          @Test(timeout = 10000)
          

          ) which parses my attached testcase as a verification.

          Oh, and thanks for the awesome Jenkins plugin(s)

          (Shout out to https://regex101.com/ for helping me find this problem)

          PS: Quite "interesting" to see how the Eclipse Parser parses javac into totally wrong errors, but that is probably a new bug...
          PPS: Scratch that, I made an error. There are some other oddities in that regular expression (1-character character-groups, useless non-capture groups). It would also probably not hurt to restrict the search space for the "marker line" (line only with ^ chars) to maybe ~5 lines. I'll send a pull request this evening.

          Show
          tgr Tobias Gruetzmacher added a comment - - edited I think I found a problem in the EclipseParser RegEx, which is quite easy to fix: [^\\^]* matches newlines, creating a RegEx that has to scan the whole remaining file for each possible match up to this point. Changing this to: [^\\n\\^]* confines the match to the current line and fixes the quadratic runtime. Maybe add a test with timeout ( @Test(timeout = 10000) ) which parses my attached testcase as a verification. Oh, and thanks for the awesome Jenkins plugin(s) (Shout out to https://regex101.com/ for helping me find this problem) PS: Quite "interesting" to see how the Eclipse Parser parses javac into totally wrong errors, but that is probably a new bug... PPS: Scratch that, I made an error. There are some other oddities in that regular expression (1-character character-groups, useless non-capture groups). It would also probably not hurt to restrict the search space for the "marker line" (line only with ^ chars) to maybe ~5 lines. I'll send a pull request this evening.
          Hide
          drulli Ulli Hafner added a comment -

          This fix looks promising! I'm looking forward for the PR

          Show
          drulli Ulli Hafner added a comment - This fix looks promising! I'm looking forward for the PR
          Hide
          scm_issue_link SCM/JIRA link daemon added a comment -

          Code changed in jenkins
          User: Tobias Gruetzmacher
          Path:
          src/main/java/hudson/plugins/warnings/parser/EclipseParser.java
          src/test/java/hudson/plugins/warnings/parser/EclipseParserTest.java
          src/test/resources/hudson/plugins/warnings/parser/issue27664.txt
          http://jenkins-ci.org/commit/warnings-plugin/167f35f42c58b0a587a3def816ab9ea54792d84f
          Log:
          JENKINS-27664 Better Performance of EclipseParser.

          Tune the regular expression used in the EclipseParser to not backtrack
          through the whole log output.

          Show
          scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Tobias Gruetzmacher Path: src/main/java/hudson/plugins/warnings/parser/EclipseParser.java src/test/java/hudson/plugins/warnings/parser/EclipseParserTest.java src/test/resources/hudson/plugins/warnings/parser/issue27664.txt http://jenkins-ci.org/commit/warnings-plugin/167f35f42c58b0a587a3def816ab9ea54792d84f Log: JENKINS-27664 Better Performance of EclipseParser. Tune the regular expression used in the EclipseParser to not backtrack through the whole log output.
          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/EclipseParser.java
          src/test/java/hudson/plugins/warnings/parser/EclipseParserTest.java
          src/test/resources/hudson/plugins/warnings/parser/issue27664.txt
          http://jenkins-ci.org/commit/warnings-plugin/c3f5088ba82fd59f7bf60fec15255b4ccf455832
          Log:
          Merge pull request #72 from TobiX/eclipse-parser-performance

          [FIXED JENKINS-27664] Improved performance of EclipseParser.

          Compare: https://github.com/jenkinsci/warnings-plugin/compare/6b50ca13c489...c3f5088ba82f

          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/EclipseParser.java src/test/java/hudson/plugins/warnings/parser/EclipseParserTest.java src/test/resources/hudson/plugins/warnings/parser/issue27664.txt http://jenkins-ci.org/commit/warnings-plugin/c3f5088ba82fd59f7bf60fec15255b4ccf455832 Log: Merge pull request #72 from TobiX/eclipse-parser-performance [FIXED JENKINS-27664] Improved performance of EclipseParser. Compare: https://github.com/jenkinsci/warnings-plugin/compare/6b50ca13c489...c3f5088ba82f

            People

            • Assignee:
              drulli Ulli Hafner
              Reporter:
              ketevv Kevin Rancka
            • Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: