Sonar Java Analyzer Fails with StackOverflow - Sonar Community

Running a Maven-based SonarQube analysis consistently fails due to an internal error in the SonarJava symbolic execution engine. The analyzer enters a recursive constraint propagation loop within RelationalSymbolicValue and SymbolicValue, ultimately crashing the analysis phase.

  • SonarQube Community Version: 25.12.0.117093
  • Sonar Scanner: sonar-maven-plugin 4.0.0.4121
  • Java Version: Java 21

Simplified Code:

import java.util.List;


public class SonarError {
    record Dto(Boolean wrapper, boolean primitive) {
    }

    private void prepareAndCreateBatchExecutionDetail(List<Dto> list) {
        for (Dto dto : list) {
            String batchDetailStatus;
            if (Boolean.TRUE.equals(dto.wrapper() && !Boolean.TRUE.equals(dto.primitive()))) {
                batchDetailStatus = "1";
            } else {
                batchDetailStatus = "2";
            }
        }
    }
}

Simplified Log:

Exception in thread "main" java.lang.StackOverflowError
        at java.base/java.util.Collection.stream(Collection.java:750)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.resolveRelationState(RelationalSymbolicValue.java:239)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.lambda$setConstraint$0(RelationalSymbolicValue.java:118)
        at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
        at java.base/java.util.HashMap$KeySpliterator.tryAdvance(HashMap.java:1736)
        at java.base/java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:129)
        at java.base/java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:527)
        at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:513)
        at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
        at java.base/java.util.stream.MatchOps$MatchOp.evaluateSequential(MatchOps.java:230)
        at java.base/java.util.stream.MatchOps$MatchOp.evaluateSequential(MatchOps.java:196)
        at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
        at java.base/java.util.stream.ReferencePipeline.anyMatch(ReferencePipeline.java:632)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.setConstraint(RelationalSymbolicValue.java:119)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.setConstraint(RelationalSymbolicValue.java:98)
        at org.sonar.java.se.symbolicvalues.SymbolicValue$NotSymbolicValue.setConstraint(SymbolicValue.java:252)
        at org.sonar.java.se.symbolicvalues.SymbolicValue.setConstraint(SymbolicValue.java:160)
        at org.sonar.java.se.symbolicvalues.SymbolicValue.setConstraint(SymbolicValue.java:180)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.lambda$applyConstraint$4(RelationalSymbolicValue.java:229)
        at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.applyConstraint(RelationalSymbolicValue.java:229)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.lambda$applyConstraints$3(RelationalSymbolicValue.java:220)
        at org.sonarsource.analyzer.commons.collections.AVLTree.forEach(AVLTree.java:128)
        at org.sonarsource.analyzer.commons.collections.AVLTree.forEach(AVLTree.java:117)
        at org.sonar.java.se.constraint.ConstraintsByDomain.forEach(ConstraintsByDomain.java:58)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.applyConstraints(RelationalSymbolicValue.java:217)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.copyConstraintFromTo(RelationalSymbolicValue.java:212)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.copyAllConstraints(RelationalSymbolicValue.java:152)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.getNewProgramStates(RelationalSymbolicValue.java:135)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.setConstraint(RelationalSymbolicValue.java:125)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.setConstraint(RelationalSymbolicValue.java:98)
        at org.sonar.java.se.symbolicvalues.SymbolicValue$NotSymbolicValue.setConstraint(SymbolicValue.java:252)
        at org.sonar.java.se.symbolicvalues.SymbolicValue.setConstraint(SymbolicValue.java:160)
        at org.sonar.java.se.symbolicvalues.SymbolicValue.setConstraint(SymbolicValue.java:180)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.lambda$applyConstraint$4(RelationalSymbolicValue.java:229)
        at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.applyConstraint(RelationalSymbolicValue.java:229)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.lambda$applyConstraints$3(RelationalSymbolicValue.java:220)
        at org.sonarsource.analyzer.commons.collections.AVLTree.forEach(AVLTree.java:128)
        at org.sonarsource.analyzer.commons.collections.AVLTree.forEach(AVLTree.java:117)
        at org.sonar.java.se.constraint.ConstraintsByDomain.forEach(ConstraintsByDomain.java:58)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.applyConstraints(RelationalSymbolicValue.java:217)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.copyConstraintFromTo(RelationalSymbolicValue.java:212)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.copyAllConstraints(RelationalSymbolicValue.java:152)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.getNewProgramStates(RelationalSymbolicValue.java:135)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.setConstraint(RelationalSymbolicValue.java:125)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.setConstraint(RelationalSymbolicValue.java:98)
        at org.sonar.java.se.symbolicvalues.SymbolicValue$NotSymbolicValue.setConstraint(SymbolicValue.java:252)
        at org.sonar.java.se.symbolicvalues.SymbolicValue.setConstraint(SymbolicValue.java:160)
        at org.sonar.java.se.symbolicvalues.SymbolicValue.setConstraint(SymbolicValue.java:180)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.lambda$applyConstraint$4(RelationalSymbolicValue.java:229)
        at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.applyConstraint(RelationalSymbolicValue.java:229)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.lambda$applyConstraints$3(RelationalSymbolicValue.java:220)
        at org.sonarsource.analyzer.commons.collections.AVLTree.forEach(AVLTree.java:128)
        at org.sonarsource.analyzer.commons.collections.AVLTree.forEach(AVLTree.java:117)
        at org.sonar.java.se.constraint.ConstraintsByDomain.forEach(ConstraintsByDomain.java:58)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.applyConstraints(RelationalSymbolicValue.java:217)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.copyConstraintFromTo(RelationalSymbolicValue.java:212)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.copyAllConstraints(RelationalSymbolicValue.java:152)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.getNewProgramStates(RelationalSymbolicValue.java:135)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.setConstraint(RelationalSymbolicValue.java:125)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.setConstraint(RelationalSymbolicValue.java:98)
        at org.sonar.java.se.symbolicvalues.SymbolicValue$NotSymbolicValue.setConstraint(SymbolicValue.java:252)
        at org.sonar.java.se.symbolicvalues.SymbolicValue.setConstraint(SymbolicValue.java:160)
        at org.sonar.java.se.symbolicvalues.SymbolicValue.setConstraint(SymbolicValue.java:180)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.lambda$applyConstraint$4(RelationalSymbolicValue.java:229)
        at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.applyConstraint(RelationalSymbolicValue.java:229)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.lambda$applyConstraints$3(RelationalSymbolicValue.java:220)
        at org.sonarsource.analyzer.commons.collections.AVLTree.forEach(AVLTree.java:128)
        at org.sonarsource.analyzer.commons.collections.AVLTree.forEach(AVLTree.java:117)
        at org.sonar.java.se.constraint.ConstraintsByDomain.forEach(ConstraintsByDomain.java:58)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.applyConstraints(RelationalSymbolicValue.java:217)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.copyConstraintFromTo(RelationalSymbolicValue.java:212)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.copyAllConstraints(RelationalSymbolicValue.java:152)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.getNewProgramStates(RelationalSymbolicValue.java:135)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.setConstraint(RelationalSymbolicValue.java:125)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.setConstraint(RelationalSymbolicValue.java:98)
        at org.sonar.java.se.symbolicvalues.SymbolicValue$NotSymbolicValue.setConstraint(SymbolicValue.java:252)
        at org.sonar.java.se.symbolicvalues.SymbolicValue.setConstraint(SymbolicValue.java:160)
        at org.sonar.java.se.symbolicvalues.SymbolicValue.setConstraint(SymbolicValue.java:180)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.lambda$applyConstraint$4(RelationalSymbolicValue.java:229)
        at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.applyConstraint(RelationalSymbolicValue.java:229)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.lambda$applyConstraints$3(RelationalSymbolicValue.java:220)
        at org.sonarsource.analyzer.commons.collections.AVLTree.forEach(AVLTree.java:128)
        at org.sonarsource.analyzer.commons.collections.AVLTree.forEach(AVLTree.java:117)
        at org.sonar.java.se.constraint.ConstraintsByDomain.forEach(ConstraintsByDomain.java:58)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.applyConstraints(RelationalSymbolicValue.java:217)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.copyConstraintFromTo(RelationalSymbolicValue.java:212)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.copyAllConstraints(RelationalSymbolicValue.java:152)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.getNewProgramStates(RelationalSymbolicValue.java:135)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.setConstraint(RelationalSymbolicValue.java:125)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.setConstraint(RelationalSymbolicValue.java:98)
        at org.sonar.java.se.symbolicvalues.SymbolicValue$NotSymbolicValue.setConstraint(SymbolicValue.java:252)
        at org.sonar.java.se.symbolicvalues.SymbolicValue.setConstraint(SymbolicValue.java:160)
        at org.sonar.java.se.symbolicvalues.SymbolicValue.setConstraint(SymbolicValue.java:180)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.lambda$applyConstraint$4(RelationalSymbolicValue.java:229)
        at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.applyConstraint(RelationalSymbolicValue.java:229)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.lambda$applyConstraints$3(RelationalSymbolicValue.java:220)
        at org.sonarsource.analyzer.commons.collections.AVLTree.forEach(AVLTree.java:128)
        at org.sonarsource.analyzer.commons.collections.AVLTree.forEach(AVLTree.java:117)
        at org.sonar.java.se.constraint.ConstraintsByDomain.forEach(ConstraintsByDomain.java:58)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.applyConstraints(RelationalSymbolicValue.java:217)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.copyConstraintFromTo(RelationalSymbolicValue.java:212)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.copyAllConstraints(RelationalSymbolicValue.java:152)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.getNewProgramStates(RelationalSymbolicValue.java:135)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.setConstraint(RelationalSymbolicValue.java:125)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.setConstraint(RelationalSymbolicValue.java:98)
        at org.sonar.java.se.symbolicvalues.SymbolicValue$NotSymbolicValue.setConstraint(SymbolicValue.java:252)
        at org.sonar.java.se.symbolicvalues.SymbolicValue.setConstraint(SymbolicValue.java:160)
        at org.sonar.java.se.symbolicvalues.SymbolicValue.setConstraint(SymbolicValue.java:180)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.lambda$applyConstraint$4(RelationalSymbolicValue.java:229)
        at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.applyConstraint(RelationalSymbolicValue.java:229)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.lambda$applyConstraints$3(RelationalSymbolicValue.java:220)
        at org.sonarsource.analyzer.commons.collections.AVLTree.forEach(AVLTree.java:128)
        at org.sonarsource.analyzer.commons.collections.AVLTree.forEach(AVLTree.java:117)
        at org.sonar.java.se.constraint.ConstraintsByDomain.forEach(ConstraintsByDomain.java:58)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.applyConstraints(RelationalSymbolicValue.java:217)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.copyConstraintFromTo(RelationalSymbolicValue.java:212)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.copyAllConstraints(RelationalSymbolicValue.java:152)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.getNewProgramStates(RelationalSymbolicValue.java:135)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.setConstraint(RelationalSymbolicValue.java:125)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.setConstraint(RelationalSymbolicValue.java:98)
        at org.sonar.java.se.symbolicvalues.SymbolicValue$NotSymbolicValue.setConstraint(SymbolicValue.java:252)
        at org.sonar.java.se.symbolicvalues.SymbolicValue.setConstraint(SymbolicValue.java:160)
        at org.sonar.java.se.symbolicvalues.SymbolicValue.setConstraint(SymbolicValue.java:180)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.lambda$applyConstraint$4(RelationalSymbolicValue.java:229)
        at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.applyConstraint(RelationalSymbolicValue.java:229)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.lambda$applyConstraints$3(RelationalSymbolicValue.java:220)
        at org.sonarsource.analyzer.commons.collections.AVLTree.forEach(AVLTree.java:128)
        at org.sonarsource.analyzer.commons.collections.AVLTree.forEach(AVLTree.java:117)
        at org.sonar.java.se.constraint.ConstraintsByDomain.forEach(ConstraintsByDomain.java:58)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.applyConstraints(RelationalSymbolicValue.java:217)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.copyConstraintFromTo(RelationalSymbolicValue.java:212)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.copyAllConstraints(RelationalSymbolicValue.java:152)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.getNewProgramStates(RelationalSymbolicValue.java:135)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.setConstraint(RelationalSymbolicValue.java:125)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.setConstraint(RelationalSymbolicValue.java:98)
        at org.sonar.java.se.symbolicvalues.SymbolicValue$NotSymbolicValue.setConstraint(SymbolicValue.java:252)
        at org.sonar.java.se.symbolicvalues.SymbolicValue.setConstraint(SymbolicValue.java:160)
        at org.sonar.java.se.symbolicvalues.SymbolicValue.setConstraint(SymbolicValue.java:180)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.lambda$applyConstraint$4(RelationalSymbolicValue.java:229)
        at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.applyConstraint(RelationalSymbolicValue.java:229)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.lambda$applyConstraints$3(RelationalSymbolicValue.java:220)
        at org.sonarsource.analyzer.commons.collections.AVLTree.forEach(AVLTree.java:128)
        at org.sonarsource.analyzer.commons.collections.AVLTree.forEach(AVLTree.java:117)
        at org.sonar.java.se.constraint.ConstraintsByDomain.forEach(ConstraintsByDomain.java:58)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.applyConstraints(RelationalSymbolicValue.java:217)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.copyConstraintFromTo(RelationalSymbolicValue.java:212)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.copyAllConstraints(RelationalSymbolicValue.java:152)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.getNewProgramStates(RelationalSymbolicValue.java:135)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.setConstraint(RelationalSymbolicValue.java:125)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.setConstraint(RelationalSymbolicValue.java:98)
        at org.sonar.java.se.symbolicvalues.SymbolicValue$NotSymbolicValue.setConstraint(SymbolicValue.java:252)
        at org.sonar.java.se.symbolicvalues.SymbolicValue.setConstraint(SymbolicValue.java:160)
        at org.sonar.java.se.symbolicvalues.SymbolicValue.setConstraint(SymbolicValue.java:180)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.lambda$applyConstraint$4(RelationalSymbolicValue.java:229)
        at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.applyConstraint(RelationalSymbolicValue.java:229)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.lambda$applyConstraints$3(RelationalSymbolicValue.java:220)
        at org.sonarsource.analyzer.commons.collections.AVLTree.forEach(AVLTree.java:128)
        at org.sonarsource.analyzer.commons.collections.AVLTree.forEach(AVLTree.java:117)
        at org.sonar.java.se.constraint.ConstraintsByDomain.forEach(ConstraintsByDomain.java:58)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.applyConstraints(RelationalSymbolicValue.java:217)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.copyConstraintFromTo(RelationalSymbolicValue.java:212)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.copyAllConstraints(RelationalSymbolicValue.java:152)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.getNewProgramStates(RelationalSymbolicValue.java:135)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.setConstraint(RelationalSymbolicValue.java:125)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.setConstraint(RelationalSymbolicValue.java:98)
        at org.sonar.java.se.symbolicvalues.SymbolicValue$NotSymbolicValue.setConstraint(SymbolicValue.java:252)
        at org.sonar.java.se.symbolicvalues.SymbolicValue.setConstraint(SymbolicValue.java:160)
        at org.sonar.java.se.symbolicvalues.SymbolicValue.setConstraint(SymbolicValue.java:180)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.lambda$applyConstraint$4(RelationalSymbolicValue.java:229)
        at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.applyConstraint(RelationalSymbolicValue.java:229)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.lambda$applyConstraints$3(RelationalSymbolicValue.java:220)
        at org.sonarsource.analyzer.commons.collections.AVLTree.forEach(AVLTree.java:128)
        at org.sonarsource.analyzer.commons.collections.AVLTree.forEach(AVLTree.java:117)
        at org.sonar.java.se.constraint.ConstraintsByDomain.forEach(ConstraintsByDomain.java:58)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.applyConstraints(RelationalSymbolicValue.java:217)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.copyConstraintFromTo(RelationalSymbolicValue.java:212)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.copyAllConstraints(RelationalSymbolicValue.java:152)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.getNewProgramStates(RelationalSymbolicValue.java:135)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.setConstraint(RelationalSymbolicValue.java:125)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.setConstraint(RelationalSymbolicValue.java:98)
        at org.sonar.java.se.symbolicvalues.SymbolicValue$NotSymbolicValue.setConstraint(SymbolicValue.java:252)
        at org.sonar.java.se.symbolicvalues.SymbolicValue.setConstraint(SymbolicValue.java:160)
        at org.sonar.java.se.symbolicvalues.SymbolicValue.setConstraint(SymbolicValue.java:180)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.lambda$applyConstraint$4(RelationalSymbolicValue.java:229)
        at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.applyConstraint(RelationalSymbolicValue.java:229)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.lambda$applyConstraints$3(RelationalSymbolicValue.java:220)
        at org.sonarsource.analyzer.commons.collections.AVLTree.forEach(AVLTree.java:128)
        at org.sonarsource.analyzer.commons.collections.AVLTree.forEach(AVLTree.java:117)
        at org.sonar.java.se.constraint.ConstraintsByDomain.forEach(ConstraintsByDomain.java:58)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.applyConstraints(RelationalSymbolicValue.java:217)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.copyConstraintFromTo(RelationalSymbolicValue.java:212)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.copyAllConstraints(RelationalSymbolicValue.java:152)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.getNewProgramStates(RelationalSymbolicValue.java:135)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.setConstraint(RelationalSymbolicValue.java:125)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.setConstraint(RelationalSymbolicValue.java:98)
        at org.sonar.java.se.symbolicvalues.SymbolicValue$NotSymbolicValue.setConstraint(SymbolicValue.java:252)
        at org.sonar.java.se.symbolicvalues.SymbolicValue.setConstraint(SymbolicValue.java:160)
        at org.sonar.java.se.symbolicvalues.SymbolicValue.setConstraint(SymbolicValue.java:180)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.lambda$applyConstraint$4(RelationalSymbolicValue.java:229)
        at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.applyConstraint(RelationalSymbolicValue.java:229)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.lambda$applyConstraints$3(RelationalSymbolicValue.java:220)
        at org.sonarsource.analyzer.commons.collections.AVLTree.forEach(AVLTree.java:128)
        at org.sonarsource.analyzer.commons.collections.AVLTree.forEach(AVLTree.java:117)
        at org.sonar.java.se.constraint.ConstraintsByDomain.forEach(ConstraintsByDomain.java:58)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.applyConstraints(RelationalSymbolicValue.java:217)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.copyConstraintFromTo(RelationalSymbolicValue.java:212)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.copyAllConstraints(RelationalSymbolicValue.java:152)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.getNewProgramStates(RelationalSymbolicValue.java:135)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.setConstraint(RelationalSymbolicValue.java:125)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.setConstraint(RelationalSymbolicValue.java:98)
        at org.sonar.java.se.symbolicvalues.SymbolicValue$NotSymbolicValue.setConstraint(SymbolicValue.java:252)
        at org.sonar.java.se.symbolicvalues.SymbolicValue.setConstraint(SymbolicValue.java:160)
        at org.sonar.java.se.symbolicvalues.SymbolicValue.setConstraint(SymbolicValue.java:180)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.lambda$applyConstraint$4(RelationalSymbolicValue.java:229)
        at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.applyConstraint(RelationalSymbolicValue.java:229)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.lambda$applyConstraints$3(RelationalSymbolicValue.java:220)
        at org.sonarsource.analyzer.commons.collections.AVLTree.forEach(AVLTree.java:128)
        at org.sonarsource.analyzer.commons.collections.AVLTree.forEach(AVLTree.java:117)
        at org.sonar.java.se.constraint.ConstraintsByDomain.forEach(ConstraintsByDomain.java:58)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.applyConstraints(RelationalSymbolicValue.java:217)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.copyConstraintFromTo(RelationalSymbolicValue.java:212)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.copyAllConstraints(RelationalSymbolicValue.java:152)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.getNewProgramStates(RelationalSymbolicValue.java:135)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.setConstraint(RelationalSymbolicValue.java:125)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.setConstraint(RelationalSymbolicValue.java:98)
        at org.sonar.java.se.symbolicvalues.SymbolicValue$NotSymbolicValue.setConstraint(SymbolicValue.java:252)
        at org.sonar.java.se.symbolicvalues.SymbolicValue.setConstraint(SymbolicValue.java:160)
        at org.sonar.java.se.symbolicvalues.SymbolicValue.setConstraint(SymbolicValue.java:180)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.lambda$applyConstraint$4(RelationalSymbolicValue.java:229)
        at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.applyConstraint(RelationalSymbolicValue.java:229)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.lambda$applyConstraints$3(RelationalSymbolicValue.java:220)
        at org.sonarsource.analyzer.commons.collections.AVLTree.forEach(AVLTree.java:128)
        at org.sonarsource.analyzer.commons.collections.AVLTree.forEach(AVLTree.java:117)
        at org.sonar.java.se.constraint.ConstraintsByDomain.forEach(ConstraintsByDomain.java:58)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.applyConstraints(RelationalSymbolicValue.java:217)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.copyConstraintFromTo(RelationalSymbolicValue.java:212)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.copyAllConstraints(RelationalSymbolicValue.java:152)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.getNewProgramStates(RelationalSymbolicValue.java:135)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.setConstraint(RelationalSymbolicValue.java:125)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.setConstraint(RelationalSymbolicValue.java:98)
        at org.sonar.java.se.symbolicvalues.SymbolicValue$NotSymbolicValue.setConstraint(SymbolicValue.java:252)
        at org.sonar.java.se.symbolicvalues.SymbolicValue.setConstraint(SymbolicValue.java:160)
        at org.sonar.java.se.symbolicvalues.SymbolicValue.setConstraint(SymbolicValue.java:180)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.lambda$applyConstraint$4(RelationalSymbolicValue.java:229)
        at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.applyConstraint(RelationalSymbolicValue.java:229)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.lambda$applyConstraints$3(RelationalSymbolicValue.java:220)
        at org.sonarsource.analyzer.commons.collections.AVLTree.forEach(AVLTree.java:128)
        at org.sonarsource.analyzer.commons.collections.AVLTree.forEach(AVLTree.java:117)
        at org.sonar.java.se.constraint.ConstraintsByDomain.forEach(ConstraintsByDomain.java:58)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.applyConstraints(RelationalSymbolicValue.java:217)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.copyConstraintFromTo(RelationalSymbolicValue.java:212)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.copyAllConstraints(RelationalSymbolicValue.java:152)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.getNewProgramStates(RelationalSymbolicValue.java:135)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.setConstraint(RelationalSymbolicValue.java:125)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.setConstraint(RelationalSymbolicValue.java:98)
        at org.sonar.java.se.symbolicvalues.SymbolicValue$NotSymbolicValue.setConstraint(SymbolicValue.java:252)
        at org.sonar.java.se.symbolicvalues.SymbolicValue.setConstraint(SymbolicValue.java:160)
        at org.sonar.java.se.symbolicvalues.SymbolicValue.setConstraint(SymbolicValue.java:180)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.lambda$applyConstraint$4(RelationalSymbolicValue.java:229)
        at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.applyConstraint(RelationalSymbolicValue.java:229)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.lambda$applyConstraints$3(RelationalSymbolicValue.java:220)
        at org.sonarsource.analyzer.commons.collections.AVLTree.forEach(AVLTree.java:128)
        at org.sonarsource.analyzer.commons.collections.AVLTree.forEach(AVLTree.java:117)
        at org.sonar.java.se.constraint.ConstraintsByDomain.forEach(ConstraintsByDomain.java:58)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.applyConstraints(RelationalSymbolicValue.java:217)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.copyConstraintFromTo(RelationalSymbolicValue.java:212)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.copyAllConstraints(RelationalSymbolicValue.java:152)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.getNewProgramStates(RelationalSymbolicValue.java:135)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.setConstraint(RelationalSymbolicValue.java:125)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.setConstraint(RelationalSymbolicValue.java:98)
        at org.sonar.java.se.symbolicvalues.SymbolicValue$NotSymbolicValue.setConstraint(SymbolicValue.java:252)
        at org.sonar.java.se.symbolicvalues.SymbolicValue.setConstraint(SymbolicValue.java:160)
        at org.sonar.java.se.symbolicvalues.SymbolicValue.setConstraint(SymbolicValue.java:180)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.lambda$applyConstraint$4(RelationalSymbolicValue.java:229)
        at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.applyConstraint(RelationalSymbolicValue.java:229)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.lambda$applyConstraints$3(RelationalSymbolicValue.java:220)
        at org.sonarsource.analyzer.commons.collections.AVLTree.forEach(AVLTree.java:128)
        at org.sonarsource.analyzer.commons.collections.AVLTree.forEach(AVLTree.java:117)
        at org.sonar.java.se.constraint.ConstraintsByDomain.forEach(ConstraintsByDomain.java:58)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.applyConstraints(RelationalSymbolicValue.java:217)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.copyConstraintFromTo(RelationalSymbolicValue.java:212)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.copyAllConstraints(RelationalSymbolicValue.java:152)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.getNewProgramStates(RelationalSymbolicValue.java:135)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.setConstraint(RelationalSymbolicValue.java:125)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.setConstraint(RelationalSymbolicValue.java:98)
        at org.sonar.java.se.symbolicvalues.SymbolicValue$NotSymbolicValue.setConstraint(SymbolicValue.java:252)
        at org.sonar.java.se.symbolicvalues.SymbolicValue.setConstraint(SymbolicValue.java:160)
        at org.sonar.java.se.symbolicvalues.SymbolicValue.setConstraint(SymbolicValue.java:180)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.lambda$applyConstraint$4(RelationalSymbolicValue.java:229)
        at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.applyConstraint(RelationalSymbolicValue.java:229)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.lambda$applyConstraints$3(RelationalSymbolicValue.java:220)
        at org.sonarsource.analyzer.commons.collections.AVLTree.forEach(AVLTree.java:128)
        at org.sonarsource.analyzer.commons.collections.AVLTree.forEach(AVLTree.java:117)
        at org.sonar.java.se.constraint.ConstraintsByDomain.forEach(ConstraintsByDomain.java:58)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.applyConstraints(RelationalSymbolicValue.java:217)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.copyConstraintFromTo(RelationalSymbolicValue.java:212)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.copyAllConstraints(RelationalSymbolicValue.java:152)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.getNewProgramStates(RelationalSymbolicValue.java:135)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.setConstraint(RelationalSymbolicValue.java:125)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.setConstraint(RelationalSymbolicValue.java:98)
        at org.sonar.java.se.symbolicvalues.SymbolicValue$NotSymbolicValue.setConstraint(SymbolicValue.java:252)
        at org.sonar.java.se.symbolicvalues.SymbolicValue.setConstraint(SymbolicValue.java:160)
        at org.sonar.java.se.symbolicvalues.SymbolicValue.setConstraint(SymbolicValue.java:180)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.lambda$applyConstraint$4(RelationalSymbolicValue.java:229)
        at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.applyConstraint(RelationalSymbolicValue.java:229)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.lambda$applyConstraints$3(RelationalSymbolicValue.java:220)
        at org.sonarsource.analyzer.commons.collections.AVLTree.forEach(AVLTree.java:128)
        at org.sonarsource.analyzer.commons.collections.AVLTree.forEach(AVLTree.java:117)
        at org.sonar.java.se.constraint.ConstraintsByDomain.forEach(ConstraintsByDomain.java:58)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.applyConstraints(RelationalSymbolicValue.java:217)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.copyConstraintFromTo(RelationalSymbolicValue.java:212)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.copyAllConstraints(RelationalSymbolicValue.java:152)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.getNewProgramStates(RelationalSymbolicValue.java:135)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.setConstraint(RelationalSymbolicValue.java:125)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.setConstraint(RelationalSymbolicValue.java:98)
        at org.sonar.java.se.symbolicvalues.SymbolicValue$NotSymbolicValue.setConstraint(SymbolicValue.java:252)
        at org.sonar.java.se.symbolicvalues.SymbolicValue.setConstraint(SymbolicValue.java:160)
        at org.sonar.java.se.symbolicvalues.SymbolicValue.setConstraint(SymbolicValue.java:180)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.lambda$applyConstraint$4(RelationalSymbolicValue.java:229)
        at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.applyConstraint(RelationalSymbolicValue.java:229)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.lambda$applyConstraints$3(RelationalSymbolicValue.java:220)
        at org.sonarsource.analyzer.commons.collections.AVLTree.forEach(AVLTree.java:128)
        at org.sonarsource.analyzer.commons.collections.AVLTree.forEach(AVLTree.java:117)
        at org.sonar.java.se.constraint.ConstraintsByDomain.forEach(ConstraintsByDomain.java:58)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.applyConstraints(RelationalSymbolicValue.java:217)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.copyConstraintFromTo(RelationalSymbolicValue.java:212)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.copyAllConstraints(RelationalSymbolicValue.java:152)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.getNewProgramStates(RelationalSymbolicValue.java:135)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.setConstraint(RelationalSymbolicValue.java:125)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.setConstraint(RelationalSymbolicValue.java:98)
        at org.sonar.java.se.symbolicvalues.SymbolicValue$NotSymbolicValue.setConstraint(SymbolicValue.java:252)
        at org.sonar.java.se.symbolicvalues.SymbolicValue.setConstraint(SymbolicValue.java:160)
        at org.sonar.java.se.symbolicvalues.SymbolicValue.setConstraint(SymbolicValue.java:180)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.lambda$applyConstraint$4(RelationalSymbolicValue.java:229)
        at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.applyConstraint(RelationalSymbolicValue.java:229)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.lambda$applyConstraints$3(RelationalSymbolicValue.java:220)
        at org.sonarsource.analyzer.commons.collections.AVLTree.forEach(AVLTree.java:128)
        at org.sonarsource.analyzer.commons.collections.AVLTree.forEach(AVLTree.java:117)
        at org.sonar.java.se.constraint.ConstraintsByDomain.forEach(ConstraintsByDomain.java:58)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.applyConstraints(RelationalSymbolicValue.java:217)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.copyConstraintFromTo(RelationalSymbolicValue.java:212)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.copyAllConstraints(RelationalSymbolicValue.java:152)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.getNewProgramStates(RelationalSymbolicValue.java:135)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.setConstraint(RelationalSymbolicValue.java:125)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.setConstraint(RelationalSymbolicValue.java:98)
        at org.sonar.java.se.symbolicvalues.SymbolicValue$NotSymbolicValue.setConstraint(SymbolicValue.java:252)
        at org.sonar.java.se.symbolicvalues.SymbolicValue.setConstraint(SymbolicValue.java:160)
        at org.sonar.java.se.symbolicvalues.SymbolicValue.setConstraint(SymbolicValue.java:180)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.lambda$applyConstraint$4(RelationalSymbolicValue.java:229)
        at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.applyConstraint(RelationalSymbolicValue.java:229)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.lambda$applyConstraints$3(RelationalSymbolicValue.java:220)
        at org.sonarsource.analyzer.commons.collections.AVLTree.forEach(AVLTree.java:128)
        at org.sonarsource.analyzer.commons.collections.AVLTree.forEach(AVLTree.java:117)
        at org.sonar.java.se.constraint.ConstraintsByDomain.forEach(ConstraintsByDomain.java:58)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.applyConstraints(RelationalSymbolicValue.java:217)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.copyConstraintFromTo(RelationalSymbolicValue.java:212)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.copyAllConstraints(RelationalSymbolicValue.java:152)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.getNewProgramStates(RelationalSymbolicValue.java:135)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.setConstraint(RelationalSymbolicValue.java:125)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.setConstraint(RelationalSymbolicValue.java:98)
        at org.sonar.java.se.symbolicvalues.SymbolicValue$NotSymbolicValue.setConstraint(SymbolicValue.java:252)
        at org.sonar.java.se.symbolicvalues.SymbolicValue.setConstraint(SymbolicValue.java:160)
        at org.sonar.java.se.symbolicvalues.SymbolicValue.setConstraint(SymbolicValue.java:180)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.lambda$applyConstraint$4(RelationalSymbolicValue.java:229)
        at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.applyConstraint(RelationalSymbolicValue.java:229)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.lambda$applyConstraints$3(RelationalSymbolicValue.java:220)
        at org.sonarsource.analyzer.commons.collections.AVLTree.forEach(AVLTree.java:128)
        at org.sonarsource.analyzer.commons.collections.AVLTree.forEach(AVLTree.java:117)
        at org.sonar.java.se.constraint.ConstraintsByDomain.forEach(ConstraintsByDomain.java:58)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.applyConstraints(RelationalSymbolicValue.java:217)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.copyConstraintFromTo(RelationalSymbolicValue.java:212)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.copyAllConstraints(RelationalSymbolicValue.java:152)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.getNewProgramStates(RelationalSymbolicValue.java:135)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.setConstraint(RelationalSymbolicValue.java:125)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.setConstraint(RelationalSymbolicValue.java:98)
        at org.sonar.java.se.symbolicvalues.SymbolicValue$NotSymbolicValue.setConstraint(SymbolicValue.java:252)
        at org.sonar.java.se.symbolicvalues.SymbolicValue.setConstraint(SymbolicValue.java:160)
        at org.sonar.java.se.symbolicvalues.SymbolicValue.setConstraint(SymbolicValue.java:180)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.lambda$applyConstraint$4(RelationalSymbolicValue.java:229)
        at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.applyConstraint(RelationalSymbolicValue.java:229)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.lambda$applyConstraints$3(RelationalSymbolicValue.java:220)
        at org.sonarsource.analyzer.commons.collections.AVLTree.forEach(AVLTree.java:128)
        at org.sonarsource.analyzer.commons.collections.AVLTree.forEach(AVLTree.java:117)
        at org.sonar.java.se.constraint.ConstraintsByDomain.forEach(ConstraintsByDomain.java:58)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.applyConstraints(RelationalSymbolicValue.java:217)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.copyConstraintFromTo(RelationalSymbolicValue.java:212)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.copyAllConstraints(RelationalSymbolicValue.java:152)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.getNewProgramStates(RelationalSymbolicValue.java:135)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.setConstraint(RelationalSymbolicValue.java:125)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.setConstraint(RelationalSymbolicValue.java:98)
        at org.sonar.java.se.symbolicvalues.SymbolicValue$NotSymbolicValue.setConstraint(SymbolicValue.java:252)
        at org.sonar.java.se.symbolicvalues.SymbolicValue.setConstraint(SymbolicValue.java:160)
        at org.sonar.java.se.symbolicvalues.SymbolicValue.setConstraint(SymbolicValue.java:180)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.lambda$applyConstraint$4(RelationalSymbolicValue.java:229)
        at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.applyConstraint(RelationalSymbolicValue.java:229)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.lambda$applyConstraints$3(RelationalSymbolicValue.java:220)
        at org.sonarsource.analyzer.commons.collections.AVLTree.forEach(AVLTree.java:128)
        at org.sonarsource.analyzer.commons.collections.AVLTree.forEach(AVLTree.java:117)
        at org.sonar.java.se.constraint.ConstraintsByDomain.forEach(ConstraintsByDomain.java:58)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.applyConstraints(RelationalSymbolicValue.java:217)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.copyConstraintFromTo(RelationalSymbolicValue.java:212)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.copyAllConstraints(RelationalSymbolicValue.java:152)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.getNewProgramStates(RelationalSymbolicValue.java:135)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.setConstraint(RelationalSymbolicValue.java:125)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.setConstraint(RelationalSymbolicValue.java:98)
        at org.sonar.java.se.symbolicvalues.SymbolicValue$NotSymbolicValue.setConstraint(SymbolicValue.java:252)
        at org.sonar.java.se.symbolicvalues.SymbolicValue.setConstraint(SymbolicValue.java:160)
        at org.sonar.java.se.symbolicvalues.SymbolicValue.setConstraint(SymbolicValue.java:180)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.lambda$applyConstraint$4(RelationalSymbolicValue.java:229)
        at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.applyConstraint(RelationalSymbolicValue.java:229)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.lambda$applyConstraints$3(RelationalSymbolicValue.java:220)
        at org.sonarsource.analyzer.commons.collections.AVLTree.forEach(AVLTree.java:128)
        at org.sonarsource.analyzer.commons.collections.AVLTree.forEach(AVLTree.java:117)
        at org.sonar.java.se.constraint.ConstraintsByDomain.forEach(ConstraintsByDomain.java:58)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.applyConstraints(RelationalSymbolicValue.java:217)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.copyConstraintFromTo(RelationalSymbolicValue.java:212)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.copyAllConstraints(RelationalSymbolicValue.java:152)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.getNewProgramStates(RelationalSymbolicValue.java:135)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.setConstraint(RelationalSymbolicValue.java:125)
        at org.sonar.java.se.symbolicvalues.RelationalSymbolicValue.setConstraint(RelationalSymbolicValue.java:98)
        at org.sonar.java.se.symbolicvalues.SymbolicValue$NotSymbolicValue.setConstraint(SymbolicValue.java:252)
.....

full-log.txt (229.2 KB)

I would like to know the cause of the problem

Hello, we will try to have a look into this, but the SymbolicExecution engine is on its way to being retired. In the meantime if this issue is a blocker for you, could you try to use this analysis parameter when launching the analysis?
sonar.java.internal.failOnStackOverflow=false

This should avoid the hard failure, and just give you a warning that that happened, so you can finish your analysis. Let me know if this helps

The parameter resolves the scans, but due to my lack of knowledge about it, I had like to ask if it immediately terminates the scanner when the error occurs, or if it continues scanning the remaining data? Also, could this generate false positives for code smells, etc.?

The parameter is there to allow continuing the analysis when a stackoverflow happens, issues already found for that file should still be reported, but no other issues will be found for that file, as the analyzer will leave the file and move to the next one when that happens.

So yeah this can lead to inaccurate results on that specific file, but at least you get all the value of the analysis for the rest of the files

1 Like