OutOfMemoryError while scanning / ant / CVS

sonarqube-8.4.1.35646, CVS-Plugin, Scan triggered via ant.

While scanning, the following OOM appears, could not find a workarround. Xmx-parameter was increased to 1024m

C:\workspace\build\all.xml:45: java.lang.OutOfMemoryError: Java heap space
at org.sonar.java.collections.AVLTree.createNode(AVLTree.java:264)
at org.sonar.java.collections.AVLTree.balance(AVLTree.java:260)
at org.sonar.java.collections.AVLTree.put(AVLTree.java:166)
at org.sonar.java.collections.AVLTree.put(AVLTree.java:62)
at org.sonar.java.collections.AVLTree$Node.put(AVLTree.java:312)
at org.sonar.java.se.ProgramState.put(ProgramState.java:352)
at org.sonar.java.se.ExplodedGraphWalker.executeIdentifier(ExplodedGraphWalker.java:991)
at org.sonar.java.se.ExplodedGraphWalker.visit(ExplodedGraphWalker.java:632)
at org.sonar.java.se.ExplodedGraphWalker.execute(ExplodedGraphWalker.java:260)
at org.sonar.java.se.ExplodedGraphWalker.visitMethod(ExplodedGraphWalker.java:220)
at org.sonar.java.se.ExplodedGraphWalker.visitMethod(ExplodedGraphWalker.java:212)
at org.sonar.java.se.SymbolicExecutionVisitor.execute(SymbolicExecutionVisitor.java:77)
at org.sonar.java.se.SymbolicExecutionVisitor.visitNode(SymbolicExecutionVisitor.java:63)
at org.sonar.java.ast.visitors.SubscriptionVisitor.visit(SubscriptionVisitor.java:103)
at org.sonar.java.ast.visitors.SubscriptionVisitor.visitChildren(SubscriptionVisitor.java:128)
at org.sonar.java.ast.visitors.SubscriptionVisitor.visit(SubscriptionVisitor.java:105)
at org.sonar.java.ast.visitors.SubscriptionVisitor.visitChildren(SubscriptionVisitor.java:128)
at org.sonar.java.ast.visitors.SubscriptionVisitor.visit(SubscriptionVisitor.java:105)
at org.sonar.java.ast.visitors.SubscriptionVisitor.scanTree(SubscriptionVisitor.java:86)
at org.sonar.java.ast.visitors.SubscriptionVisitor.scanFile(SubscriptionVisitor.java:72)
at org.sonar.java.se.SymbolicExecutionVisitor.scanFile(SymbolicExecutionVisitor.java:53)
at org.sonar.java.model.VisitorsBridge.lambda$runScanner$0(VisitorsBridge.java:184)
at org.sonar.java.model.VisitorsBridge$$Lambda$477/18133507.run(Unknown Source)
at org.sonar.java.model.VisitorsBridge.runScanner(VisitorsBridge.java:189)
at org.sonar.java.model.VisitorsBridge.runScanner(VisitorsBridge.java:184)
at org.sonar.java.model.VisitorsBridge.visitFile(VisitorsBridge.java:155)
at org.sonar.java.ast.JavaAstScanner.simpleScan(JavaAstScanner.java:98)
at org.sonar.java.ast.JavaAstScanner.scan(JavaAstScanner.java:64)
at org.sonar.java.JavaSquid.scanSources(JavaSquid.java:120)
at org.sonar.java.JavaSquid.scan(JavaSquid.java:113)
at org.sonar.plugins.java.JavaSquidSensor.execute(JavaSquidSensor.java:103)
at org.sonar.scanner.sensor.AbstractSensorWrapper.analyse(AbstractSensorWrapper.java:48)

Hi,

1G is a bit low.
As the Sonarqube analysis usually runs as part of a build pipeline there should be RAM enough.
My rule of thumb is take as much as possible.
Our analysis with ant scanner runs fine on a windows vm with 4G xmx

Gilbert

Our VM was initially set up with 8 GB of RAM, with the following xmx-settings:

sonar.ce.javaOpts=-Xmx2048m -Xms128m -XX:+HeapDumpOnOutOfMemoryError
sonar.search.javaOpts=-Xmx1024m -Xms512m -XX:+HeapDumpOnOutOfMemoryError
sonar.web.javaOpts=-Xmx1024m -Xms128m -XX:+HeapDumpOnOutOfMemoryError

Of course we can add more RAM to this VM. Which amount of RAM and which Xmx-Parameters for each parameter do you recommend?

Our biggest project hast 470k LOC.

Best regards and thanks for your help,
David

The settings you’ve mentioned, sonar.ce.javaOpts … are for Sonarqube server only.
But your exception

comes from your ant build. You need to change the -xmx setting on the machine
where the ant build runs.

Thank you very much. I increased xmx in ANT OPTS, now everything works fine :slight_smile:

:+1:
You’re welcome
You may mark my comment as solution so this topic gets status solved.

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.