SonarQube Enterprise server v9.4.0
SonarQube Ant Task version: 2.7.1.1951
After upgrading SonarQube Enterprise server from v8.9.7 to v9.4.0 analysis for one of our projects (1.2 mil LOC) started to fail with OutOfMemoryError: Java heap space
It is not clear if the problem is on the server or client side.
I tried:
- Increase memory limit for the server with
sonar.ce.javaOpts=-Xmx4G -Xms512m -XX:+HeapDumpOnOutOfMemoryError
sonar.web.javaOpts=-Xmx4g -Xms128m -XX:+HeapDumpOnOutOfMemoryError
- Increase memory limit for the client with
export SONAR_SCANNER_OPTS="-Xmx8G"
java.lang.OutOfMemoryError: Java heap space
at java.base/java.util.stream.ForEachOps.makeRef(ForEachOps.java:72)
at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497)
at org.sonar.java.se.checks.ExceptionalYieldChecker.lambda$reportOnExceptionalYield$2(ExceptionalYieldChecker.java:61)
at org.sonar.java.se.checks.ExceptionalYieldChecker$$Lambda$1673/0x0000000800daa840.accept(Unknown Source)
at java.base/java.util.HashMap$ValueSpliterator.forEachRemaining(HashMap.java:1693)
at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:658)
at org.sonar.java.se.checks.ExceptionalYieldChecker.reportOnExceptionalYield(ExceptionalYieldChecker.java:59)
at org.sonar.java.se.checks.OptionalGetBeforeIsPresentCheck.checkEndOfExecutionPath(OptionalGetBeforeIsPresentCheck.java:298)
at org.sonar.java.se.CheckerDispatcher.executeCheckEndOfExecutionPath(CheckerDispatcher.java:150)
at org.sonar.java.se.ExplodedGraphWalker.lambda$handleEndOfExecutionPath$0(ExplodedGraphWalker.java:336)
at org.sonar.java.se.ExplodedGraphWalker$$Lambda$1672/0x0000000800daa440.accept(Unknown Source)
at java.base/java.lang.Iterable.forEach(Iterable.java:75)
at org.sonar.java.se.ExplodedGraphWalker.handleEndOfExecutionPath(ExplodedGraphWalker.java:334)
at org.sonar.java.se.ExplodedGraphWalker.execute(ExplodedGraphWalker.java:286)
at org.sonar.java.se.ExplodedGraphWalker.visitMethod(ExplodedGraphWalker.java:216)
at org.sonar.java.se.ExplodedGraphWalker.visitMethod(ExplodedGraphWalker.java:208)
at org.sonar.java.se.SymbolicExecutionVisitor.execute(SymbolicExecutionVisitor.java:79)
at org.sonar.java.se.SymbolicExecutionVisitor.visitNode(SymbolicExecutionVisitor.java:65)
at org.sonar.java.ast.visitors.SubscriptionVisitor.visit(SubscriptionVisitor.java:100)
at org.sonar.java.ast.visitors.SubscriptionVisitor.visitChildren(SubscriptionVisitor.java:125)
at org.sonar.java.ast.visitors.SubscriptionVisitor.visit(SubscriptionVisitor.java:102)
at org.sonar.java.ast.visitors.SubscriptionVisitor.visitChildren(SubscriptionVisitor.java:125)
at org.sonar.java.ast.visitors.SubscriptionVisitor.visit(SubscriptionVisitor.java:102)
at org.sonar.java.ast.visitors.SubscriptionVisitor.scanTree(SubscriptionVisitor.java:83)
at org.sonar.java.ast.visitors.SubscriptionVisitor.scanFile(SubscriptionVisitor.java:69)
at org.sonar.java.se.SymbolicExecutionVisitor.scanFile(SymbolicExecutionVisitor.java:55)
at org.sonar.java.model.VisitorsBridge.lambda$runScanner$1(VisitorsBridge.java:203)
at org.sonar.java.model.VisitorsBridge$$Lambda$1483/0x0000000800cf0c40.run(Unknown Source)
at org.sonar.java.model.VisitorsBridge.runScanner(VisitorsBridge.java:208)
at org.sonar.java.model.VisitorsBridge.runScanner(VisitorsBridge.java:203)
at org.sonar.java.model.VisitorsBridge.visitFile(VisitorsBridge.java:186)
at org.sonar.java.ast.JavaAstScanner.simpleScan(JavaAstScanner.java:119)