Gradle

  • Log In Access more options
    • Online Help
    • Keyboard Shortcuts
    • About JIRA
    • JIRA Credits
    • What’s New
  • Dashboards Access more options (Alt+d)
  • Projects Access more options (Alt+p)
  • Issues Access more options (Alt+i)
To raise new issues or bugs against Gradle, please use forums.gradle.org.
  • Gradle
  • GRADLE-1496

sonar task fails with java.lang.OutOfMemoryError: PermGen space

  • Log In
  • Views
    • XML
    • Word
    • Printable

Details

  • Type: Bug Bug
  • Status: Resolved Resolved
  • Resolution: Fixed
  • Affects Version/s: 1.0-milestone-3
  • Fix Version/s: 1.0-milestone-8

Description

The "sonar" task executing on my project over at https://github.com/huxi/sulky keeps failing with "java.lang.OutOfMemoryError: PermGen space"

I gave this several tries:
a) no manual JAVA_OPTS
b) export JAVA_OPTS="-Xms128m -Xmx512m -XX:MaxPermSize=128m"
c) export JAVA_OPTS="-Xms128m -Xmx512m -XX:MaxPermSize=512m"

With increasing amount of MaxPermSize my build got further than before.
I guess that it would probably be able to finish with 1G of PermSize for sulky but this wouldn't be of much use since my other project, "lilith" is much larger.

The stacktrace of the last crash looks like this:
java.lang.OutOfMemoryError: PermGen space
at org.picocontainer.monitors.NullComponentMonitor.lifecycleInvocationFailed(NullComponentMonitor.java:77)
at org.picocontainer.lifecycle.ReflectionLifecycleStrategy.monitorAndThrowReflectionLifecycleException(ReflectionLifecycleStrategy.java:132)
at org.picocontainer.lifecycle.ReflectionLifecycleStrategy.invokeMethod(ReflectionLifecycleStrategy.java:115)
at org.picocontainer.lifecycle.ReflectionLifecycleStrategy.stop(ReflectionLifecycleStrategy.java:96)
at org.picocontainer.injectors.AbstractInjectionFactory$LifecycleAdapter.stop(AbstractInjectionFactory.java:88)
at org.picocontainer.behaviors.AbstractBehavior.stop(AbstractBehavior.java:179)
at org.picocontainer.behaviors.Stored$RealComponentLifecycle.stop(Stored.java:141)
at org.picocontainer.behaviors.Stored.stop(Stored.java:118)
at org.picocontainer.DefaultPicoContainer.stopAdapters(DefaultPicoContainer.java:1029)
at org.picocontainer.DefaultPicoContainer.stop(DefaultPicoContainer.java:782)
at org.sonar.batch.Batch.execute(Batch.java:70)
at org.sonar.batch.Batch$execute.call(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:120)
at org.gradle.api.plugins.sonar.internal.SonarCodeAnalyzer.execute(SonarCodeAnalyzer.groovy:52)
at org.gradle.api.plugins.sonar.internal.SonarCodeAnalyzer$execute.call(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)
at org.gradle.api.plugins.sonar.internal.SonarCodeAnalyzer$execute.call(Unknown Source)
at org.gradle.api.plugins.sonar.Sonar$_execute_closure1.doCall(Sonar.groovy:116)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:273)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)
at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:66)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:149)
at org.gradle.api.plugins.sonar.Sonar$_execute_closure1.doCall(Sonar.groovy)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
but will likely be of little use, I guess.

I executed my build using './gradlew -I initSonar.gradle sonar' with the init-file looking like this:
projectsEvaluated {
rootProject.subprojects {
apply plugin: 'sonar'
sonar { serverUrl = "url" globalProperty "sonar.jdbc.url", "jdbc:mysql://ip:3306/sonar?autoReconnect=true&useUnicode=true&characterEncoding=utf8" globalProperty "sonar.jdbc.driverClassName", "com.mysql.jdbc.Driver" globalProperty "sonar.jdbc.username", "sonar" globalProperty "sonar.jdbc.password", "xxx" }
}
}

Activity

  • All
  • Comments
  • History
  • Activity
  • TeamCity
  • Commits
  • Source
  • Reviews

People

  • Assignee:
    Unassigned
    Reporter:
    Joern Huxhorn
Vote (0)
Watch (4)

Dates

  • Created:
    27/Apr/11 7:41 AM
    Updated:
    04/Jan/13 5:09 AM
    Resolved:
    13/Jan/12 3:16 PM
  • Atlassian JIRA (v5.0.3#729-sha1:bf569e4)
  • Report a problem
  • Powered by a free Atlassian JIRA open source license for Gradle. Try JIRA - bug tracking software for your team.