# NPE in java:S2229 (SpringIncompatibleTransactionalCheck)

**URL:** <https://community.sonarsource.com/t/npe-in-java-s2229-springincompatibletransactionalcheck/28196>\
**Category:** Eclipse\
**Tags:** eclipse, java\
**Created:** [July 16, 2020, 7:11am UTC](https://community.sonarsource.com/t/npe-in-java-s2229-springincompatibletransactionalcheck/28196 "2020-07-16T07:11:43Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![santhosh](https://avatars.discourse-cdn.com/v4/letter/s/f07891/32.png) [@santhosh](https://community.sonarsource.com/u/santhosh)\
**Post date:** [July 16, 2020, 7:11am UTC](https://community.sonarsource.com/t/npe-in-java-s2229-springincompatibletransactionalcheck/28196/1 "2020-07-16T07:11:43Z")

</div>

Hi Team,

we are facing issue after upgrade sonarqube version 7.9.3 and we are getting issue,

```auto
Unable to run check class org.sonar.java.checks.spring.SpringIncompatibleTransactionalCheck - S2229 on file '[uri=file:xxxxxxxxxxxxxxxxxxxxxProductFamilyConditionTranslator.java]', To help improve SonarJava, please report this problem to SonarSource : see https://www.sonarqube.org/community/
java.lang.NullPointerException
	at org.eclipse.jdt.core.dom.MethodBinding.filterTypeAnnotations(MethodBinding.java:227)
	at org.eclipse.jdt.core.dom.MethodBinding.getAnnotations(MethodBinding.java:116)
	at org.sonar.java.model.JSymbol.metadata(JSymbol.java:320)

```

Thanks,  
santhosh.k

---

<div class="post-metadata">

**Author:** ![Quentin](https://dub1.discourse-cdn.com/sonarsource/user_avatar/community.sonarsource.com/quentin/32/74716_2.png) [@Quentin](https://community.sonarsource.com/u/Quentin)\
**Post date:** [July 16, 2020, 7:28am UTC](https://community.sonarsource.com/t/npe-in-java-s2229-springincompatibletransactionalcheck/28196/2 "2020-07-16T07:28:28Z")

</div>

Hello,

I would expect to see something related to `SpringIncompatibleTransactionalCheck`.

Can you check if this is the full Stacktrace?

---

<div class="post-metadata">

**Author:** ![santhosh](https://avatars.discourse-cdn.com/v4/letter/s/f07891/32.png) [@santhosh](https://community.sonarsource.com/u/santhosh)\
**Post date:** [July 16, 2020, 7:48am UTC](https://community.sonarsource.com/t/npe-in-java-s2229-springincompatibletransactionalcheck/28196/3 "2020-07-16T07:48:41Z")

</div>

Hi Quentin,

Thanks for the update recently we upgrade java verison from oracle jdk to Adoptive open jdk and is there any issue with sonarjava and anything we need to upgrade that to recover this issue.

and what logs do u want require please update here and i will attache those logs

Thanks,  
santhosh.k

---

<div class="post-metadata">

**Author:** ![Quentin](https://dub1.discourse-cdn.com/sonarsource/user_avatar/community.sonarsource.com/quentin/32/74716_2.png) [@Quentin](https://community.sonarsource.com/u/Quentin)\
**Post date:** [July 16, 2020, 8:00am UTC](https://community.sonarsource.com/t/npe-in-java-s2229-springincompatibletransactionalcheck/28196/4 "2020-07-16T08:00:48Z")

</div>

I’m not sure to understand, do you still face the issue?  
If yes, I could use the analysis logs.

---

<div class="post-metadata">

**Author:** ![santhosh](https://avatars.discourse-cdn.com/v4/letter/s/f07891/32.png) [@santhosh](https://community.sonarsource.com/u/santhosh)\
**Post date:** [July 16, 2020, 8:16am UTC](https://community.sonarsource.com/t/npe-in-java-s2229-springincompatibletransactionalcheck/28196/5 "2020-07-16T08:16:42Z")

</div>

[sonar.log](https://community.sonarsource.com/uploads/short-url/ehtLTJ4BMNHxY4DAbrSpVwZSsjT.log) (109.7 KB) [es.log](https://community.sonarsource.com/uploads/short-url/3Qx4g6r29EhbWIOsXQBDks7q1iG.log) (77.9 KB)

---

<div class="post-metadata">

**Author:** ![Quentin](https://dub1.discourse-cdn.com/sonarsource/user_avatar/community.sonarsource.com/quentin/32/74716_2.png) [@Quentin](https://community.sonarsource.com/u/Quentin)\
**Post date:** [July 16, 2020, 8:27am UTC](https://community.sonarsource.com/t/npe-in-java-s2229-springincompatibletransactionalcheck/28196/6 "2020-07-16T08:27:01Z")

</div>

I’m afraid these are not logs of analysis.  
Basically, I need the logs where you found the `NullPointerException`.

---

<div class="post-metadata">

**Author:** ![santhosh](https://avatars.discourse-cdn.com/v4/letter/s/f07891/32.png) [@santhosh](https://community.sonarsource.com/u/santhosh)\
**Post date:** [July 16, 2020, 8:31am UTC](https://community.sonarsource.com/t/npe-in-java-s2229-springincompatibletransactionalcheck/28196/7 "2020-07-16T08:31:01Z")

</div>

Sorry i got the request from my client

After the update of SonarQube I’m facing issues while scanning Java 11 code. I’m getting strange exceptions in sonarlint like

```auto
Unable to run check class org.sonar.java.checks.spring.SpringIncompatibleTransactionalCheck - S2229 on file '[uri=file:/C:xxxxxxxxxxx/RuleBSHProductFamilyConditionTranslator.java]', To help improve SonarJava, please report this problem to SonarSource : see https://www.sonarqube.org/community/
java.lang.NullPointerException
	at org.eclipse.jdt.core.dom.MethodBinding.filterTypeAnnotations(MethodBinding.java:227)
	at org.eclipse.jdt.core.dom.MethodBinding.getAnnotations(MethodBinding.java:116)
	at org.sonar.java.model.JSymbol.metadata(JSymbol.java:320)

```

Maybe there is a newer version of the Sonar Java Plugin and it can be installed?

---

<div class="post-metadata">

**Author:** ![santhosh](https://avatars.discourse-cdn.com/v4/letter/s/f07891/32.png) [@santhosh](https://community.sonarsource.com/u/santhosh)\
**Post date:** [July 16, 2020, 9:10am UTC](https://community.sonarsource.com/t/npe-in-java-s2229-springincompatibletransactionalcheck/28196/8 "2020-07-16T09:10:58Z")

</div>

Analysis logs:

```auto
SonarLint processing file /bshdao/src/de/arithnea/bsh/dao/payment/impl/DefaultWeChatPaymentDAO.java...
Index files
1 file indexed
Configured Java source version (sonar.java.source): 11
JavaClasspath initialization
JavaClasspath initialization (done) | time=106ms
JavaTestClasspath initialization
JavaTestClasspath initialization (done) | time=112ms
Java Main Files AST scan
1 source files to be analyzed
Unable to run check class org.sonar.java.se.SymbolicExecutionVisitor - on file '[uri=file:/C:/dev/BSH/repositories/bsh-d2c-hybris-2/bin/ext-bsh/bshdao/src/de/arithnea/bsh/dao/payment/impl/DefaultWeChatPaymentDAO.java]', To help improve SonarJava, please report this problem to SonarSource : see https://www.sonarqube.org/community/
java.lang.NullPointerException
	at org.eclipse.jdt.core.dom.MethodBinding.filterTypeAnnotations(MethodBinding.java:227)
	at org.eclipse.jdt.core.dom.MethodBinding.getAnnotations(MethodBinding.java:116)
	at org.sonar.java.model.JSymbol.metadata(JSymbol.java:320)
	at org.sonar.java.se.NullableAnnotationUtils.lambda$valuesForGlobalAnnotation$4(NullableAnnotationUtils.java:217)
	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
	at java.util.Spliterators$ArraySpliterator.tryAdvance(Spliterators.java:958)
	at java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:126)
	at java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:498)
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:485)
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
	at java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:152)
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:464)
	at org.sonar.java.se.NullableAnnotationUtils.valuesForGlobalAnnotation(NullableAnnotationUtils.java:219)
	at org.sonar.java.se.NullableAnnotationUtils.nonNullAnnotationOnParameters(NullableAnnotationUtils.java:204)
	at org.sonar.java.se.NullableAnnotationUtils.isGloballyAnnotatedParameterNonNull(NullableAnnotationUtils.java:199)
	at org.sonar.java.se.ExplodedGraphWalker.startingStates(ExplodedGraphWalker.java:347)
	at org.sonar.java.se.ExplodedGraphWalker.execute(ExplodedGraphWalker.java:237)
	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: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:168)
	at org.sonar.java.model.VisitorsBridge.runScanner(VisitorsBridge.java:173)
	at org.sonar.java.model.VisitorsBridge.runScanner(VisitorsBridge.java:168)
	at org.sonar.java.model.VisitorsBridge.visitFile(VisitorsBridge.java:139)
	at org.sonar.java.ast.JavaAstScanner.simpleScan(JavaAstScanner.java:99)
	at org.sonar.java.ast.JavaAstScanner.scan(JavaAstScanner.java:65)
	at org.sonar.java.JavaSquid.scanSources(JavaSquid.java:111)
	at org.sonar.java.JavaSquid.scan(JavaSquid.java:105)
	at org.sonar.plugins.java.JavaSquidSensor.execute(JavaSquidSensor.java:88)
	at org.sonarsource.sonarlint.core.analyzer.sensor.SensorsExecutor.executeSensor(SensorsExecutor.java:80)
	at org.sonarsource.sonarlint.core.analyzer.sensor.SensorsExecutor.execute(SensorsExecutor.java:71)
	at org.sonarsource.sonarlint.core.container.analysis.AnalysisContainer.doAfterStart(AnalysisContainer.java:134)
	at org.sonarsource.sonarlint.core.container.ComponentContainer.startComponents(ComponentContainer.java:125)
	at org.sonarsource.sonarlint.core.container.ComponentContainer.execute(ComponentContainer.java:110)
	at org.sonarsource.sonarlint.core.container.storage.StorageAnalyzer.analyze(StorageAnalyzer.java:75)
	at org.sonarsource.sonarlint.core.container.storage.StorageContainerHandler.analyze(StorageContainerHandler.java:81)
	at org.sonarsource.sonarlint.core.ConnectedSonarLintEngineImpl.lambda$analyze$0(ConnectedSonarLintEngineImpl.java:152)
	at org.sonarsource.sonarlint.core.ConnectedSonarLintEngineImpl.withReadLock(ConnectedSonarLintEngineImpl.java:344)
	at org.sonarsource.sonarlint.core.ConnectedSonarLintEngineImpl.withReadLock(ConnectedSonarLintEngineImpl.java:334)
	at org.sonarsource.sonarlint.core.ConnectedSonarLintEngineImpl.analyze(ConnectedSonarLintEngineImpl.java:149)
	at org.sonarlint.eclipse.core.internal.server.Server.runAnalysis(Server.java:306)
	at org.sonarlint.eclipse.core.internal.jobs.AnalyzeConnectedProjectJob.runAnalysis(AnalyzeConnectedProjectJob.java:72)
	at org.sonarlint.eclipse.core.internal.jobs.AnalyzeConnectedProjectJob.runAnalysis(AnalyzeConnectedProjectJob.java:1)
	at org.sonarlint.eclipse.core.internal.jobs.AbstractAnalyzeProjectJob.run(AbstractAnalyzeProjectJob.java:405)
	at org.sonarlint.eclipse.core.internal.jobs.AbstractAnalyzeProjectJob.runAnalysisAndUpdateMarkers(AbstractAnalyzeProjectJob.java:208)
	at org.sonarlint.eclipse.core.internal.jobs.AbstractAnalyzeProjectJob.doRun(AbstractAnalyzeProjectJob.java:170)
	at org.sonarlint.eclipse.core.internal.jobs.AbstractSonarProjectJob.run(AbstractSonarProjectJob.java:45)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)

Unable to run check class org.sonar.java.filters.PostAnalysisIssueFilter - on file '[uri=file:/C:/dev/BSH/repositories/bsh-d2c-hybris-2/bin/ext-bsh/bshdao/src/de/arithnea/bsh/dao/payment/impl/DefaultWeChatPaymentDAO.java]', To help improve SonarJava, please report this problem to SonarSource : see https://www.sonarqube.org/community/
java.lang.NullPointerException
	at org.eclipse.jdt.core.dom.MethodBinding.filterTypeAnnotations(MethodBinding.java:227)
	at org.eclipse.jdt.core.dom.MethodBinding.getAnnotations(MethodBinding.java:116)
	at org.sonar.java.model.JSymbol.metadata(JSymbol.java:320)
	at org.sonar.java.filters.GeneratedCodeFilter.isGenerated(GeneratedCodeFilter.java:55)
	at org.sonar.java.filters.GeneratedCodeFilter.visitMethod(GeneratedCodeFilter.java:48)
	at org.sonar.java.model.declaration.MethodTreeImpl.accept(MethodTreeImpl.java:222)
	at org.sonar.plugins.java.api.tree.BaseTreeVisitor.scan(BaseTreeVisitor.java:40)
	at org.sonar.plugins.java.api.tree.BaseTreeVisitor.scan(BaseTreeVisitor.java:34)
	at org.sonar.plugins.java.api.tree.BaseTreeVisitor.visitClass(BaseTreeVisitor.java:68)
	at org.sonar.java.filters.GeneratedCodeFilter.visitClass(GeneratedCodeFilter.java:43)
	at org.sonar.java.model.declaration.ClassTreeImpl.accept(ClassTreeImpl.java:206)
	at org.sonar.plugins.java.api.tree.BaseTreeVisitor.scan(BaseTreeVisitor.java:40)
	at org.sonar.plugins.java.api.tree.BaseTreeVisitor.scan(BaseTreeVisitor.java:34)
	at org.sonar.plugins.java.api.tree.BaseTreeVisitor.visitCompilationUnit(BaseTreeVisitor.java:52)
	at org.sonar.java.model.JavaTree$CompilationUnitTreeImpl.accept(JavaTree.java:200)
	at org.sonar.plugins.java.api.tree.BaseTreeVisitor.scan(BaseTreeVisitor.java:40)
	at org.sonar.java.filters.AnyRuleIssueFilter.scanFile(AnyRuleIssueFilter.java:47)
	at org.sonar.java.filters.GeneratedCodeFilter.scanFile(GeneratedCodeFilter.java:35)
	at org.sonar.java.filters.PostAnalysisIssueFilter.scanFile(PostAnalysisIssueFilter.java:64)
	at org.sonar.java.model.VisitorsBridge.lambda$runScanner$0(VisitorsBridge.java:168)
	at org.sonar.java.model.VisitorsBridge.runScanner(VisitorsBridge.java:173)
	at org.sonar.java.model.VisitorsBridge.runScanner(VisitorsBridge.java:168)
	at org.sonar.java.model.VisitorsBridge.visitFile(VisitorsBridge.java:148)
	at org.sonar.java.ast.JavaAstScanner.simpleScan(JavaAstScanner.java:99)
	at org.sonar.java.ast.JavaAstScanner.scan(JavaAstScanner.java:65)
	at org.sonar.java.JavaSquid.scanSources(JavaSquid.java:111)
	at org.sonar.java.JavaSquid.scan(JavaSquid.java:105)
	at org.sonar.plugins.java.JavaSquidSensor.execute(JavaSquidSensor.java:88)
	at org.sonarsource.sonarlint.core.analyzer.sensor.SensorsExecutor.executeSensor(SensorsExecutor.java:80)
	at org.sonarsource.sonarlint.core.analyzer.sensor.SensorsExecutor.execute(SensorsExecutor.java:71)
	at org.sonarsource.sonarlint.core.container.analysis.AnalysisContainer.doAfterStart(AnalysisContainer.java:134)
	at org.sonarsource.sonarlint.core.container.ComponentContainer.startComponents(ComponentContainer.java:125)
	at org.sonarsource.sonarlint.core.container.ComponentContainer.execute(ComponentContainer.java:110)
	at org.sonarsource.sonarlint.core.container.storage.StorageAnalyzer.analyze(StorageAnalyzer.java:75)
	at org.sonarsource.sonarlint.core.container.storage.StorageContainerHandler.analyze(StorageContainerHandler.java:81)
	at org.sonarsource.sonarlint.core.ConnectedSonarLintEngineImpl.lambda$analyze$0(ConnectedSonarLintEngineImpl.java:152)
	at org.sonarsource.sonarlint.core.ConnectedSonarLintEngineImpl.withReadLock(ConnectedSonarLintEngineImpl.java:344)
	at org.sonarsource.sonarlint.core.ConnectedSonarLintEngineImpl.withReadLock(ConnectedSonarLintEngineImpl.java:334)
	at org.sonarsource.sonarlint.core.ConnectedSonarLintEngineImpl.analyze(ConnectedSonarLintEngineImpl.java:149)
	at org.sonarlint.eclipse.core.internal.server.Server.runAnalysis(Server.java:306)
	at org.sonarlint.eclipse.core.internal.jobs.AnalyzeConnectedProjectJob.runAnalysis(AnalyzeConnectedProjectJob.java:72)
	at org.sonarlint.eclipse.core.internal.jobs.AnalyzeConnectedProjectJob.runAnalysis(AnalyzeConnectedProjectJob.java:1)
	at org.sonarlint.eclipse.core.internal.jobs.AbstractAnalyzeProjectJob.run(AbstractAnalyzeProjectJob.java:405)
	at org.sonarlint.eclipse.core.internal.jobs.AbstractAnalyzeProjectJob.runAnalysisAndUpdateMarkers(AbstractAnalyzeProjectJob.java:208)
	at org.sonarlint.eclipse.core.internal.jobs.AbstractAnalyzeProjectJob.doRun(AbstractAnalyzeProjectJob.java:170)
	at org.sonarlint.eclipse.core.internal.jobs.AbstractSonarProjectJob.run(AbstractSonarProjectJob.java:45)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)

Unable to run check class org.sonar.java.checks.UndocumentedApiCheck - S1176 on file '[uri=file:/C:/dev/BSH/repositories/bsh-d2c-hybris-2/bin/ext-bsh/bshdao/src/de/arithnea/bsh/dao/payment/impl/DefaultWeChatPaymentDAO.java]', To help improve SonarJava, please report this problem to SonarSource : see https://www.sonarqube.org/community/
java.lang.NullPointerException
	at org.eclipse.jdt.core.dom.MethodBinding.filterTypeAnnotations(MethodBinding.java:227)
	at org.eclipse.jdt.core.dom.MethodBinding.getAnnotations(MethodBinding.java:116)
	at org.sonar.java.model.JSymbol.metadata(JSymbol.java:320)
	at org.sonar.java.checks.UndocumentedApiCheck.visitMethod(UndocumentedApiCheck.java:122)
	at org.sonar.java.model.declaration.MethodTreeImpl.accept(MethodTreeImpl.java:222)
	at org.sonar.plugins.java.api.tree.BaseTreeVisitor.scan(BaseTreeVisitor.java:40)
	at org.sonar.plugins.java.api.tree.BaseTreeVisitor.scan(BaseTreeVisitor.java:34)
	at org.sonar.plugins.java.api.tree.BaseTreeVisitor.visitClass(BaseTreeVisitor.java:68)
	at org.sonar.java.checks.UndocumentedApiCheck.visitClass(UndocumentedApiCheck.java:109)
	at org.sonar.java.model.declaration.ClassTreeImpl.accept(ClassTreeImpl.java:206)
	at org.sonar.plugins.java.api.tree.BaseTreeVisitor.scan(BaseTreeVisitor.java:40)
	at org.sonar.plugins.java.api.tree.BaseTreeVisitor.scan(BaseTreeVisitor.java:34)
	at org.sonar.plugins.java.api.tree.BaseTreeVisitor.visitCompilationUnit(BaseTreeVisitor.java:52)
	at org.sonar.java.checks.UndocumentedApiCheck.visitCompilationUnit(UndocumentedApiCheck.java:97)
	at org.sonar.java.model.JavaTree$CompilationUnitTreeImpl.accept(JavaTree.java:200)
	at org.sonar.plugins.java.api.tree.BaseTreeVisitor.scan(BaseTreeVisitor.java:40)
	at org.sonar.java.checks.UndocumentedApiCheck.scanFile(UndocumentedApiCheck.java:91)
	at org.sonar.java.model.VisitorsBridge.lambda$runScanner$0(VisitorsBridge.java:168)
	at org.sonar.java.model.VisitorsBridge.runScanner(VisitorsBridge.java:173)
	at org.sonar.java.model.VisitorsBridge.runScanner(VisitorsBridge.java:168)
	at org.sonar.java.model.VisitorsBridge.visitFile(VisitorsBridge.java:148)
	at org.sonar.java.ast.JavaAstScanner.simpleScan(JavaAstScanner.java:99)
	at org.sonar.java.ast.JavaAstScanner.scan(JavaAstScanner.java:65)
	at org.sonar.java.JavaSquid.scanSources(JavaSquid.java:111)
	at org.sonar.java.JavaSquid.scan(JavaSquid.java:105)
	at org.sonar.plugins.java.JavaSquidSensor.execute(JavaSquidSensor.java:88)
	at org.sonarsource.sonarlint.core.analyzer.sensor.SensorsExecutor.executeSensor(SensorsExecutor.java:80)
	at org.sonarsource.sonarlint.core.analyzer.sensor.SensorsExecutor.execute(SensorsExecutor.java:71)
	at org.sonarsource.sonarlint.core.container.analysis.AnalysisContainer.doAfterStart(AnalysisContainer.java:134)
	at org.sonarsource.sonarlint.core.container.ComponentContainer.startComponents(ComponentContainer.java:125)
	at org.sonarsource.sonarlint.core.container.ComponentContainer.execute(ComponentContainer.java:110)
	at org.sonarsource.sonarlint.core.container.storage.StorageAnalyzer.analyze(StorageAnalyzer.java:75)
	at org.sonarsource.sonarlint.core.container.storage.StorageContainerHandler.analyze(StorageContainerHandler.java:81)
	at org.sonarsource.sonarlint.core.ConnectedSonarLintEngineImpl.lambda$analyze$0(ConnectedSonarLintEngineImpl.java:152)
	at org.sonarsource.sonarlint.core.ConnectedSonarLintEngineImpl.withReadLock(ConnectedSonarLintEngineImpl.java:344)
	at org.sonarsource.sonarlint.core.ConnectedSonarLintEngineImpl.withReadLock(ConnectedSonarLintEngineImpl.java:334)
	at org.sonarsource.sonarlint.core.ConnectedSonarLintEngineImpl.analyze(ConnectedSonarLintEngineImpl.java:149)
	at org.sonarlint.eclipse.core.internal.server.Server.runAnalysis(Server.java:306)
	at org.sonarlint.eclipse.core.internal.jobs.AnalyzeConnectedProjectJob.runAnalysis(AnalyzeConnectedProjectJob.java:72)
	at org.sonarlint.eclipse.core.internal.jobs.AnalyzeConnectedProjectJob.runAnalysis(AnalyzeConnectedProjectJob.java:1)
	at org.sonarlint.eclipse.core.internal.jobs.AbstractAnalyzeProjectJob.run(AbstractAnalyzeProjectJob.java:405)
	at org.sonarlint.eclipse.core.internal.jobs.AbstractAnalyzeProjectJob.runAnalysisAndUpdateMarkers(AbstractAnalyzeProjectJob.java:208)
	at org.sonarlint.eclipse.core.internal.jobs.AbstractAnalyzeProjectJob.doRun(AbstractAnalyzeProjectJob.java:170)
	at org.sonarlint.eclipse.core.internal.jobs.AbstractSonarProjectJob.run(AbstractSonarProjectJob.java:45)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)

Unable to run check class org.sonar.java.checks.spring.SpringIncompatibleTransactionalCheck - S2229 on file '[uri=file:/C:/dev/BSH/repositories/bsh-d2c-hybris-2/bin/ext-bsh/bshdao/src/de/arithnea/bsh/dao/payment/impl/DefaultWeChatPaymentDAO.java]', To help improve SonarJava, please report this problem to SonarSource : see https://www.sonarqube.org/community/
java.lang.NullPointerException
	at org.eclipse.jdt.core.dom.MethodBinding.filterTypeAnnotations(MethodBinding.java:227)
	at org.eclipse.jdt.core.dom.MethodBinding.getAnnotations(MethodBinding.java:116)
	at org.sonar.java.model.JSymbol.metadata(JSymbol.java:320)
	at org.sonar.java.checks.spring.SpringIncompatibleTransactionalCheck.getPropagation(SpringIncompatibleTransactionalCheck.java:157)
	at org.sonar.java.checks.spring.SpringIncompatibleTransactionalCheck.collectMethodsPropagation(SpringIncompatibleTransactionalCheck.java:143)
	at org.sonar.java.checks.spring.SpringIncompatibleTransactionalCheck.visitNode(SpringIncompatibleTransactionalCheck.java:88)
	at org.sonar.java.model.VisitorsBridge$IssuableSubsciptionVisitorsRunner.lambda$visit$6(VisitorsBridge.java:307)
	at org.sonar.java.model.VisitorsBridge$IssuableSubsciptionVisitorsRunner.lambda$forEach$9(VisitorsBridge.java:322)
	at org.sonar.java.model.VisitorsBridge.runScanner(VisitorsBridge.java:173)
	at org.sonar.java.model.VisitorsBridge.access$100(VisitorsBridge.java:68)
	at org.sonar.java.model.VisitorsBridge$IssuableSubsciptionVisitorsRunner.forEach(VisitorsBridge.java:322)
	at org.sonar.java.model.VisitorsBridge$IssuableSubsciptionVisitorsRunner.visit(VisitorsBridge.java:309)
	at org.sonar.java.model.VisitorsBridge$IssuableSubsciptionVisitorsRunner.visitChildren(VisitorsBridge.java:293)
	at org.sonar.java.model.VisitorsBridge$IssuableSubsciptionVisitorsRunner.visit(VisitorsBridge.java:313)
	at org.sonar.java.model.VisitorsBridge$IssuableSubsciptionVisitorsRunner.run(VisitorsBridge.java:284)
	at org.sonar.java.model.VisitorsBridge.visitFile(VisitorsBridge.java:155)
	at org.sonar.java.ast.JavaAstScanner.simpleScan(JavaAstScanner.java:99)
	at org.sonar.java.ast.JavaAstScanner.scan(JavaAstScanner.java:65)
	at org.sonar.java.JavaSquid.scanSources(JavaSquid.java:111)
	at org.sonar.java.JavaSquid.scan(JavaSquid.java:105)
	at org.sonar.plugins.java.JavaSquidSensor.execute(JavaSquidSensor.java:88)
	at org.sonarsource.sonarlint.core.analyzer.sensor.SensorsExecutor.executeSensor(SensorsExecutor.java:80)
	at org.sonarsource.sonarlint.core.analyzer.sensor.SensorsExecutor.execute(SensorsExecutor.java:71)
	at org.sonarsource.sonarlint.core.container.analysis.AnalysisContainer.doAfterStart(AnalysisContainer.java:134)
	at org.sonarsource.sonarlint.core.container.ComponentContainer.startComponents(ComponentContainer.java:125)
	at org.sonarsource.sonarlint.core.container.ComponentContainer.execute(ComponentContainer.java:110)
	at org.sonarsource.sonarlint.core.container.storage.StorageAnalyzer.analyze(StorageAnalyzer.java:75)
	at org.sonarsource.sonarlint.core.container.storage.StorageContainerHandler.analyze(StorageContainerHandler.java:81)
	at org.sonarsource.sonarlint.core.ConnectedSonarLintEngineImpl.lambda$analyze$0(ConnectedSonarLintEngineImpl.java:152)
	at org.sonarsource.sonarlint.core.ConnectedSonarLintEngineImpl.withReadLock(ConnectedSonarLintEngineImpl.java:344)
	at org.sonarsource.sonarlint.core.ConnectedSonarLintEngineImpl.withReadLock(ConnectedSonarLintEngineImpl.java:334)
	at org.sonarsource.sonarlint.core.ConnectedSonarLintEngineImpl.analyze(ConnectedSonarLintEngineImpl.java:149)
	at org.sonarlint.eclipse.core.internal.server.Server.runAnalysis(Server.java:306)
	at org.sonarlint.eclipse.core.internal.jobs.AnalyzeConnectedProjectJob.runAnalysis(AnalyzeConnectedProjectJob.java:72)
	at org.sonarlint.eclipse.core.internal.jobs.AnalyzeConnectedProjectJob.runAnalysis(AnalyzeConnectedProjectJob.java:1)
	at org.sonarlint.eclipse.core.internal.jobs.AbstractAnalyzeProjectJob.run(AbstractAnalyzeProjectJob.java:405)
	at org.sonarlint.eclipse.core.internal.jobs.AbstractAnalyzeProjectJob.runAnalysisAndUpdateMarkers(AbstractAnalyzeProjectJob.java:208)
	at org.sonarlint.eclipse.core.internal.jobs.AbstractAnalyzeProjectJob.doRun(AbstractAnalyzeProjectJob.java:170)
	at org.sonarlint.eclipse.core.internal.jobs.AbstractSonarProjectJob.run(AbstractSonarProjectJob.java:45)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)

1/1 source files have been analyzed
Java Main Files AST scan (done) | time=1351ms
Java Test Files AST scan
0 source files to be analyzed
Java Test Files AST scan (done) | time=0ms
0/0 source files have been analyzed
Found 0 issue(s)
OptionsAttachments
Drop files to attach, or browse.

```

---

<div class="post-metadata">

**Author:** ![Quentin](https://dub1.discourse-cdn.com/sonarsource/user_avatar/community.sonarsource.com/quentin/32/74716_2.png) [@Quentin](https://community.sonarsource.com/u/Quentin)\
**Post date:** [July 20, 2020, 3:53pm UTC](https://community.sonarsource.com/t/npe-in-java-s2229-springincompatibletransactionalcheck/28196/9 "2020-07-20T15:53:59Z")

</div>

> Maybe there is a newer version of the Sonar Java Plugin and it can be installed?

We don’t know yet what is happening, I cannot say if it will change anything.

Thanks for the complete logs, however, I’m afraid the stack-trace is not enough to understand what is happening there. Ideally, we could use a reproducer (a minimal piece of code raising the issue).  
It seems to be related to annotation, I believe it’s a good starting point.
