Search code examples
sonarqubesonarqube-7.9

java.lang.OutOfMemoryError: Java heap space starting SonarQube 7.9


I'm trying to upgrade our SonarQube from 6.7.4 to 7.9.3 but when execute:

SONARQUBE_HOME/bin/linux-x86-64/sonar.sh start

I got the following in the SONARQUBE_HOME/logs/sonar.log file:

--> Wrapper Started as Daemon
Launching a JVM...
JVM exited while loading the application.
java.lang.OutOfMemoryError: Java heap space
Dumping heap to java_pid30868.hprof ...
Heap dump file created [8502105 bytes in 0.031 secs]
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
    at java.base/java.util.zip.ZipFile$Source.initCEN(ZipFile.java:1470)
    at java.base/java.util.zip.ZipFile$Source.<init>(ZipFile.java:1274)
    at java.base/java.util.zip.ZipFile$Source.get(ZipFile.java:1237)
    at java.base/java.util.zip.ZipFile$CleanableResource.<init>(ZipFile.java:727)
    at java.base/java.util.zip.ZipFile$CleanableResource.get(ZipFile.java:844)
    at java.base/java.util.zip.ZipFile.<init>(ZipFile.java:247)
    at java.base/java.util.zip.ZipFile.<init>(ZipFile.java:177)
    at java.base/java.util.jar.JarFile.<init>(JarFile.java:348)
    at java.base/jdk.internal.loader.URLClassPath$JarLoader.getJarFile(URLClassPath.java:813)
    at java.base/jdk.internal.loader.URLClassPath$JarLoader$1.run(URLClassPath.java:758)
    at java.base/jdk.internal.loader.URLClassPath$JarLoader$1.run(URLClassPath.java:751)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at java.base/jdk.internal.loader.URLClassPath$JarLoader.ensureOpen(URLClassPath.java:750)
    at java.base/jdk.internal.loader.URLClassPath$JarLoader.<init>(URLClassPath.java:725)
    at java.base/jdk.internal.loader.URLClassPath$3.run(URLClassPath.java:493)
    at java.base/jdk.internal.loader.URLClassPath$3.run(URLClassPath.java:476)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at java.base/jdk.internal.loader.URLClassPath.getLoader(URLClassPath.java:475)
    at java.base/jdk.internal.loader.URLClassPath.getLoader(URLClassPath.java:444)
    at java.base/jdk.internal.loader.URLClassPath$1.next(URLClassPath.java:340)
    at java.base/jdk.internal.loader.URLClassPath$1.hasMoreElements(URLClassPath.java:351)
    at java.base/jdk.internal.loader.BuiltinClassLoader$1.hasNext(BuiltinClassLoader.java:355)
    at java.base/jdk.internal.loader.BuiltinClassLoader$1.hasMoreElements(BuiltinClassLoader.java:363)
    at java.base/java.lang.CompoundEnumeration.next(ClassLoader.java:3032)
    at java.base/java.lang.CompoundEnumeration.hasMoreElements(ClassLoader.java:3041)
    at java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.nextProviderClass(ServiceLoader.java:1202)
    at java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.hasNextService(ServiceLoader.java:1220)
    at java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.hasNext(ServiceLoader.java:1264)
    at java.base/java.util.ServiceLoader$2.hasNext(ServiceLoader.java:1299)
    at java.base/java.util.ServiceLoader$ProviderSpliterator.tryAdvance(ServiceLoader.java:1483)
    at java.base/java.util.Spliterator.forEachRemaining(Spliterator.java:326)
    at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
JVM Restarts disabled.  Shutting down.
<-- Wrapper Stopped

SONARQUBE_HOME/conf/sonar.properties:

sonar.web.javaOpts=-server -Xmx4096m -Xms512m -XX:+HeapDumpOnOutOfMemoryError -Djava.net.preferIPv4Stack=true

sonar.ce.javaOpts=-server -Xmx4096m -Xms512m -XX:+HeapDumpOnOutOfMemoryError

OpenJDK 11.0.7

If you need more info please let me know. Thanks a lot.


Solution

  • We found the issue.

    The "wrapper.java.maxmemory" value in the "DO NOT EDIT THE FOLLOWING SECTIONS" part of the "SONARQUBE_HOME/conf/wrapper.conf" file was changed by mistake from "32" (The SonarQube starts pretty well) to "8" (OutOfMemoryError).