Eclipse plugin throws NPE when using annotation to mark DSO roots
-----------------------------------------------------------------

                 Key: CDV-887
                 URL: https://jira.terracotta.org/jira//browse/CDV-887
             Project: Community Development
          Issue Type: Bug
          Components: Eclipse Plugin
    Affects Versions: 2.6.4
            Reporter: Howard Mak
            Assignee: Issue Review Board
         Attachments: Shared.java, tc-config.xml

Eclipse plugin throws NPE when using annotation to mark DSO roots

Reproduce case:
---------------

1.      Compile + run Eclipse project using attached sources

2.      Output on successive runs will be:

                counter is: 1
                counter is: 2
                ...

        Indicates that Shared.s_instance is indeed a DSO root

3.      Close Shared.java tab

4.      Open Shared.java

        Error logs will show:

                Error
                Exception occurred in listener of Java element change 
notification

                java.lang.NullPointerException
                        at 
org.terracotta.dso.ClassInfoFactory.getClassInfo(ClassInfoFactory.java:40)
                        at 
org.terracotta.dso.JavaModelFieldInfo.getType(JavaModelFieldInfo.java:32)
                        at 
com.tc.aspectwerkz.expression.ExpressionVisitor.visit(ExpressionVisitor.java:488)
                        at 
com.tc.aspectwerkz.expression.ast.ASTFieldPattern.jjtAccept(ASTFieldPattern.java:28)
                        at 
com.tc.aspectwerkz.expression.ExpressionVisitor.visitAnnotatedNode(ExpressionVisitor.java:1016)
                        at 
com.tc.aspectwerkz.expression.ExpressionVisitor.visit(ExpressionVisitor.java:171)
                        at 
com.tc.aspectwerkz.expression.ast.ASTGet.jjtAccept(ASTGet.java:22)
                        at 
com.tc.aspectwerkz.expression.ExpressionVisitor.visit(ExpressionVisitor.java:100)
                        at 
com.tc.aspectwerkz.expression.ast.ASTExpression.jjtAccept(ASTExpression.java:22)
                        at 
com.tc.aspectwerkz.expression.ExpressionVisitor.visit(ExpressionVisitor.java:88)
                        at 
com.tc.aspectwerkz.expression.ExpressionVisitor.match(ExpressionVisitor.java:74)
                        at 
org.terracotta.dso.PatternHelper.matchesField(PatternHelper.java:72)
                        at 
org.terracotta.dso.ConfigurationHelper.isRoot(ConfigurationHelper.java:1234)
                        at 
org.terracotta.dso.ConfigurationHelper.isRoot(ConfigurationHelper.java:1248)
                        at 
org.terracotta.dso.CompilationUnitVisitor.visit(CompilationUnitVisitor.java:435)
                        at 
org.eclipse.jdt.core.dom.VariableDeclarationFragment.accept0(VariableDeclarationFragment.java:220)
                        at 
org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2476)
                        at 
org.eclipse.jdt.core.dom.ASTNode.acceptChildren(ASTNode.java:2546)
                        at 
org.eclipse.jdt.core.dom.FieldDeclaration.accept0(FieldDeclaration.java:286)
                        at 
org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2476)
                        at 
org.eclipse.jdt.core.dom.ASTNode.acceptChildren(ASTNode.java:2546)
                        at 
org.eclipse.jdt.core.dom.TypeDeclaration.accept0(TypeDeclaration.java:483)
                        at 
org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2476)
                        at 
org.eclipse.jdt.core.dom.ASTNode.acceptChildren(ASTNode.java:2546)
                        at 
org.eclipse.jdt.core.dom.CompilationUnit.accept0(CompilationUnit.java:213)
                        at 
org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2476)
                        at 
org.terracotta.dso.CompilationUnitVisitor$InspectionAction.run(CompilationUnitVisitor.java:191)
                        at 
org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1797)
                        at 
org.terracotta.dso.CompilationUnitVisitor.inspect(CompilationUnitVisitor.java:167)
                        at 
org.terracotta.dso.TcPlugin.inspect(TcPlugin.java:1411)
                        at 
org.terracotta.dso.ElementChangedListener.elementChanged(ElementChangedListener.java:51)
                        at 
org.eclipse.jdt.internal.core.DeltaProcessor$3.run(DeltaProcessor.java:1552)
                        at 
org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
                        at 
org.eclipse.jdt.internal.core.DeltaProcessor.notifyListeners(DeltaProcessor.java:1542)
                        at 
org.eclipse.jdt.internal.core.DeltaProcessor.fireReconcileDelta(DeltaProcessor.java:1395)
                        at 
org.eclipse.jdt.internal.core.DeltaProcessor.fire(DeltaProcessor.java:1350)
                        at 
org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:761)
                        at 
org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:780)
                        at 
org.eclipse.jdt.internal.core.CompilationUnit.reconcile(CompilationUnit.java:1169)
                        at 
org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy$1.run(JavaReconcilingStrategy.java:101)
                        at 
org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
                        at 
org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:82)
                        at 
org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.initialReconcile(JavaReconcilingStrategy.java:176)
                        at 
org.eclipse.jdt.internal.ui.text.CompositeReconcilingStrategy.initialReconcile(CompositeReconcilingStrategy.java:114)
                        at 
org.eclipse.jdt.internal.ui.text.JavaCompositeReconcilingStrategy.initialReconcile(JavaCompositeReconcilingStrategy.java:122)
                        at 
org.eclipse.jface.text.reconciler.MonoReconciler.initialProcess(MonoReconciler.java:103)
                        at 
org.eclipse.jdt.internal.ui.text.JavaReconciler.initialProcess(JavaReconciler.java:362)
                        at 
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:170)
        and
                Error
                Problems occurred when invoking code from plug-in: 
"org.eclipse.jdt.core".

                java.lang.NullPointerException
                        at 
org.terracotta.dso.ClassInfoFactory.getClassInfo(ClassInfoFactory.java:40)
                        at 
org.terracotta.dso.JavaModelFieldInfo.getType(JavaModelFieldInfo.java:32)
                        at 
com.tc.aspectwerkz.expression.ExpressionVisitor.visit(ExpressionVisitor.java:488)
                        at 
com.tc.aspectwerkz.expression.ast.ASTFieldPattern.jjtAccept(ASTFieldPattern.java:28)
                        at 
com.tc.aspectwerkz.expression.ExpressionVisitor.visitAnnotatedNode(ExpressionVisitor.java:1016)
                        at 
com.tc.aspectwerkz.expression.ExpressionVisitor.visit(ExpressionVisitor.java:171)
                        at 
com.tc.aspectwerkz.expression.ast.ASTGet.jjtAccept(ASTGet.java:22)
                        at 
com.tc.aspectwerkz.expression.ExpressionVisitor.visit(ExpressionVisitor.java:100)
                        at 
com.tc.aspectwerkz.expression.ast.ASTExpression.jjtAccept(ASTExpression.java:22)
                        at 
com.tc.aspectwerkz.expression.ExpressionVisitor.visit(ExpressionVisitor.java:88)
                        at 
com.tc.aspectwerkz.expression.ExpressionVisitor.match(ExpressionVisitor.java:74)
                        at 
org.terracotta.dso.PatternHelper.matchesField(PatternHelper.java:72)
                        at 
org.terracotta.dso.ConfigurationHelper.isRoot(ConfigurationHelper.java:1234)
                        at 
org.terracotta.dso.ConfigurationHelper.isRoot(ConfigurationHelper.java:1248)
                        at 
org.terracotta.dso.CompilationUnitVisitor.visit(CompilationUnitVisitor.java:435)
                        at 
org.eclipse.jdt.core.dom.VariableDeclarationFragment.accept0(VariableDeclarationFragment.java:220)
                        at 
org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2476)
                        at 
org.eclipse.jdt.core.dom.ASTNode.acceptChildren(ASTNode.java:2546)
                        at 
org.eclipse.jdt.core.dom.FieldDeclaration.accept0(FieldDeclaration.java:286)
                        at 
org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2476)
                        at 
org.eclipse.jdt.core.dom.ASTNode.acceptChildren(ASTNode.java:2546)
                        at 
org.eclipse.jdt.core.dom.TypeDeclaration.accept0(TypeDeclaration.java:483)
                        at 
org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2476)
                        at 
org.eclipse.jdt.core.dom.ASTNode.acceptChildren(ASTNode.java:2546)
                        at 
org.eclipse.jdt.core.dom.CompilationUnit.accept0(CompilationUnit.java:213)
                        at 
org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2476)
                        at 
org.terracotta.dso.CompilationUnitVisitor$InspectionAction.run(CompilationUnitVisitor.java:191)
                        at 
org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1797)
                        at 
org.terracotta.dso.CompilationUnitVisitor.inspect(CompilationUnitVisitor.java:167)
                        at 
org.terracotta.dso.TcPlugin.inspect(TcPlugin.java:1411)
                        at 
org.terracotta.dso.ElementChangedListener.elementChanged(ElementChangedListener.java:51)
                        at 
org.eclipse.jdt.internal.core.DeltaProcessor$3.run(DeltaProcessor.java:1552)
                        at 
org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
                        at 
org.eclipse.jdt.internal.core.DeltaProcessor.notifyListeners(DeltaProcessor.java:1542)
                        at 
org.eclipse.jdt.internal.core.DeltaProcessor.fireReconcileDelta(DeltaProcessor.java:1395)
                        at 
org.eclipse.jdt.internal.core.DeltaProcessor.fire(DeltaProcessor.java:1350)
                        at 
org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:761)
                        at 
org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:780)
                        at 
org.eclipse.jdt.internal.core.CompilationUnit.reconcile(CompilationUnit.java:1169)
                        at 
org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy$1.run(JavaReconcilingStrategy.java:101)
                        at 
org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
                        at 
org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:82)
                        at 
org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.initialReconcile(JavaReconcilingStrategy.java:176)
                        at 
org.eclipse.jdt.internal.ui.text.CompositeReconcilingStrategy.initialReconcile(CompositeReconcilingStrategy.java:114)
                        at 
org.eclipse.jdt.internal.ui.text.JavaCompositeReconcilingStrategy.initialReconcile(JavaCompositeReconcilingStrategy.java:122)
                        at 
org.eclipse.jface.text.reconciler.MonoReconciler.initialProcess(MonoReconciler.java:103)
                        at 
org.eclipse.jdt.internal.ui.text.JavaReconciler.initialProcess(JavaReconciler.java:362)
                        at 
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:170)

Also, am not sure how, but after some series of interactions w/ Eclipse, 
Eclipse will display a "NullPointerException" error in a error/warning dialog 
box.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://jira.terracotta.org/jira//secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        
_______________________________________________
tc-dev mailing list
tc-dev@lists.terracotta.org
http://lists.terracotta.org/mailman/listinfo/tc-dev

Reply via email to