lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Uwe Schindler (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (SOLR-5022) PermGen exhausted test failures on Jenkins.
Date Tue, 09 Jul 2013 13:21:53 GMT

    [ https://issues.apache.org/jira/browse/SOLR-5022?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13703245#comment-13703245
] 

Uwe Schindler edited comment on SOLR-5022 at 7/9/13 1:20 PM:
-------------------------------------------------------------

Maybe I know, why the permgen issues do not happen for all of us! The reason is:

- Something seems to eat permgen by interning strings! Those interned strings are never freed
until the JVM dies.
- If you run with many CPUs, the test runner runs tests in multiple parallel JVMs, so every
JVMs runs less tests.

...the Jenkins server on MacOSX runs with one JVM only (because the virtual box has only 2
virtual CPUs). So all tests have to share the permgen. Windows always passes because no hadoop
used. And linux fails more seldom (2 parallel JVMs). On FreeBSD we also don't run hadoop tests.

We have to find out: Something seems to eat all permgen, not by loading classes, but by interning
strings. And that’s the issue here. My idea would be: I will run forbidden-apis on all JAR
files of Solr that were added and will forbid {{String#intern()}} signature. This should show
us very fast, who interns strings and we can open bug reports or hot-patch those jar files.

                
      was (Author: thetaphi):
    Maybe I know, why the permgen issues do not happen for all of us! The reason is:

- Something seems to eat permeg by interning strings! Those interned strings are never freed
until the JVM dies.
- If you run with many CPUs, the test runner runs tests in multiple parallel JVMs, so every
JVMs runs less tests.

...the Jenkins server on MacOSX runs with one JVM only (because the virtual box has only 2
virtual CPUs). So all tests have to share the permgen. Windows always passes because no hadoop
used. And linux fails more seldom (2 parallel JVMs). On FreeBSD we also don't run hadoop tests.

We have to find out: Something seems to eat all permgen, not by loading classes, but by interning
strings. And that’s the issue here. My idea would be: I will run forbidden-apis on all JAR
files of Solr that were added and will forbid {{String#intern()}} signature. This should show
us very fast, who interns strings and we can open bug reports or hot-patch those jar files.

                  
> PermGen exhausted test failures on Jenkins.
> -------------------------------------------
>
>                 Key: SOLR-5022
>                 URL: https://issues.apache.org/jira/browse/SOLR-5022
>             Project: Solr
>          Issue Type: Test
>          Components: Tests
>            Reporter: Mark Miller
>            Priority: Blocker
>             Fix For: 5.0, 4.4
>
>


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org


Mime
View raw message