You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The parser processes the record files just like all the others.
Actual Behavior
I see NullPointerExceptions during the ccsh run, and WebStudio displays an error saying the JSON file is empty or invalid when trying to import it.
Screenshots
Cannot invoke "org.sonar.plugins.java.api.tree.Tree.kind()" because "node" is null
at org.sonar.java.model.JSymbol.variableOwner(JSymbol.java:209)
at org.sonar.java.model.JSymbol.convertOwner(JSymbol.java:162)
at org.sonar.java.model.JSymbol.owner(JSymbol.java:148)
at org.sonar.java.checks.SpecializedFunctionalInterfacesCheck.checkVariableTypeAndInitializer(SpecializedFunctionalInterfacesCheck.java:79)
at org.sonar.java.checks.SpecializedFunctionalInterfacesCheck.visitNode(SpecializedFunctionalInterfacesCheck.java:58)
at org.sonar.java.model.VisitorsBridge$IssuableSubsciptionVisitorsRunner.lambda$visit$6(VisitorsBridge.java:306)
at org.sonar.java.model.VisitorsBridge$IssuableSubsciptionVisitorsRunner.lambda$forEach$9(VisitorsBridge.java:321)
at org.sonar.java.model.VisitorsBridge.runScanner(VisitorsBridge.java:185)
at org.sonar.java.model.VisitorsBridge.access$100(VisitorsBridge.java:64)
at org.sonar.java.model.VisitorsBridge$IssuableSubsciptionVisitorsRunner.forEach(VisitorsBridge.java:321)
at org.sonar.java.model.VisitorsBridge$IssuableSubsciptionVisitorsRunner.visit(VisitorsBridge.java:308)
at org.sonar.java.model.VisitorsBridge$IssuableSubsciptionVisitorsRunner.visitChildren(VisitorsBridge.java:292)
at org.sonar.java.model.VisitorsBridge$IssuableSubsciptionVisitorsRunner.visit(VisitorsBridge.java:312)
at org.sonar.java.model.VisitorsBridge$IssuableSubsciptionVisitorsRunner.visitChildren(VisitorsBridge.java:292)
at org.sonar.java.model.VisitorsBridge$IssuableSubsciptionVisitorsRunner.visit(VisitorsBridge.java:312)
at org.sonar.java.model.VisitorsBridge$IssuableSubsciptionVisitorsRunner.run(VisitorsBridge.java:283)
at org.sonar.java.model.VisitorsBridge.visitFile(VisitorsBridge.java:167)
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:114)
at org.sonar.java.JavaSquid.scan(JavaSquid.java:107)
at org.sonar.plugins.java.JavaSquidSensor.execute(JavaSquidSensor.java:103)
at de.maibornwolff.codecharta.parser.sourcecodeparser.sonaranalyzers.JavaSonarAnalyzer$executeScan$1$1.invokeSuspend(JavaSonarAnalyzer.kt:190)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104)
at kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.common.kt:277)
at kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:95)
at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking(Builders.kt:69)
at kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source)
at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking$default(Builders.kt:48)
at kotlinx.coroutines.BuildersKt.runBlocking$default(Unknown Source)
at de.maibornwolff.codecharta.parser.sourcecodeparser.sonaranalyzers.JavaSonarAnalyzer.executeScan(JavaSonarAnalyzer.kt:179)
at de.maibornwolff.codecharta.parser.sourcecodeparser.sonaranalyzers.JavaSonarAnalyzer.scanFiles(JavaSonarAnalyzer.kt:129)
at de.maibornwolff.codecharta.parser.sourcecodeparser.ProjectParser.scanProject(ProjectParser.kt:27)
at de.maibornwolff.codecharta.parser.sourcecodeparser.SourceCodeParserMain.call(SourceCodeParserMain.kt:131)
at de.maibornwolff.codecharta.parser.sourcecodeparser.SourceCodeParserMain.call(SourceCodeParserMain.kt:33)
at picocli.CommandLine.executeUserObject(CommandLine.java:2045)
at picocli.CommandLine.access$1500(CommandLine.java:148)
at picocli.CommandLine$RunAll.recursivelyExecuteUserObject(CommandLine.java:2540)
at picocli.CommandLine$RunAll.recursivelyExecuteUserObject(CommandLine.java:2542)
at picocli.CommandLine$RunAll.handle(CommandLine.java:2536)
at picocli.CommandLine$RunAll.handle(CommandLine.java:2496)
at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2277)
at picocli.CommandLine$RunAll.execute(CommandLine.java:2498)
at picocli.CommandLine.execute(CommandLine.java:2174)
at de.maibornwolff.codecharta.tools.ccsh.Ccsh$Companion.executeCommandLine(Ccsh.kt:102)
at de.maibornwolff.codecharta.tools.ccsh.Ccsh$Companion.main(Ccsh.kt:86)
at de.maibornwolff.codecharta.tools.ccsh.Ccsh.main(Ccsh.kt)
java.lang.NullPointerException: Cannot invoke "org.sonar.plugins.java.api.tree.ClassTree.simpleName()" because the return value of "java.util.Deque.peek()" is null
at org.sonar.java.Measurer.visitNode(Measurer.java:119)
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.Measurer.scanFile(Measurer.java:86)
at org.sonar.java.model.VisitorsBridge.lambda$runScanner$0(VisitorsBridge.java:180)
at org.sonar.java.model.VisitorsBridge.runScanner(VisitorsBridge.java:185)
at org.sonar.java.model.VisitorsBridge.runScanner(VisitorsBridge.java:180)
at org.sonar.java.model.VisitorsBridge.visitFile(VisitorsBridge.java:160)
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:114)
at org.sonar.java.JavaSquid.scan(JavaSquid.java:107)
at org.sonar.plugins.java.JavaSquidSensor.execute(JavaSquidSensor.java:103)
at de.maibornwolff.codecharta.parser.sourcecodeparser.sonaranalyzers.JavaSonarAnalyzer$executeScan$1$1.invokeSuspend(JavaSonarAnalyzer.kt:190)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104)
at kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.common.kt:277)
at kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:95)
at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking(Builders.kt:69)
at kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source)
at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking$default(Builders.kt:48)
at kotlinx.coroutines.BuildersKt.runBlocking$default(Unknown Source)
at de.maibornwolff.codecharta.parser.sourcecodeparser.sonaranalyzers.JavaSonarAnalyzer.executeScan(JavaSonarAnalyzer.kt:179)
at de.maibornwolff.codecharta.parser.sourcecodeparser.sonaranalyzers.JavaSonarAnalyzer.scanFiles(JavaSonarAnalyzer.kt:129)
at de.maibornwolff.codecharta.parser.sourcecodeparser.ProjectParser.scanProject(ProjectParser.kt:27)
at de.maibornwolff.codecharta.parser.sourcecodeparser.SourceCodeParserMain.call(SourceCodeParserMain.kt:131)
at de.maibornwolff.codecharta.parser.sourcecodeparser.SourceCodeParserMain.call(SourceCodeParserMain.kt:33)
at picocli.CommandLine.executeUserObject(CommandLine.java:2045)
at picocli.CommandLine.access$1500(CommandLine.java:148)
at picocli.CommandLine$RunAll.recursivelyExecuteUserObject(CommandLine.java:2540)
at picocli.CommandLine$RunAll.recursivelyExecuteUserObject(CommandLine.java:2542)
at picocli.CommandLine$RunAll.handle(CommandLine.java:2536)
at picocli.CommandLine$RunAll.handle(CommandLine.java:2496)
at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2277)
at picocli.CommandLine$RunAll.execute(CommandLine.java:2498)
at picocli.CommandLine.execute(CommandLine.java:2174)
at de.maibornwolff.codecharta.tools.ccsh.Ccsh$Companion.executeCommandLine(Ccsh.kt:102)
at de.maibornwolff.codecharta.tools.ccsh.Ccsh$Companion.main(Ccsh.kt:86)
at de.maibornwolff.codecharta.tools.ccsh.Ccsh.main(Ccsh.kt)
java.lang.NullPointerException: Cannot invoke "org.sonar.plugins.java.api.tree.Tree.kind()" because "node" is null
at org.sonar.java.model.JSymbol.variableOwner(JSymbol.java:209)
at org.sonar.java.model.JSymbol.convertOwner(JSymbol.java:162)
at org.sonar.java.model.JSymbol.owner(JSymbol.java:148)
at org.sonar.java.checks.SpecializedFunctionalInterfacesCheck.checkVariableTypeAndInitializer(SpecializedFunctionalInterfacesCheck.java:79)
at org.sonar.java.checks.SpecializedFunctionalInterfacesCheck.visitNode(SpecializedFunctionalInterfacesCheck.java:58)
at org.sonar.java.model.VisitorsBridge$IssuableSubsciptionVisitorsRunner.lambda$visit$6(VisitorsBridge.java:306)
at org.sonar.java.model.VisitorsBridge$IssuableSubsciptionVisitorsRunner.lambda$forEach$9(VisitorsBridge.java:321)
at org.sonar.java.model.VisitorsBridge.runScanner(VisitorsBridge.java:185)
at org.sonar.java.model.VisitorsBridge.access$100(VisitorsBridge.java:64)
at org.sonar.java.model.VisitorsBridge$IssuableSubsciptionVisitorsRunner.forEach(VisitorsBridge.java:321)
at org.sonar.java.model.VisitorsBridge$IssuableSubsciptionVisitorsRunner.visit(VisitorsBridge.java:308)
at org.sonar.java.model.VisitorsBridge$IssuableSubsciptionVisitorsRunner.visitChildren(VisitorsBridge.java:292)
at org.sonar.java.model.VisitorsBridge$IssuableSubsciptionVisitorsRunner.visit(VisitorsBridge.java:312)
at org.sonar.java.model.VisitorsBridge$IssuableSubsciptionVisitorsRunner.visitChildren(VisitorsBridge.java:292)
at org.sonar.java.model.VisitorsBridge$IssuableSubsciptionVisitorsRunner.visit(VisitorsBridge.java:312)
at org.sonar.java.model.VisitorsBridge$IssuableSubsciptionVisitorsRunner.run(VisitorsBridge.java:283)
at org.sonar.java.model.VisitorsBridge.visitFile(VisitorsBridge.java:167)
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:114)
at org.sonar.java.JavaSquid.scan(JavaSquid.java:107)
at org.sonar.plugins.java.JavaSquidSensor.execute(JavaSquidSensor.java:103)
at de.maibornwolff.codecharta.parser.sourcecodeparser.sonaranalyzers.JavaSonarAnalyzer$executeScan$1$1.invokeSuspend(JavaSonarAnalyzer.kt:190)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104)
at kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.common.kt:277)
at kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:95)
at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking(Builders.kt:69)
at kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source)
at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking$default(Builders.kt:48)
at kotlinx.coroutines.BuildersKt.runBlocking$default(Unknown Source)
at de.maibornwolff.codecharta.parser.sourcecodeparser.sonaranalyzers.JavaSonarAnalyzer.executeScan(JavaSonarAnalyzer.kt:179)
at de.maibornwolff.codecharta.parser.sourcecodeparser.sonaranalyzers.JavaSonarAnalyzer.scanFiles(JavaSonarAnalyzer.kt:129)
at de.maibornwolff.codecharta.parser.sourcecodeparser.ProjectParser.scanProject(ProjectParser.kt:27)
at de.maibornwolff.codecharta.parser.sourcecodeparser.SourceCodeParserMain.call(SourceCodeParserMain.kt:131)
at de.maibornwolff.codecharta.parser.sourcecodeparser.SourceCodeParserMain.call(SourceCodeParserMain.kt:33)
at picocli.CommandLine.executeUserObject(CommandLine.java:2045)
at picocli.CommandLine.access$1500(CommandLine.java:148)
at picocli.CommandLine$RunAll.recursivelyExecuteUserObject(CommandLine.java:2540)
at picocli.CommandLine$RunAll.recursivelyExecuteUserObject(CommandLine.java:2542)
at picocli.CommandLine$RunAll.handle(CommandLine.java:2536)
at picocli.CommandLine$RunAll.handle(CommandLine.java:2496)
at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2277)
at picocli.CommandLine$RunAll.execute(CommandLine.java:2498)
at picocli.CommandLine.execute(CommandLine.java:2174)
at de.maibornwolff.codecharta.tools.ccsh.Ccsh$Companion.executeCommandLine(Ccsh.kt:102)
at de.maibornwolff.codecharta.tools.ccsh.Ccsh$Companion.main(Ccsh.kt:86)
at de.maibornwolff.codecharta.tools.ccsh.Ccsh.main(Ccsh.kt)
Steps to Reproduce the Problem
Sorry, I can't share the project code; but I looked at the files that the parser complains about and noticed that they're all Java Records (some simple, some with a body). I used this command: ccsh sourcecodeparser app/src/main/java -o coreservice.cc.json
We are investing it right now, looks like our parser adds .gz at the end when in reality it's just a json file. Try removing .gz at the end. Thanks for reporting 👍
Bug
Expected Behavior
GIVEN
I have got a project with code containing records
WHEN
I apply the SourceCodeParser
THEN
The parser processes the record files just like all the others.
Actual Behavior
I see
NullPointerException
s during theccsh
run, and WebStudio displays an error saying the JSON file is empty or invalid when trying to import it.Screenshots
Steps to Reproduce the Problem
Sorry, I can't share the project code; but I looked at the files that the parser complains about and noticed that they're all Java Records (some simple, some with a body). I used this command:
ccsh sourcecodeparser app/src/main/java -o coreservice.cc.json
Specifications
The text was updated successfully, but these errors were encountered: