Unable to run check class org.sonar.java.checks.SelfAssignementCheck - S1656

Recent upgrade from : SonarQube 9.9.4 to SonarQube 2025.1 (LTA) (server)
Jenkins job scanner now getting exceptions:


[ERROR] Unable to run check class org.sonar.java.checks.SelfAssignementCheck - S1656 on file '[redacted].java', To help improve the SonarSource Java Analyzer, please report this problem to SonarSource: see https://community.sonarsource.com/
java.lang.NullPointerException: Cannot invoke "org.sonar.plugins.java.api.tree.ClassTree.members()" because "classParent" is null
                at org.sonar.java.checks.SelfAssignementCheck.getQuickFix(SelfAssignementCheck.java:94)
                at org.sonar.java.checks.SelfAssignementCheck.lambda$visitNode$0(SelfAssignementCheck.java:77)
                at org.sonar.java.reporting.InternalJavaIssueBuilder.lambda$withQuickFix$0(InternalJavaIssueBuilder.java:170)
                at org.sonar.java.reporting.InternalJavaIssueBuilder.lambda$handleQuickFixes$2(InternalJavaIssueBuilder.java:241)
                at java.base/java.util.stream.ReferencePipeline$7$1.accept(Unknown Source)
                at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(Unknown Source)
                at java.base/java.util.stream.AbstractPipeline.copyInto(Unknown Source)
                at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
                at java.base/java.util.stream.AbstractPipeline.evaluate(Unknown Source)
                at java.base/java.util.stream.AbstractPipeline.evaluateToArrayNode(Unknown Source)
                at java.base/java.util.stream.ReferencePipeline.toArray(Unknown Source)
                at java.base/java.util.stream.ReferencePipeline.toArray(Unknown Source)
                at java.base/java.util.stream.ReferencePipeline.toList(Unknown Source)
                at org.sonar.java.reporting.InternalJavaIssueBuilder.handleQuickFixes(InternalJavaIssueBuilder.java:242)
                at org.sonar.java.reporting.InternalJavaIssueBuilder.report(InternalJavaIssueBuilder.java:230)
                at org.sonar.java.checks.SelfAssignementCheck.visitNode(SelfAssignementCheck.java:78)
                at org.sonar.java.model.VisitorsBridge$IssuableSubscriptionVisitorsRunner.lambda$visit$6(VisitorsBridge.java:464)
                at org.sonar.java.model.VisitorsBridge$IssuableSubscriptionVisitorsRunner.lambda$forEach$9(VisitorsBridge.java:480)
                at org.sonar.java.model.VisitorsBridge.runScanner(VisitorsBridge.java:277)
                at org.sonar.java.model.VisitorsBridge$IssuableSubscriptionVisitorsRunner.forEach(VisitorsBridge.java:480)
                at org.sonar.java.model.VisitorsBridge$IssuableSubscriptionVisitorsRunner.visit(VisitorsBridge.java:466)
                at org.sonar.java.model.VisitorsBridge$IssuableSubscriptionVisitorsRunner.visitChildren(VisitorsBridge.java:450)
                at org.sonar.java.model.VisitorsBridge$IssuableSubscriptionVisitorsRunner.visit(VisitorsBridge.java:470)
                at org.sonar.java.model.VisitorsBridge$IssuableSubscriptionVisitorsRunner.visitChildren(VisitorsBridge.java:450)
                at org.sonar.java.model.VisitorsBridge$IssuableSubscriptionVisitorsRunner.visit(VisitorsBridge.java:470)
                at org.sonar.java.model.VisitorsBridge$IssuableSubscriptionVisitorsRunner.visitChildren(VisitorsBridge.java:450)
                at org.sonar.java.model.VisitorsBridge$IssuableSubscriptionVisitorsRunner.visit(VisitorsBridge.java:470)
                at org.sonar.java.model.VisitorsBridge$IssuableSubscriptionVisitorsRunner.visitChildren(VisitorsBridge.java:450)
                at org.sonar.java.model.VisitorsBridge$IssuableSubscriptionVisitorsRunner.visit(VisitorsBridge.java:470)
                at org.sonar.java.model.VisitorsBridge$IssuableSubscriptionVisitorsRunner.visitChildren(VisitorsBridge.java:450)
                at org.sonar.java.model.VisitorsBridge$IssuableSubscriptionVisitorsRunner.visit(VisitorsBridge.java:470)
                at org.sonar.java.model.VisitorsBridge$IssuableSubscriptionVisitorsRunner.scanFile(VisitorsBridge.java:428)
                at org.sonar.java.model.VisitorsBridge.lambda$runScanner$1(VisitorsBridge.java:272)
                at org.sonar.java.model.VisitorsBridge.runScanner(VisitorsBridge.java:277)
                at org.sonar.java.model.VisitorsBridge.runScanner(VisitorsBridge.java:272)
                at org.sonar.java.model.VisitorsBridge.visitFile(VisitorsBridge.java:255)
                at org.sonar.java.ast.JavaAstScanner.simpleScan(JavaAstScanner.java:131)
                at org.sonar.java.JavaFrontend.scanAsBatchCallback(JavaFrontend.java:243)
                at org.sonar.java.JavaFrontend.lambda$scanBatch$0(JavaFrontend.java:234)
                at org.sonar.java.model.JParserConfig$Batch$1.acceptAST(JParserConfig.java:187)
                at org.eclipse.jdt.core.dom.CompilationUnitResolver.resolve(CompilationUnitResolver.java:1197)
                at org.eclipse.jdt.core.dom.CompilationUnitResolver.resolve(CompilationUnitResolver.java:786)
                at org.eclipse.jdt.core.dom.CompilationUnitResolver$ECJCompilationUnitResolver.resolve(CompilationUnitResolver.java:92)
                at org.eclipse.jdt.core.dom.ASTParser.createASTs(ASTParser.java:1071)
                at org.sonar.java.model.JParserConfig$Batch.parse(JParserConfig.java:173)
                at org.sonar.java.JavaFrontend.scanBatch(JavaFrontend.java:234)
                at org.sonar.java.JavaFrontend.scanInBatches(JavaFrontend.java:223)
                at org.sonar.java.JavaFrontend.scanAsBatch(JavaFrontend.java:190)
                at org.sonar.java.JavaFrontend.scan(JavaFrontend.java:165)
                at org.sonar.plugins.java.JavaSensor.execute(JavaSensor.java:109)
                at org.sonar.scanner.sensor.AbstractSensorWrapper.analyse(AbstractSensorWrapper.java:64)
                at org.sonar.scanner.sensor.ModuleSensorsExecutor.execute(ModuleSensorsExecutor.java:88)
                at org.sonar.scanner.sensor.ModuleSensorsExecutor.lambda$execute$1(ModuleSensorsExecutor.java:61)
                at org.sonar.scanner.sensor.ModuleSensorsExecutor.withModuleStrategy(ModuleSensorsExecutor.java:79)
                at org.sonar.scanner.sensor.ModuleSensorsExecutor.execute(ModuleSensorsExecutor.java:61)
                at org.sonar.scanner.scan.SpringModuleScanContainer.doAfterStart(SpringModuleScanContainer.java:82)
                at org.sonar.core.platform.SpringComponentContainer.startComponents(SpringComponentContainer.java:226)
                at org.sonar.core.platform.SpringComponentContainer.execute(SpringComponentContainer.java:205)
                at org.sonar.scanner.scan.SpringProjectScanContainer.scan(SpringProjectScanContainer.java:201)
                at org.sonar.scanner.scan.SpringProjectScanContainer.scanRecursively(SpringProjectScanContainer.java:197)
                at org.sonar.scanner.scan.SpringProjectScanContainer.scanRecursively(SpringProjectScanContainer.java:194)
                at org.sonar.scanner.scan.SpringProjectScanContainer.doAfterStart(SpringProjectScanContainer.java:170)
                at org.sonar.core.platform.SpringComponentContainer.startComponents(SpringComponentContainer.java:226)
                at org.sonar.core.platform.SpringComponentContainer.execute(SpringComponentContainer.java:205)
                at org.sonar.scanner.bootstrap.SpringScannerContainer.doAfterStart(SpringScannerContainer.java:350)
                at org.sonar.core.platform.SpringComponentContainer.startComponents(SpringComponentContainer.java:226)
                at org.sonar.core.platform.SpringComponentContainer.execute(SpringComponentContainer.java:205)
                at org.sonar.scanner.bootstrap.SpringGlobalContainer.doAfterStart(SpringGlobalContainer.java:142)
                at org.sonar.core.platform.SpringComponentContainer.startComponents(SpringComponentContainer.java:226)
                at org.sonar.core.platform.SpringComponentContainer.execute(SpringComponentContainer.java:205)
                at org.sonar.scanner.bootstrap.ScannerMain.runScannerEngine(ScannerMain.java:151)
                at org.sonar.scanner.bootstrap.ScannerMain.run(ScannerMain.java:66)
                at org.sonar.scanner.bootstrap.ScannerMain.main(ScannerMain.java:52)

Oops, the Java analyzer should not explode like this…

I created this ticket: SONARJAVA-5726

Thanks for your feedback.