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

valgrind-plugin makes jenkins run out of memory under heavy use

    XMLWordPrintable

Details

    Description

      valgrind-plugin makes jenkins run out of memory under heavy use.
      This is caused by too many (all) Report objects being retained in heap by Result objects.
      Fix is about making such report objects on-demand or just-in-time, rather than always and too early (and as kept forever or so).
      We at Ericsson have production (jenkins) instances that were recently hit by this bug, in terms of JVMs running out-of-memory.
      We indeed clearly saw such many large report objects retaining the most of our heap as per profiling of the latter.

      Attachments

        Activity

          marcomiller Marco Miller added a comment - Fix pull-requested => https://github.com/jenkinsci/valgrind-plugin/pull/2

          Code changed in jenkins
          User: Marco Miller
          Path:
          src/main/java/org/jenkinsci/plugins/valgrind/ValgrindBuildAction.java
          src/main/java/org/jenkinsci/plugins/valgrind/ValgrindPublisher.java
          src/main/java/org/jenkinsci/plugins/valgrind/ValgrindResult.java
          src/main/java/org/jenkinsci/plugins/valgrind/parser/ValgrindParserResult.java
          src/main/java/org/jenkinsci/plugins/valgrind/parser/ValgrindSaxParser.java
          src/main/java/org/jenkinsci/plugins/valgrind/util/AbstractValgrindBuildAction.java
          src/main/java/org/jenkinsci/plugins/valgrind/util/AbstractValgrindProjectAction.java
          src/main/java/org/jenkinsci/plugins/valgrind/util/ValgrindLogger.java
          src/main/java/org/jenkinsci/plugins/valgrind/util/ValgrindSummary.java
          src/test/java/org/jenkinsci/plugins/valgrind/parser/ValgrindSaxParserTest.java
          http://jenkins-ci.org/commit/valgrind-plugin/0e9529fada28423eabaa57d918d3ee7775d19088
          Log:
          Fix for JENKINS-18950 issue (reports => running out of memory).

          Fixed problem of running out of memory under heavy use like ours:

          • reports not kept in memory anymore but made on demand;
          • logging changes due to unserializable listener-logger.
          scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Marco Miller Path: src/main/java/org/jenkinsci/plugins/valgrind/ValgrindBuildAction.java src/main/java/org/jenkinsci/plugins/valgrind/ValgrindPublisher.java src/main/java/org/jenkinsci/plugins/valgrind/ValgrindResult.java src/main/java/org/jenkinsci/plugins/valgrind/parser/ValgrindParserResult.java src/main/java/org/jenkinsci/plugins/valgrind/parser/ValgrindSaxParser.java src/main/java/org/jenkinsci/plugins/valgrind/util/AbstractValgrindBuildAction.java src/main/java/org/jenkinsci/plugins/valgrind/util/AbstractValgrindProjectAction.java src/main/java/org/jenkinsci/plugins/valgrind/util/ValgrindLogger.java src/main/java/org/jenkinsci/plugins/valgrind/util/ValgrindSummary.java src/test/java/org/jenkinsci/plugins/valgrind/parser/ValgrindSaxParserTest.java http://jenkins-ci.org/commit/valgrind-plugin/0e9529fada28423eabaa57d918d3ee7775d19088 Log: Fix for JENKINS-18950 issue (reports => running out of memory). Fixed problem of running out of memory under heavy use like ours: reports not kept in memory anymore but made on demand; logging changes due to unserializable listener-logger.

          Code changed in jenkins
          User: Jakub Pawlaczyk
          Path:
          src/main/java/org/jenkinsci/plugins/valgrind/ValgrindPublisher.java
          src/main/java/org/jenkinsci/plugins/valgrind/ValgrindResult.java
          src/main/java/org/jenkinsci/plugins/valgrind/ValgrindResultsScanner.java
          http://jenkins-ci.org/commit/valgrind-plugin/592c1dc7cd42ba4880583124820cb8b329846a3f
          Log:
          Fix for JENKINS-18950 issue (reports => running out of memory).

          scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Jakub Pawlaczyk Path: src/main/java/org/jenkinsci/plugins/valgrind/ValgrindPublisher.java src/main/java/org/jenkinsci/plugins/valgrind/ValgrindResult.java src/main/java/org/jenkinsci/plugins/valgrind/ValgrindResultsScanner.java http://jenkins-ci.org/commit/valgrind-plugin/592c1dc7cd42ba4880583124820cb8b329846a3f Log: Fix for JENKINS-18950 issue (reports => running out of memory).

          Code changed in jenkins
          User: Jakub Pawlaczyk
          Path:
          src/main/java/org/jenkinsci/plugins/valgrind/ValgrindPublisher.java
          http://jenkins-ci.org/commit/valgrind-plugin/1fb1af2249a43dac9c9c89206b62b0c6149f2251
          Log:
          Fix for JENKINS-18950 issue (reports => running out of memory).

          scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Jakub Pawlaczyk Path: src/main/java/org/jenkinsci/plugins/valgrind/ValgrindPublisher.java http://jenkins-ci.org/commit/valgrind-plugin/1fb1af2249a43dac9c9c89206b62b0c6149f2251 Log: Fix for JENKINS-18950 issue (reports => running out of memory).

          fixed with version 0.20 by archiving valgrind reports on master and reparsing them on demand.

          Thanks to Marco Miller and Jakub Pawlaczyk.

          existence Johannes Ohlemacher added a comment - fixed with version 0.20 by archiving valgrind reports on master and reparsing them on demand. Thanks to Marco Miller and Jakub Pawlaczyk.
          marcomiller Marco Miller added a comment -

          Should have been closed a while ago; sorry, my mistake.

          marcomiller Marco Miller added a comment - Should have been closed a while ago; sorry, my mistake.

          People

            existence Johannes Ohlemacher
            marcomiller Marco Miller
            Votes:
            1 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: