Skip to content

NPE from OpenRewrite Java Parser - Cannot read field "info" because "env" is null #952

Closed
@BoykoAlex

Description

@BoykoAlex

Occurs sometimes. Observed while Clean-Biuld is in progress or STS starts up. Perhaps has to do something with parsing projects in parallel on different threads.

09:13:59.113 [Project-Reconciler-12] ERROR o.s.i.v.c.rewrite.java.ORAstUtils - 
java.lang.NullPointerException: Cannot read field "info" because "env" is null
	at com.sun.tools.javac.comp.Attr.attribType(Attr.java:404)
	at org.openrewrite.java.isolated.ReloadableJava17JavadocVisitor.visitReference(ReloadableJava17JavadocVisitor.java:578)
	at org.openrewrite.java.isolated.ReloadableJava17JavadocVisitor.visitLink(ReloadableJava17JavadocVisitor.java:480)
	at org.openrewrite.java.isolated.ReloadableJava17JavadocVisitor.visitLink(ReloadableJava17JavadocVisitor.java:45)
	at com.sun.tools.javac.tree.DCTree$DCLink.accept(DCTree.java:538)
	at com.sun.source.util.DocTreeScanner.scan(DocTreeScanner.java:84)
	at org.openrewrite.java.isolated.ReloadableJava17JavadocVisitor.visitDocComment(ReloadableJava17JavadocVisitor.java:291)
	at org.openrewrite.java.isolated.ReloadableJava17JavadocVisitor.visitDocComment(ReloadableJava17JavadocVisitor.java:45)
	at com.sun.tools.javac.tree.DCTree$DCDocComment.accept(DCTree.java:138)
	at com.sun.source.util.DocTreeScanner.scan(DocTreeScanner.java:84)
	at org.openrewrite.java.isolated.ReloadableJava17ParserVisitor.formatWithCommentTree(ReloadableJava17ParserVisitor.java:2055)
	at org.openrewrite.java.isolated.ReloadableJava17ParserVisitor.convert(ReloadableJava17ParserVisitor.java:1554)
	at org.openrewrite.java.isolated.ReloadableJava17ParserVisitor.convert(ReloadableJava17ParserVisitor.java:1583)
	at org.openrewrite.java.isolated.ReloadableJava17ParserVisitor.convertStatements(ReloadableJava17ParserVisitor.java:1693)
	at org.openrewrite.java.isolated.ReloadableJava17ParserVisitor.convertStatements(ReloadableJava17ParserVisitor.java:1675)
	at org.openrewrite.java.isolated.ReloadableJava17ParserVisitor.visitClass(ReloadableJava17ParserVisitor.java:518)
	at org.openrewrite.java.isolated.ReloadableJava17ParserVisitor.visitClass(ReloadableJava17ParserVisitor.java:72)
	at com.sun.tools.javac.tree.JCTree$JCClassDecl.accept(JCTree.java:860)
	at com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:86)
	at org.openrewrite.java.isolated.ReloadableJava17ParserVisitor.convert(ReloadableJava17ParserVisitor.java:1554)
	at org.openrewrite.java.isolated.ReloadableJava17ParserVisitor.convertAll(ReloadableJava17ParserVisitor.java:1607)
	at org.openrewrite.java.isolated.ReloadableJava17ParserVisitor.visitCompilationUnit(ReloadableJava17ParserVisitor.java:565)
	at org.openrewrite.java.isolated.ReloadableJava17ParserVisitor.visitCompilationUnit(ReloadableJava17ParserVisitor.java:72)
	at com.sun.tools.javac.tree.JCTree$JCCompilationUnit.accept(JCTree.java:614)
	at com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:86)
	at org.openrewrite.java.isolated.ReloadableJava17Parser.lambda$parseInputs$0(ReloadableJava17Parser.java:178)
	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
	at java.base/java.util.Iterator.forEachRemaining(Iterator.java:133)
	at java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1845)
	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
	at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
	at org.openrewrite.java.isolated.ReloadableJava17Parser.parseInputs(ReloadableJava17Parser.java:200)
	at org.openrewrite.java.Java17Parser.parseInputs(Java17Parser.java:38)
	at org.springframework.ide.vscode.commons.rewrite.java.ORAstUtils.parseInputs(ORAstUtils.java:294)
	at org.springframework.ide.vscode.boot.java.rewrite.RewriteReconciler.doReconcile(RewriteReconciler.java:258)
	at org.springframework.ide.vscode.boot.java.rewrite.RewriteReconciler.reconcile(RewriteReconciler.java:163)
	at org.springframework.ide.vscode.boot.java.handlers.BootJavaReconcileEngine.reconcile(BootJavaReconcileEngine.java:147)
	at org.springframework.ide.vscode.boot.app.BootLanguageServerInitializer.lambda$validateProject$8(BootLanguageServerInitializer.java:228)
	at java.base/java.util.Optional.ifPresent(Optional.java:178)
	at org.springframework.ide.vscode.boot.app.BootLanguageServerInitializer.lambda$validateProject$9(BootLanguageServerInitializer.java:227)
	at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onNext(MonoPeekTerminal.java:171)
	at reactor.core.publisher.FluxOnAssembly$OnAssemblySubscriber.onNext(FluxOnAssembly.java:539)
	at reactor.core.publisher.MonoPublishOn$PublishOnSubscriber.run(MonoPublishOn.java:181)
	at reactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:68)
	at reactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:28)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	at java.base/java.lang.Thread.run(Thread.java:833)

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions