• Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Major Major
    • warnings-ng-plugin
    • None
    • Platform: PC, OS: Linux

      I have a project that does not have a very large number of CheckStyle issues
      (less than 6500). Building it using Maven on the command line does not have any
      issues. However, when I build it using the Maven runner in Hudson, I get an
      OutOfMemoryError. I have tried using -Xmx768M and -XX:MaxPermSize=256M when I
      start tomcat, but they have not seemed to fix the problem. The stack trace does
      not seem to be the same between runs.

      [INFO] Generating "Checkstyle" report.
      [WARNING] File encoding has not been set, using platform encoding
      ANSI_X3.4-1968, i.e. build is platform dependent!
      [INFO] There are 295 checkstyle errors.

      <snip/>

      [INFO] Generating "Project Team" report.
      [PMD] Successfully parsed file
      /var/lib/hudson/jobs/endx_nightly/workspace/src/endx-webapp/target/pmd.xml of
      module enDx Web App with 235 warnings.
      [PMD] A total of 235 annotations have been found.
      [CHECKSTYLE] Successfully parsed file
      /var/lib/hudson/jobs/endx_nightly/workspace/src/endx-webapp/target/checkstyle-result.xml
      of module enDx Web App with 6293 warnings.
      [HUDSON] Archiving
      /var/lib/hudson/jobs/endx_nightly/workspace/src/endx-webapp/pom.xml to <snip/>
      [HUDSON] Archiving
      /var/lib/hudson/jobs/endx_nightly/workspace/src/endx-webapp/target/endx-webapp.war
      to <snip/>
      [INFO] ------------------------------------------------------------------------
      [ERROR] FATAL ERROR
      [INFO] ------------------------------------------------------------------------
      [INFO] Java heap space
      [INFO] ------------------------------------------------------------------------
      [INFO] Trace
      java.lang.OutOfMemoryError: Java heap space
      at java.util.HashSet.<init>(HashSet.java:86)
      at
      hudson.plugins.checkstyle.util.model.AnnotationContainer.addType(AnnotationContainer.java:205)
      at
      hudson.plugins.checkstyle.util.model.AnnotationContainer.updateMappings(AnnotationContainer.java:167)
      at
      hudson.plugins.checkstyle.util.model.AnnotationContainer.addAnnotation(AnnotationContainer.java:262)
      at
      hudson.plugins.checkstyle.util.model.AnnotationContainer.addFile(AnnotationContainer.java:252)
      at
      hudson.plugins.checkstyle.util.model.AnnotationContainer.updateMappings(AnnotationContainer.java:176)
      at
      hudson.plugins.checkstyle.util.model.AnnotationContainer.addAnnotation(AnnotationContainer.java:262)
      at
      hudson.plugins.checkstyle.util.model.AnnotationContainer.addModule(AnnotationContainer.java:222)
      at
      hudson.plugins.checkstyle.util.model.AnnotationContainer.updateMappings(AnnotationContainer.java:170)
      at
      hudson.plugins.checkstyle.util.model.AnnotationContainer.addAnnotation(AnnotationContainer.java:262)
      at
      hudson.plugins.checkstyle.util.model.AnnotationContainer.addAnnotations(AnnotationContainer.java:272)
      at hudson.plugins.checkstyle.util.model.JavaProject.addModule(JavaProject.java:46)
      at hudson.plugins.checkstyle.util.FilesParser.invoke(FilesParser.java:94)
      at hudson.plugins.checkstyle.util.FilesParser.invoke(FilesParser.java:22)
      at hudson.FilePath.act(FilePath.java:315)
      at hudson.plugins.checkstyle.CheckStyleReporter.perform(CheckStyleReporter.java:65)
      at
      hudson.plugins.checkstyle.util.HealthAwareMavenReporter.postExecute(HealthAwareMavenReporter.java:125)
      at
      hudson.maven.MavenModuleSetBuild$Builder.postExecute(MavenModuleSetBuild.java:585)
      at hudson.maven.MavenBuilder$Adapter.postExecute(MavenBuilder.java:250)
      at
      hudson.maven.agent.PluginManagerInterceptor$1MojoConfig.callPost(PluginManagerInterceptor.java:104)
      at
      hudson.maven.agent.PluginManagerInterceptor.executeMojo(PluginManagerInterceptor.java:137)
      at
      org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:558)
      at
      org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:499)
      at
      org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:478)
      at
      org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:330)
      at
      org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:291)
      at
      org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:142)
      at
      org.apache.maven.lifecycle.LifecycleExecutorInterceptor.execute(LifecycleExecutorInterceptor.java:42)
      at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:336)
      at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:129)
      at org.apache.maven.cli.MavenCli.main(MavenCli.java:287)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

          [JENKINS-1960] OutOfMemoryError from CheckStyle plugin

          frohman created issue -

          Ulli Hafner added a comment -

          Somehow the m2 builds in Hudson don't use the -Xmx768M settings, so the default
          is too low.

          I'll think I need to rework XML file parsing part of the code to reduce the
          memory footprint.

          Ulli Hafner added a comment - Somehow the m2 builds in Hudson don't use the -Xmx768M settings, so the default is too low. I'll think I need to rework XML file parsing part of the code to reduce the memory footprint.

          frohman added a comment -

          I managed to work around it for the time being by setting -Xm768M
          -XX:MaxPermSize=256M in the MAVEN_OPTS for the project, even though this is not
          an optimal solution.

          frohman added a comment - I managed to work around it for the time being by setting -Xm768M -XX:MaxPermSize=256M in the MAVEN_OPTS for the project, even though this is not an optimal solution.

          Code changed in hudson
          User: : drulli
          Path:
          trunk/hudson/plugins/checkstyle/.classpath
          trunk/hudson/plugins/checkstyle/eclipse.bat
          trunk/hudson/plugins/checkstyle/src/main/java/hudson/plugins/checkstyle/CheckStylePublisher.java
          trunk/hudson/plugins/checkstyle/src/main/java/hudson/plugins/checkstyle/CheckStyleReporter.java
          trunk/hudson/plugins/checkstyle/src/main/java/hudson/plugins/checkstyle/CheckStyleResult.java
          trunk/hudson/plugins/checkstyle/src/main/java/hudson/plugins/checkstyle/CheckStyleResultBuilder.java
          trunk/hudson/plugins/checkstyle/src/main/java/hudson/plugins/checkstyle/MavenCheckStyleResultAction.java
          trunk/hudson/plugins/checkstyle/src/main/java/hudson/plugins/checkstyle/parser/CheckStyleParser.java
          trunk/hudson/plugins/checkstyle/src/main/java/hudson/plugins/checkstyle/util/AbstractResultAction.java
          trunk/hudson/plugins/checkstyle/src/main/java/hudson/plugins/checkstyle/util/AnnotationParser.java
          trunk/hudson/plugins/checkstyle/src/main/java/hudson/plugins/checkstyle/util/AnnotationsBuildResult.java
          trunk/hudson/plugins/checkstyle/src/main/java/hudson/plugins/checkstyle/util/DetailBuilder.java
          trunk/hudson/plugins/checkstyle/src/main/java/hudson/plugins/checkstyle/util/ErrorDetail.java
          trunk/hudson/plugins/checkstyle/src/main/java/hudson/plugins/checkstyle/util/FilesParser.java
          trunk/hudson/plugins/checkstyle/src/main/java/hudson/plugins/checkstyle/util/HealthAwareMavenReporter.java
          trunk/hudson/plugins/checkstyle/src/main/java/hudson/plugins/checkstyle/util/HealthAwarePublisher.java
          trunk/hudson/plugins/checkstyle/src/main/java/hudson/plugins/checkstyle/util/ParserResult.java
          trunk/hudson/plugins/checkstyle/src/main/java/hudson/plugins/checkstyle/util/PluginDescriptor.java
          trunk/hudson/plugins/checkstyle/src/main/java/hudson/plugins/checkstyle/util/ReporterDescriptor.java
          trunk/hudson/plugins/checkstyle/src/main/resources/hudson/plugins/checkstyle/util/Messages.properties
          trunk/hudson/plugins/checkstyle/src/main/webapp/help-m2.html
          trunk/hudson/plugins/checkstyle/src/main/webapp/help.html
          trunk/hudson/plugins/checkstyle/src/test/java/hudson/plugins/checkstyle/CheckstyleResultTest.java
          trunk/hudson/plugins/checkstyle/src/test/java/hudson/plugins/checkstyle/parser/CheckStyleParserTest.java
          trunk/hudson/plugins/checkstyle/src/test/java/hudson/plugins/checkstyle/util/AbstractAnnotationsBuildResultTest.java
          trunk/hudson/plugins/findbugs/.classpath
          trunk/hudson/plugins/findbugs/src/main/java/hudson/plugins/findbugs/FindBugsPublisher.java
          trunk/hudson/plugins/findbugs/src/main/java/hudson/plugins/findbugs/FindBugsReporter.java
          trunk/hudson/plugins/findbugs/src/main/java/hudson/plugins/findbugs/FindBugsResult.java
          trunk/hudson/plugins/findbugs/src/main/java/hudson/plugins/findbugs/FindBugsResultBuilder.java
          trunk/hudson/plugins/findbugs/src/main/java/hudson/plugins/findbugs/MavenFindBugsResultAction.java
          trunk/hudson/plugins/findbugs/src/main/java/hudson/plugins/findbugs/parser/FindBugsParser.java
          trunk/hudson/plugins/findbugs/src/main/java/hudson/plugins/findbugs/parser/PlainFindBugsParser.java
          trunk/hudson/plugins/findbugs/src/main/java/hudson/plugins/findbugs/parser/maven/MavenFindBugsParser.java
          trunk/hudson/plugins/findbugs/src/main/java/hudson/plugins/findbugs/util/AbstractResultAction.java
          trunk/hudson/plugins/findbugs/src/main/java/hudson/plugins/findbugs/util/AnnotationParser.java
          trunk/hudson/plugins/findbugs/src/main/java/hudson/plugins/findbugs/util/AnnotationsBuildResult.java
          trunk/hudson/plugins/findbugs/src/main/java/hudson/plugins/findbugs/util/DetailBuilder.java
          trunk/hudson/plugins/findbugs/src/main/java/hudson/plugins/findbugs/util/ErrorDetail.java
          trunk/hudson/plugins/findbugs/src/main/java/hudson/plugins/findbugs/util/FilesParser.java
          trunk/hudson/plugins/findbugs/src/main/java/hudson/plugins/findbugs/util/HealthAwareMavenReporter.java
          trunk/hudson/plugins/findbugs/src/main/java/hudson/plugins/findbugs/util/HealthAwarePublisher.java
          trunk/hudson/plugins/findbugs/src/main/java/hudson/plugins/findbugs/util/ParserResult.java
          trunk/hudson/plugins/findbugs/src/main/java/hudson/plugins/findbugs/util/PluginDescriptor.java
          trunk/hudson/plugins/findbugs/src/main/java/hudson/plugins/findbugs/util/ReporterDescriptor.java
          trunk/hudson/plugins/findbugs/src/main/resources/hudson/plugins/findbugs/util/Messages.properties
          trunk/hudson/plugins/findbugs/src/main/webapp/help-m2.html
          trunk/hudson/plugins/findbugs/src/main/webapp/help.html
          trunk/hudson/plugins/findbugs/src/test/java/hudson/plugins/findbugs/FindBugsResultTest.java
          trunk/hudson/plugins/findbugs/src/test/java/hudson/plugins/findbugs/parser/NativeFindBugsParserTest.java
          trunk/hudson/plugins/findbugs/src/test/java/hudson/plugins/findbugs/parser/maven/MavenFindBugsParserTest.java
          trunk/hudson/plugins/findbugs/src/test/java/hudson/plugins/findbugs/util/AbstractAnnotationsBuildResultTest.java
          trunk/hudson/plugins/pmd/.classpath
          trunk/hudson/plugins/pmd/eclipse.bat
          trunk/hudson/plugins/pmd/src/main/java/hudson/plugins/pmd/MavenPmdResultAction.java
          trunk/hudson/plugins/pmd/src/main/java/hudson/plugins/pmd/PmdPublisher.java
          trunk/hudson/plugins/pmd/src/main/java/hudson/plugins/pmd/PmdReporter.java
          trunk/hudson/plugins/pmd/src/main/java/hudson/plugins/pmd/PmdResult.java
          trunk/hudson/plugins/pmd/src/main/java/hudson/plugins/pmd/PmdResultBuilder.java
          trunk/hudson/plugins/pmd/src/main/java/hudson/plugins/pmd/parser/PmdParser.java
          trunk/hudson/plugins/pmd/src/main/java/hudson/plugins/pmd/util/AbstractResultAction.java
          trunk/hudson/plugins/pmd/src/main/java/hudson/plugins/pmd/util/AnnotationParser.java
          trunk/hudson/plugins/pmd/src/main/java/hudson/plugins/pmd/util/AnnotationsBuildResult.java
          trunk/hudson/plugins/pmd/src/main/java/hudson/plugins/pmd/util/DetailBuilder.java
          trunk/hudson/plugins/pmd/src/main/java/hudson/plugins/pmd/util/ErrorDetail.java
          trunk/hudson/plugins/pmd/src/main/java/hudson/plugins/pmd/util/FilesParser.java
          trunk/hudson/plugins/pmd/src/main/java/hudson/plugins/pmd/util/HealthAwareMavenReporter.java
          trunk/hudson/plugins/pmd/src/main/java/hudson/plugins/pmd/util/HealthAwarePublisher.java
          trunk/hudson/plugins/pmd/src/main/java/hudson/plugins/pmd/util/ParserResult.java
          trunk/hudson/plugins/pmd/src/main/java/hudson/plugins/pmd/util/PluginDescriptor.java
          trunk/hudson/plugins/pmd/src/main/java/hudson/plugins/pmd/util/ReporterDescriptor.java
          trunk/hudson/plugins/pmd/src/main/resources/hudson/plugins/pmd/util/Messages.properties
          trunk/hudson/plugins/pmd/src/main/webapp/help-m2.html
          trunk/hudson/plugins/pmd/src/main/webapp/help.html
          trunk/hudson/plugins/pmd/src/test/java/hudson/plugins/pmd/PmdResultTest.java
          trunk/hudson/plugins/pmd/src/test/java/hudson/plugins/pmd/parser/PmdParserTest.java
          trunk/hudson/plugins/pmd/src/test/java/hudson/plugins/pmd/util/AbstractAnnotationsBuildResultTest.java
          trunk/hudson/plugins/tasks/src/main/java/hudson/plugins/tasks/MavenTasksResultAction.java
          trunk/hudson/plugins/tasks/src/main/java/hudson/plugins/tasks/TasksPublisher.java
          trunk/hudson/plugins/tasks/src/main/java/hudson/plugins/tasks/TasksReporter.java
          trunk/hudson/plugins/tasks/src/main/java/hudson/plugins/tasks/TasksResult.java
          trunk/hudson/plugins/tasks/src/main/java/hudson/plugins/tasks/TasksResultBuilder.java
          trunk/hudson/plugins/tasks/src/main/java/hudson/plugins/tasks/parser/WorkspaceScanner.java
          trunk/hudson/plugins/tasks/src/main/java/hudson/plugins/tasks/util/AbstractResultAction.java
          trunk/hudson/plugins/tasks/src/main/java/hudson/plugins/tasks/util/AnnotationParser.java
          trunk/hudson/plugins/tasks/src/main/java/hudson/plugins/tasks/util/AnnotationsBuildResult.java
          trunk/hudson/plugins/tasks/src/main/java/hudson/plugins/tasks/util/DetailBuilder.java
          trunk/hudson/plugins/tasks/src/main/java/hudson/plugins/tasks/util/ErrorDetail.java
          trunk/hudson/plugins/tasks/src/main/java/hudson/plugins/tasks/util/FilesParser.java
          trunk/hudson/plugins/tasks/src/main/java/hudson/plugins/tasks/util/HealthAwareMavenReporter.java
          trunk/hudson/plugins/tasks/src/main/java/hudson/plugins/tasks/util/HealthAwarePublisher.java
          trunk/hudson/plugins/tasks/src/main/java/hudson/plugins/tasks/util/ParserResult.java
          trunk/hudson/plugins/tasks/src/main/java/hudson/plugins/tasks/util/PluginDescriptor.java
          trunk/hudson/plugins/tasks/src/main/java/hudson/plugins/tasks/util/ReporterDescriptor.java
          trunk/hudson/plugins/tasks/src/main/resources/hudson/plugins/tasks/util/Messages.properties
          trunk/hudson/plugins/tasks/src/main/webapp/help-m2.html
          trunk/hudson/plugins/tasks/src/test/java/hudson/plugins/tasks/util/AbstractAnnotationsBuildResultTest.java
          trunk/hudson/plugins/warnings/src/main/java/hudson/plugins/warnings/WarningsPublisher.java
          trunk/hudson/plugins/warnings/src/main/java/hudson/plugins/warnings/WarningsResult.java
          trunk/hudson/plugins/warnings/src/main/java/hudson/plugins/warnings/WarningsResultBuilder.java
          trunk/hudson/plugins/warnings/src/main/java/hudson/plugins/warnings/util/AbstractResultAction.java
          trunk/hudson/plugins/warnings/src/main/java/hudson/plugins/warnings/util/AnnotationParser.java
          trunk/hudson/plugins/warnings/src/main/java/hudson/plugins/warnings/util/AnnotationsBuildResult.java
          trunk/hudson/plugins/warnings/src/main/java/hudson/plugins/warnings/util/DetailBuilder.java
          trunk/hudson/plugins/warnings/src/main/java/hudson/plugins/warnings/util/ErrorDetail.java
          trunk/hudson/plugins/warnings/src/main/java/hudson/plugins/warnings/util/FilesParser.java
          trunk/hudson/plugins/warnings/src/main/java/hudson/plugins/warnings/util/HealthAwareMavenReporter.java
          trunk/hudson/plugins/warnings/src/main/java/hudson/plugins/warnings/util/HealthAwarePublisher.java
          trunk/hudson/plugins/warnings/src/main/java/hudson/plugins/warnings/util/ParserResult.java
          trunk/hudson/plugins/warnings/src/main/java/hudson/plugins/warnings/util/PluginDescriptor.java
          trunk/hudson/plugins/warnings/src/main/java/hudson/plugins/warnings/util/ReporterDescriptor.java
          trunk/hudson/plugins/warnings/src/main/resources/hudson/plugins/warnings/util/Messages.properties
          trunk/hudson/plugins/warnings/src/test/java/hudson/plugins/warnings/WarningsResultTest.java
          trunk/hudson/plugins/warnings/src/test/java/hudson/plugins/warnings/util/AbstractAnnotationsBuildResultTest.java
          http://fisheye4.cenqua.com/changelog/hudson/?cs=11060
          Log:
          [FIXED JENKINS-1960] Rewrote parser API. Now a simple container with annotations is used during parsing rather than the full blown project with drill down support. Also updates the help files for maven reporters.

          SCM/JIRA link daemon added a comment - Code changed in hudson User: : drulli Path: trunk/hudson/plugins/checkstyle/.classpath trunk/hudson/plugins/checkstyle/eclipse.bat trunk/hudson/plugins/checkstyle/src/main/java/hudson/plugins/checkstyle/CheckStylePublisher.java trunk/hudson/plugins/checkstyle/src/main/java/hudson/plugins/checkstyle/CheckStyleReporter.java trunk/hudson/plugins/checkstyle/src/main/java/hudson/plugins/checkstyle/CheckStyleResult.java trunk/hudson/plugins/checkstyle/src/main/java/hudson/plugins/checkstyle/CheckStyleResultBuilder.java trunk/hudson/plugins/checkstyle/src/main/java/hudson/plugins/checkstyle/MavenCheckStyleResultAction.java trunk/hudson/plugins/checkstyle/src/main/java/hudson/plugins/checkstyle/parser/CheckStyleParser.java trunk/hudson/plugins/checkstyle/src/main/java/hudson/plugins/checkstyle/util/AbstractResultAction.java trunk/hudson/plugins/checkstyle/src/main/java/hudson/plugins/checkstyle/util/AnnotationParser.java trunk/hudson/plugins/checkstyle/src/main/java/hudson/plugins/checkstyle/util/AnnotationsBuildResult.java trunk/hudson/plugins/checkstyle/src/main/java/hudson/plugins/checkstyle/util/DetailBuilder.java trunk/hudson/plugins/checkstyle/src/main/java/hudson/plugins/checkstyle/util/ErrorDetail.java trunk/hudson/plugins/checkstyle/src/main/java/hudson/plugins/checkstyle/util/FilesParser.java trunk/hudson/plugins/checkstyle/src/main/java/hudson/plugins/checkstyle/util/HealthAwareMavenReporter.java trunk/hudson/plugins/checkstyle/src/main/java/hudson/plugins/checkstyle/util/HealthAwarePublisher.java trunk/hudson/plugins/checkstyle/src/main/java/hudson/plugins/checkstyle/util/ParserResult.java trunk/hudson/plugins/checkstyle/src/main/java/hudson/plugins/checkstyle/util/PluginDescriptor.java trunk/hudson/plugins/checkstyle/src/main/java/hudson/plugins/checkstyle/util/ReporterDescriptor.java trunk/hudson/plugins/checkstyle/src/main/resources/hudson/plugins/checkstyle/util/Messages.properties trunk/hudson/plugins/checkstyle/src/main/webapp/help-m2.html trunk/hudson/plugins/checkstyle/src/main/webapp/help.html trunk/hudson/plugins/checkstyle/src/test/java/hudson/plugins/checkstyle/CheckstyleResultTest.java trunk/hudson/plugins/checkstyle/src/test/java/hudson/plugins/checkstyle/parser/CheckStyleParserTest.java trunk/hudson/plugins/checkstyle/src/test/java/hudson/plugins/checkstyle/util/AbstractAnnotationsBuildResultTest.java trunk/hudson/plugins/findbugs/.classpath trunk/hudson/plugins/findbugs/src/main/java/hudson/plugins/findbugs/FindBugsPublisher.java trunk/hudson/plugins/findbugs/src/main/java/hudson/plugins/findbugs/FindBugsReporter.java trunk/hudson/plugins/findbugs/src/main/java/hudson/plugins/findbugs/FindBugsResult.java trunk/hudson/plugins/findbugs/src/main/java/hudson/plugins/findbugs/FindBugsResultBuilder.java trunk/hudson/plugins/findbugs/src/main/java/hudson/plugins/findbugs/MavenFindBugsResultAction.java trunk/hudson/plugins/findbugs/src/main/java/hudson/plugins/findbugs/parser/FindBugsParser.java trunk/hudson/plugins/findbugs/src/main/java/hudson/plugins/findbugs/parser/PlainFindBugsParser.java trunk/hudson/plugins/findbugs/src/main/java/hudson/plugins/findbugs/parser/maven/MavenFindBugsParser.java trunk/hudson/plugins/findbugs/src/main/java/hudson/plugins/findbugs/util/AbstractResultAction.java trunk/hudson/plugins/findbugs/src/main/java/hudson/plugins/findbugs/util/AnnotationParser.java trunk/hudson/plugins/findbugs/src/main/java/hudson/plugins/findbugs/util/AnnotationsBuildResult.java trunk/hudson/plugins/findbugs/src/main/java/hudson/plugins/findbugs/util/DetailBuilder.java trunk/hudson/plugins/findbugs/src/main/java/hudson/plugins/findbugs/util/ErrorDetail.java trunk/hudson/plugins/findbugs/src/main/java/hudson/plugins/findbugs/util/FilesParser.java trunk/hudson/plugins/findbugs/src/main/java/hudson/plugins/findbugs/util/HealthAwareMavenReporter.java trunk/hudson/plugins/findbugs/src/main/java/hudson/plugins/findbugs/util/HealthAwarePublisher.java trunk/hudson/plugins/findbugs/src/main/java/hudson/plugins/findbugs/util/ParserResult.java trunk/hudson/plugins/findbugs/src/main/java/hudson/plugins/findbugs/util/PluginDescriptor.java trunk/hudson/plugins/findbugs/src/main/java/hudson/plugins/findbugs/util/ReporterDescriptor.java trunk/hudson/plugins/findbugs/src/main/resources/hudson/plugins/findbugs/util/Messages.properties trunk/hudson/plugins/findbugs/src/main/webapp/help-m2.html trunk/hudson/plugins/findbugs/src/main/webapp/help.html trunk/hudson/plugins/findbugs/src/test/java/hudson/plugins/findbugs/FindBugsResultTest.java trunk/hudson/plugins/findbugs/src/test/java/hudson/plugins/findbugs/parser/NativeFindBugsParserTest.java trunk/hudson/plugins/findbugs/src/test/java/hudson/plugins/findbugs/parser/maven/MavenFindBugsParserTest.java trunk/hudson/plugins/findbugs/src/test/java/hudson/plugins/findbugs/util/AbstractAnnotationsBuildResultTest.java trunk/hudson/plugins/pmd/.classpath trunk/hudson/plugins/pmd/eclipse.bat trunk/hudson/plugins/pmd/src/main/java/hudson/plugins/pmd/MavenPmdResultAction.java trunk/hudson/plugins/pmd/src/main/java/hudson/plugins/pmd/PmdPublisher.java trunk/hudson/plugins/pmd/src/main/java/hudson/plugins/pmd/PmdReporter.java trunk/hudson/plugins/pmd/src/main/java/hudson/plugins/pmd/PmdResult.java trunk/hudson/plugins/pmd/src/main/java/hudson/plugins/pmd/PmdResultBuilder.java trunk/hudson/plugins/pmd/src/main/java/hudson/plugins/pmd/parser/PmdParser.java trunk/hudson/plugins/pmd/src/main/java/hudson/plugins/pmd/util/AbstractResultAction.java trunk/hudson/plugins/pmd/src/main/java/hudson/plugins/pmd/util/AnnotationParser.java trunk/hudson/plugins/pmd/src/main/java/hudson/plugins/pmd/util/AnnotationsBuildResult.java trunk/hudson/plugins/pmd/src/main/java/hudson/plugins/pmd/util/DetailBuilder.java trunk/hudson/plugins/pmd/src/main/java/hudson/plugins/pmd/util/ErrorDetail.java trunk/hudson/plugins/pmd/src/main/java/hudson/plugins/pmd/util/FilesParser.java trunk/hudson/plugins/pmd/src/main/java/hudson/plugins/pmd/util/HealthAwareMavenReporter.java trunk/hudson/plugins/pmd/src/main/java/hudson/plugins/pmd/util/HealthAwarePublisher.java trunk/hudson/plugins/pmd/src/main/java/hudson/plugins/pmd/util/ParserResult.java trunk/hudson/plugins/pmd/src/main/java/hudson/plugins/pmd/util/PluginDescriptor.java trunk/hudson/plugins/pmd/src/main/java/hudson/plugins/pmd/util/ReporterDescriptor.java trunk/hudson/plugins/pmd/src/main/resources/hudson/plugins/pmd/util/Messages.properties trunk/hudson/plugins/pmd/src/main/webapp/help-m2.html trunk/hudson/plugins/pmd/src/main/webapp/help.html trunk/hudson/plugins/pmd/src/test/java/hudson/plugins/pmd/PmdResultTest.java trunk/hudson/plugins/pmd/src/test/java/hudson/plugins/pmd/parser/PmdParserTest.java trunk/hudson/plugins/pmd/src/test/java/hudson/plugins/pmd/util/AbstractAnnotationsBuildResultTest.java trunk/hudson/plugins/tasks/src/main/java/hudson/plugins/tasks/MavenTasksResultAction.java trunk/hudson/plugins/tasks/src/main/java/hudson/plugins/tasks/TasksPublisher.java trunk/hudson/plugins/tasks/src/main/java/hudson/plugins/tasks/TasksReporter.java trunk/hudson/plugins/tasks/src/main/java/hudson/plugins/tasks/TasksResult.java trunk/hudson/plugins/tasks/src/main/java/hudson/plugins/tasks/TasksResultBuilder.java trunk/hudson/plugins/tasks/src/main/java/hudson/plugins/tasks/parser/WorkspaceScanner.java trunk/hudson/plugins/tasks/src/main/java/hudson/plugins/tasks/util/AbstractResultAction.java trunk/hudson/plugins/tasks/src/main/java/hudson/plugins/tasks/util/AnnotationParser.java trunk/hudson/plugins/tasks/src/main/java/hudson/plugins/tasks/util/AnnotationsBuildResult.java trunk/hudson/plugins/tasks/src/main/java/hudson/plugins/tasks/util/DetailBuilder.java trunk/hudson/plugins/tasks/src/main/java/hudson/plugins/tasks/util/ErrorDetail.java trunk/hudson/plugins/tasks/src/main/java/hudson/plugins/tasks/util/FilesParser.java trunk/hudson/plugins/tasks/src/main/java/hudson/plugins/tasks/util/HealthAwareMavenReporter.java trunk/hudson/plugins/tasks/src/main/java/hudson/plugins/tasks/util/HealthAwarePublisher.java trunk/hudson/plugins/tasks/src/main/java/hudson/plugins/tasks/util/ParserResult.java trunk/hudson/plugins/tasks/src/main/java/hudson/plugins/tasks/util/PluginDescriptor.java trunk/hudson/plugins/tasks/src/main/java/hudson/plugins/tasks/util/ReporterDescriptor.java trunk/hudson/plugins/tasks/src/main/resources/hudson/plugins/tasks/util/Messages.properties trunk/hudson/plugins/tasks/src/main/webapp/help-m2.html trunk/hudson/plugins/tasks/src/test/java/hudson/plugins/tasks/util/AbstractAnnotationsBuildResultTest.java trunk/hudson/plugins/warnings/src/main/java/hudson/plugins/warnings/WarningsPublisher.java trunk/hudson/plugins/warnings/src/main/java/hudson/plugins/warnings/WarningsResult.java trunk/hudson/plugins/warnings/src/main/java/hudson/plugins/warnings/WarningsResultBuilder.java trunk/hudson/plugins/warnings/src/main/java/hudson/plugins/warnings/util/AbstractResultAction.java trunk/hudson/plugins/warnings/src/main/java/hudson/plugins/warnings/util/AnnotationParser.java trunk/hudson/plugins/warnings/src/main/java/hudson/plugins/warnings/util/AnnotationsBuildResult.java trunk/hudson/plugins/warnings/src/main/java/hudson/plugins/warnings/util/DetailBuilder.java trunk/hudson/plugins/warnings/src/main/java/hudson/plugins/warnings/util/ErrorDetail.java trunk/hudson/plugins/warnings/src/main/java/hudson/plugins/warnings/util/FilesParser.java trunk/hudson/plugins/warnings/src/main/java/hudson/plugins/warnings/util/HealthAwareMavenReporter.java trunk/hudson/plugins/warnings/src/main/java/hudson/plugins/warnings/util/HealthAwarePublisher.java trunk/hudson/plugins/warnings/src/main/java/hudson/plugins/warnings/util/ParserResult.java trunk/hudson/plugins/warnings/src/main/java/hudson/plugins/warnings/util/PluginDescriptor.java trunk/hudson/plugins/warnings/src/main/java/hudson/plugins/warnings/util/ReporterDescriptor.java trunk/hudson/plugins/warnings/src/main/resources/hudson/plugins/warnings/util/Messages.properties trunk/hudson/plugins/warnings/src/test/java/hudson/plugins/warnings/WarningsResultTest.java trunk/hudson/plugins/warnings/src/test/java/hudson/plugins/warnings/util/AbstractAnnotationsBuildResultTest.java http://fisheye4.cenqua.com/changelog/hudson/?cs=11060 Log: [FIXED JENKINS-1960] Rewrote parser API. Now a simple container with annotations is used during parsing rather than the full blown project with drill down support. Also updates the help files for maven reporters.
          SCM/JIRA link daemon made changes -
          Resolution New: Fixed [ 1 ]
          Status Original: Open [ 1 ] New: Resolved [ 5 ]

          jeffreyyan added a comment -

          It happens again sometimes on windowsXP

          [CHECKSTYLE] Collecting checkstyle analysis files...
          [CHECKSTYLE] Successfully parsed file C:\View\TAS_R5.2
          \garmentpodium_zha\TAS_JavaApp\ant-build\check-style\AFWServer\checkstyle-
          result.xml of module AFWServer with 4326 warnings.
          FATAL: Java heap space
          java.lang.OutOfMemoryError: Java heap space
          at java.util.HashMap.resize(HashMap.java:462)
          at java.util.HashMap.addEntry(HashMap.java:755)
          at java.util.HashMap.put(HashMap.java:385)
          at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert
          (AbstractReferenceUnmarshaller.java:57)
          at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother
          (TreeUnmarshaller.java:75)
          at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother
          (TreeUnmarshaller.java:59)
          at hudson.util.RobustReflectionConverter.unmarshallField
          (RobustReflectionConverter.java:235)
          at hudson.util.RobustReflectionConverter.doUnmarshal
          (RobustReflectionConverter.java:193)
          at hudson.util.RobustReflectionConverter.unmarshal
          (RobustReflectionConverter.java:144)
          at com.thoughtworks.xstream.core.TreeUnmarshaller.convert
          (TreeUnmarshaller.java:81)
          at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert
          (AbstractReferenceUnmarshaller.java:55)
          at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother
          (TreeUnmarshaller.java:75)
          at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother
          (TreeUnmarshaller.java:59)
          at
          com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.read
          Item(AbstractCollectionConverter.java:77)
          at
          com.thoughtworks.xstream.converters.collections.ArrayConverter.unmarshal
          (ArrayConverter.java:55)
          at com.thoughtworks.xstream.core.TreeUnmarshaller.convert
          (TreeUnmarshaller.java:81)
          at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert
          (AbstractReferenceUnmarshaller.java:55)
          at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother
          (TreeUnmarshaller.java:75)
          at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother
          (TreeUnmarshaller.java:59)
          at com.thoughtworks.xstream.core.TreeUnmarshaller.start
          (TreeUnmarshaller.java:142)
          at
          com.thoughtworks.xstream.core.AbstractTreeMarshallingStrategy.unmarshal
          (AbstractTreeMarshallingStrategy.java:33)
          at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:931)
          at hudson.util.XStream2.unmarshal(XStream2.java:38)
          at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:917)
          at com.thoughtworks.xstream.XStream.fromXML(XStream.java:861)
          at hudson.XmlFile.read(XmlFile.java:103)
          at hudson.plugins.checkstyle.util.AnnotationsBuildResult.loadResult
          (AnnotationsBuildResult.java:317)
          at hudson.plugins.checkstyle.util.AnnotationsBuildResult.getProject
          (AnnotationsBuildResult.java:298)
          at hudson.plugins.checkstyle.util.AnnotationsBuildResult.<init>
          (AnnotationsBuildResult.java:108)
          at hudson.plugins.checkstyle.CheckStyleResult.<init>
          (CheckStyleResult.java:45)
          at hudson.plugins.checkstyle.CheckStyleResultBuilder.build
          (CheckStyleResultBuilder.java:29)
          at hudson.plugins.checkstyle.CheckStylePublisher.perform
          (CheckStylePublisher.java:82)

          jeffreyyan added a comment - It happens again sometimes on windowsXP [CHECKSTYLE] Collecting checkstyle analysis files... [CHECKSTYLE] Successfully parsed file C:\View\TAS_R5.2 \garmentpodium_zha\TAS_JavaApp\ant-build\check-style\AFWServer\checkstyle- result.xml of module AFWServer with 4326 warnings. FATAL: Java heap space java.lang.OutOfMemoryError: Java heap space at java.util.HashMap.resize(HashMap.java:462) at java.util.HashMap.addEntry(HashMap.java:755) at java.util.HashMap.put(HashMap.java:385) at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert (AbstractReferenceUnmarshaller.java:57) at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother (TreeUnmarshaller.java:75) at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother (TreeUnmarshaller.java:59) at hudson.util.RobustReflectionConverter.unmarshallField (RobustReflectionConverter.java:235) at hudson.util.RobustReflectionConverter.doUnmarshal (RobustReflectionConverter.java:193) at hudson.util.RobustReflectionConverter.unmarshal (RobustReflectionConverter.java:144) at com.thoughtworks.xstream.core.TreeUnmarshaller.convert (TreeUnmarshaller.java:81) at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert (AbstractReferenceUnmarshaller.java:55) at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother (TreeUnmarshaller.java:75) at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother (TreeUnmarshaller.java:59) at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.read Item(AbstractCollectionConverter.java:77) at com.thoughtworks.xstream.converters.collections.ArrayConverter.unmarshal (ArrayConverter.java:55) at com.thoughtworks.xstream.core.TreeUnmarshaller.convert (TreeUnmarshaller.java:81) at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert (AbstractReferenceUnmarshaller.java:55) at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother (TreeUnmarshaller.java:75) at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother (TreeUnmarshaller.java:59) at com.thoughtworks.xstream.core.TreeUnmarshaller.start (TreeUnmarshaller.java:142) at com.thoughtworks.xstream.core.AbstractTreeMarshallingStrategy.unmarshal (AbstractTreeMarshallingStrategy.java:33) at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:931) at hudson.util.XStream2.unmarshal(XStream2.java:38) at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:917) at com.thoughtworks.xstream.XStream.fromXML(XStream.java:861) at hudson.XmlFile.read(XmlFile.java:103) at hudson.plugins.checkstyle.util.AnnotationsBuildResult.loadResult (AnnotationsBuildResult.java:317) at hudson.plugins.checkstyle.util.AnnotationsBuildResult.getProject (AnnotationsBuildResult.java:298) at hudson.plugins.checkstyle.util.AnnotationsBuildResult.<init> (AnnotationsBuildResult.java:108) at hudson.plugins.checkstyle.CheckStyleResult.<init> (CheckStyleResult.java:45) at hudson.plugins.checkstyle.CheckStyleResultBuilder.build (CheckStyleResultBuilder.java:29) at hudson.plugins.checkstyle.CheckStylePublisher.perform (CheckStylePublisher.java:82)
          jeffreyyan made changes -
          Resolution Original: Fixed [ 1 ]
          Status Original: Resolved [ 5 ] New: Reopened [ 4 ]

          cuiyuanzhi added a comment -

          Created an attachment (id=432)
          FATAL: Java heap space. java.lang.OutOfMemoryError: Java heap space

          cuiyuanzhi added a comment - Created an attachment (id=432) FATAL: Java heap space. java.lang.OutOfMemoryError: Java heap space

          weigo added a comment -

          The implementation used to read the checkstyle-warnings.xml holds on to a HashMap
          which in my case holds about 1.4G worth of objects (for ~300.000 warnings). I can
          provide the heapdump for inspection with e.g. eclipse memory analyzer.

          Wouldn't it be simpler to just use a handcrafted extension of DefaultHandler to
          construct the Warning objects?

          I attached such a class to issue JENKINS-2978.

          One could overwrite the XStream2.fromXML method to use another unmarshaling method
          i.e. the DefaultHandler above. But i think this would not go along with the intended
          design (simplicity of reading and storing objects to/from xml files and evolving the
          data structures).

          weigo added a comment - The implementation used to read the checkstyle-warnings.xml holds on to a HashMap which in my case holds about 1.4G worth of objects (for ~300.000 warnings). I can provide the heapdump for inspection with e.g. eclipse memory analyzer. Wouldn't it be simpler to just use a handcrafted extension of DefaultHandler to construct the Warning objects? I attached such a class to issue JENKINS-2978 . One could overwrite the XStream2.fromXML method to use another unmarshaling method i.e. the DefaultHandler above. But i think this would not go along with the intended design (simplicity of reading and storing objects to/from xml files and evolving the data structures).

          Ulli Hafner added a comment -

          Well, actually I think it would be far more efficient if the serialization would not be in XML. That would not only reduce the parsing times it also would significantly reduce the file I/O. Additionaly, reading all of the warnings is also not required for the typical use cases (see JENKINS-2320).

          However, I don't see a simple way to change the current behavior since the plug-in was designed to show a couple of warnings only. So don't expect a solution in the near future.

          Ulli Hafner added a comment - Well, actually I think it would be far more efficient if the serialization would not be in XML. That would not only reduce the parsing times it also would significantly reduce the file I/O. Additionaly, reading all of the warnings is also not required for the typical use cases (see JENKINS-2320 ). However, I don't see a simple way to change the current behavior since the plug-in was designed to show a couple of warnings only. So don't expect a solution in the near future.

            drulli Ulli Hafner
            frohman frohman
            Votes:
            5 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: