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"
}
}
}
|