-
Notifications
You must be signed in to change notification settings - Fork 32
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Null Pointer Exception when running on Anonymous Subclass #622
Comments
What version of OpenJML? Also, is that the full command-line? With -cp at the end with no argument?
- David
… On Jun 27, 2018, at 3:47 PM, ColmBhandal ***@***.***> wrote:
I'm getting an NPE when running Open JML on directories within my project that contain other directories. If I run this command from my project's main directory:
java -jar C:\OpenJML\openjml.jar -dir ./ -cp
I get the below NPE whenever contains other directories. I debugged it a little and noticed that in JmlTreeCopier.java, during the method visitJmlMethodDecl(), the value of that.methodSpecsCombined is null, which seems to be the null reference causing the exception.
Internal JML bug - please report. BuildOpenJML-0.8.35-20180614
java.lang.NullPointerException
at org.jmlspecs.openjml.JmlTreeCopier.visitJmlMethodDecl(JmlTreeCopier.java:131)
at org.jmlspecs.openjml.JmlTreeCopier.visitJmlMethodDecl(JmlTreeCopier.java:1)
at org.jmlspecs.openjml.JmlTree$JmlMethodDecl.accept(JmlTree.java:1165)
at com.sun.tools.javac.tree.TreeCopier.copy(TreeCopier.java:58)
at org.jmlspecs.openjml.JmlTreeCopier.copy(JmlTreeCopier.java:88)
at org.jmlspecs.openjml.JmlTreeCopier.copy(JmlTreeCopier.java:1)
at com.sun.tools.javac.tree.TreeCopier.visitClass(TreeCopier.java:162)
at org.jmlspecs.openjml.JmlTreeCopier.visitJmlClassDecl(JmlTreeCopier.java:117)
at org.jmlspecs.openjml.JmlTreeCopier.visitJmlClassDecl(JmlTreeCopier.java:1)
at org.jmlspecs.openjml.JmlTree$JmlClassDecl.accept(JmlTree.java:1081)
at com.sun.tools.javac.tree.TreeCopier.copy(TreeCopier.java:58)
at com.sun.tools.javac.tree.TreeCopier.visitNewClass(TreeCopier.java:293)
at org.jmlspecs.openjml.JmlTreeCopier.visitNewClass(JmlTreeCopier.java:774)
at org.jmlspecs.openjml.JmlTreeCopier.visitNewClass(JmlTreeCopier.java:1)
at com.sun.tools.javac.tree.TreeCopier.visitNewClass(TreeCopier.java:1)
at com.sun.tools.javac.tree.JCTree$JCNewClass.accept(JCTree.java:1532)
at com.sun.tools.javac.tree.TreeCopier.copy(TreeCopier.java:58)
at org.jmlspecs.openjml.JmlTreeCopier.copy(JmlTreeCopier.java:88)
at org.jmlspecs.openjml.JmlTreeCopier.copy(JmlTreeCopier.java:1)
at com.sun.tools.javac.tree.TreeCopier.visitMethodInvocation(TreeCopier.java:269)
at org.jmlspecs.openjml.JmlTreeCopier.visitMethodInvocation(JmlTreeCopier.java:760)
at org.jmlspecs.openjml.JmlTreeCopier.visitMethodInvocation(JmlTreeCopier.java:1)
at com.sun.tools.javac.tree.TreeCopier.visitMethodInvocation(TreeCopier.java:1)
at com.sun.tools.javac.tree.JCTree$JCMethodInvocation.accept(JCTree.java:1477)
at com.sun.tools.javac.tree.TreeCopier.copy(TreeCopier.java:58)
at com.sun.tools.javac.tree.TreeCopier.copy(TreeCopier.java:51)
at com.sun.tools.javac.comp.DeferredAttr.attribSpeculative(DeferredAttr.java:368)
at com.sun.tools.javac.comp.DeferredAttr$1.complete(DeferredAttr.java:280)
at com.sun.tools.javac.comp.DeferredAttr$DeferredType.check(DeferredAttr.java:246)
at com.sun.tools.javac.comp.DeferredAttr$DeferredType.check(DeferredAttr.java:233)
at com.sun.tools.javac.comp.Resolve$MethodResultInfo.check(Resolve.java:1009)
at com.sun.tools.javac.comp.Resolve$4.checkArg(Resolve.java:836)
at com.sun.tools.javac.comp.Resolve$AbstractMethodCheck.argumentsAcceptable(Resolve.java:736)
at com.sun.tools.javac.comp.Resolve$4.argumentsAcceptable(Resolve.java:845)
at com.sun.tools.javac.comp.Infer.instantiateMethod(Infer.java:162)
at com.sun.tools.javac.comp.Resolve.rawInstantiate(Resolve.java:568)
at com.sun.tools.javac.comp.Resolve.selectBest(Resolve.java:1450)
at com.sun.tools.javac.comp.JmlResolve.findMethodInScope(JmlResolve.java:281)
at com.sun.tools.javac.comp.Resolve.findMethod(Resolve.java:1708)
at com.sun.tools.javac.comp.Resolve.findMethod(Resolve.java:1681)
at com.sun.tools.javac.comp.Resolve$9.doLookup(Resolve.java:2452)
at com.sun.tools.javac.comp.Resolve$BasicLookupHelper.lookup(Resolve.java:3113)
at com.sun.tools.javac.comp.Resolve.lookupMethod(Resolve.java:3364)
at com.sun.tools.javac.comp.Resolve.resolveQualifiedMethod(Resolve.java:2449)
at com.sun.tools.javac.comp.Resolve.resolveQualifiedMethod(Resolve.java:2443)
at com.sun.tools.javac.comp.Attr.selectSym(Attr.java:3407)
at com.sun.tools.javac.comp.Attr.visitSelect(Attr.java:3289)
at com.sun.tools.javac.comp.JmlAttr.visitSelect(JmlAttr.java:5059)
at com.sun.tools.javac.tree.JCTree$JCFieldAccess.accept(JCTree.java:1897)
at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
at com.sun.tools.javac.comp.Attr.visitApply(Attr.java:1826)
at com.sun.tools.javac.comp.JmlAttr.visitApply(JmlAttr.java:3586)
at com.sun.tools.javac.tree.JCTree$JCMethodInvocation.accept(JCTree.java:1465)
at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
at com.sun.tools.javac.comp.Attr.visitReturn(Attr.java:1687)
at com.sun.tools.javac.tree.JCTree$JCReturn.accept(JCTree.java:1384)
at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:645)
at com.sun.tools.javac.comp.JmlAttr.attribStat(JmlAttr.java:509)
at com.sun.tools.javac.comp.Attr.attribStats(Attr.java:661)
at com.sun.tools.javac.comp.Attr.visitBlock(Attr.java:1125)
at com.sun.tools.javac.comp.JmlAttr.visitBlock(JmlAttr.java:629)
at com.sun.tools.javac.comp.JmlAttr.visitJmlBlock(JmlAttr.java:3935)
at org.jmlspecs.openjml.JmlTree$JmlBlock.accept(JmlTree.java:1224)
at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:645)
at com.sun.tools.javac.comp.JmlAttr.attribStat(JmlAttr.java:509)
at com.sun.tools.javac.comp.Attr.visitMethodDef(Attr.java:1013)
at com.sun.tools.javac.comp.JmlAttr.visitMethodDef(JmlAttr.java:1007)
at com.sun.tools.javac.comp.JmlAttr.visitJmlMethodDecl(JmlAttr.java:5960)
at org.jmlspecs.openjml.JmlTree$JmlMethodDecl.accept(JmlTree.java:1155)
at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:645)
at com.sun.tools.javac.comp.JmlAttr.attribStat(JmlAttr.java:509)
at com.sun.tools.javac.comp.Attr.attribClassBody(Attr.java:4376)
at com.sun.tools.javac.comp.JmlAttr.attribClassBody(JmlAttr.java:492)
at com.sun.tools.javac.comp.Attr.attribClass(Attr.java:4284)
at com.sun.tools.javac.comp.JmlAttr.attribClass(JmlAttr.java:370)
at com.sun.tools.javac.comp.Attr.attribClass(Attr.java:4213)
at com.sun.tools.javac.comp.Attr.visitClassDef(Attr.java:870)
at com.sun.tools.javac.comp.JmlAttr.visitClassDef(JmlAttr.java:5951)
at com.sun.tools.javac.comp.JmlAttr.visitJmlClassDecl(JmlAttr.java:5937)
at org.jmlspecs.openjml.JmlTree$JmlClassDecl.accept(JmlTree.java:1071)
at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:645)
at com.sun.tools.javac.comp.JmlAttr.attribStat(JmlAttr.java:509)
at com.sun.tools.javac.comp.Attr.visitNewClass(Attr.java:2146)
at com.sun.tools.javac.comp.JmlAttr.visitNewClass(JmlAttr.java:891)
at com.sun.tools.javac.tree.JCTree$JCNewClass.accept(JCTree.java:1516)
at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
at com.sun.tools.javac.comp.Attr.visitReturn(Attr.java:1687)
at com.sun.tools.javac.tree.JCTree$JCReturn.accept(JCTree.java:1384)
at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:645)
at com.sun.tools.javac.comp.JmlAttr.attribStat(JmlAttr.java:509)
at com.sun.tools.javac.comp.Attr.attribStats(Attr.java:661)
at com.sun.tools.javac.comp.Attr.visitBlock(Attr.java:1125)
at com.sun.tools.javac.comp.JmlAttr.visitBlock(JmlAttr.java:629)
at com.sun.tools.javac.comp.JmlAttr.visitJmlBlock(JmlAttr.java:3935)
at org.jmlspecs.openjml.JmlTree$JmlBlock.accept(JmlTree.java:1224)
at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:645)
at com.sun.tools.javac.comp.JmlAttr.attribStat(JmlAttr.java:509)
at com.sun.tools.javac.comp.Attr.visitMethodDef(Attr.java:1013)
at com.sun.tools.javac.comp.JmlAttr.visitMethodDef(JmlAttr.java:1007)
at com.sun.tools.javac.comp.JmlAttr.visitJmlMethodDecl(JmlAttr.java:5960)
at org.jmlspecs.openjml.JmlTree$JmlMethodDecl.accept(JmlTree.java:1155)
at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:645)
at com.sun.tools.javac.comp.JmlAttr.attribStat(JmlAttr.java:509)
at com.sun.tools.javac.comp.Attr.attribClassBody(Attr.java:4376)
at com.sun.tools.javac.comp.JmlAttr.attribClassBody(JmlAttr.java:492)
at com.sun.tools.javac.comp.Attr.attribClass(Attr.java:4284)
at com.sun.tools.javac.comp.JmlAttr.attribClass(JmlAttr.java:370)
at com.sun.tools.javac.comp.JmlAttr.completeTodo(JmlAttr.java:448)
at com.sun.tools.javac.comp.JmlAttr.attribClass(JmlAttr.java:414)
at com.sun.tools.javac.comp.Attr.attribClass(Attr.java:4213)
at com.sun.tools.javac.comp.Attr.attrib(Attr.java:4188)
at com.sun.tools.javac.main.JavaCompiler.attribute(JavaCompiler.java:1258)
at org.jmlspecs.openjml.JmlCompiler.attribute(JmlCompiler.java:471)
at com.sun.tools.javac.main.JavaCompiler.compile2(JavaCompiler.java:898)
at org.jmlspecs.openjml.JmlCompiler.compile2(JmlCompiler.java:694)
at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:867)
at com.sun.tools.javac.main.Main.compile(Main.java:553)
at com.sun.tools.javac.main.Main.compile(Main.java:410)
at org.jmlspecs.openjml.Main.compile(Main.java:577)
at com.sun.tools.javac.main.Main.compile(Main.java:399)
at com.sun.tools.javac.main.Main.compile(Main.java:390)
at org.jmlspecs.openjml.Main.execute(Main.java:413)
at org.jmlspecs.openjml.Main.execute(Main.java:371)
at org.jmlspecs.openjml.Main.execute(Main.java:358)
at org.jmlspecs.openjml.Main.main(Main.java:330)
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub <#622>, or mute the thread <https://github.com/notifications/unsubscribe-auth/AFExwC7rpCGTa9_0BescclA7zS34cX9cks5uA4z9gaJpZM4U5v8d>.
|
Hi David,
Is there an easy way to find the version from within the OpenJML folder? I
can't seem to find any version.txt file, or similar. I believe I just
downloaded the latest version from master branch a few weeks ago. In the
bug, the following is reported:
BuildOpenJML-0.8.35-20180614
Does that give the version?
As for the command, yes, I did actually get it to fail with that command,
from the cmd line, but originally, I was running this from IntelliJ with
this JAR run configuration:
- *Path to JAR:* C:\OpenJML\openjml.jar
- *Program arguments:* -dir ./com/guidewire/tools/profiler -cp
C:\ProfilerAnalysisTool\ij-profiler-plugin\out\artifacts\ij_profiler_plugin_jar\ij-profiler-plugin.jar
-esc -specspath jml-specs -no-internalspecs
- *Working directory:*
C:\ProfilerAnalysisTool\ij-profiler-plugin\src\main\java
- *JRE:* C:\Program Files\Java\jdk1.8.0_162\jre
Thanks,
Colm
…On 27 June 2018 at 16:01, David Cok ***@***.***> wrote:
What version of OpenJML? Also, is that the full command-line? With -cp at
the end with no argument?
- David
> On Jun 27, 2018, at 3:47 PM, ColmBhandal ***@***.***>
wrote:
>
> I'm getting an NPE when running Open JML on directories within my
project that contain other directories. If I run this command from my
project's main directory:
>
> java -jar C:\OpenJML\openjml.jar -dir ./ -cp
>
> I get the below NPE whenever contains other directories. I debugged it a
little and noticed that in JmlTreeCopier.java, during the method
visitJmlMethodDecl(), the value of that.methodSpecsCombined is null, which
seems to be the null reference causing the exception.
>
> Internal JML bug - please report. BuildOpenJML-0.8.35-20180614
> java.lang.NullPointerException
> at org.jmlspecs.openjml.JmlTreeCopier.visitJmlMethodDecl(
JmlTreeCopier.java:131)
> at org.jmlspecs.openjml.JmlTreeCopier.visitJmlMethodDecl(
JmlTreeCopier.java:1)
> at org.jmlspecs.openjml.JmlTree$JmlMethodDecl.accept(JmlTree.java:1165)
> at com.sun.tools.javac.tree.TreeCopier.copy(TreeCopier.java:58)
> at org.jmlspecs.openjml.JmlTreeCopier.copy(JmlTreeCopier.java:88)
> at org.jmlspecs.openjml.JmlTreeCopier.copy(JmlTreeCopier.java:1)
> at com.sun.tools.javac.tree.TreeCopier.visitClass(TreeCopier.java:162)
> at org.jmlspecs.openjml.JmlTreeCopier.visitJmlClassDecl(
JmlTreeCopier.java:117)
> at org.jmlspecs.openjml.JmlTreeCopier.visitJmlClassDecl(
JmlTreeCopier.java:1)
> at org.jmlspecs.openjml.JmlTree$JmlClassDecl.accept(JmlTree.java:1081)
> at com.sun.tools.javac.tree.TreeCopier.copy(TreeCopier.java:58)
> at com.sun.tools.javac.tree.TreeCopier.visitNewClass(
TreeCopier.java:293)
> at org.jmlspecs.openjml.JmlTreeCopier.visitNewClass(
JmlTreeCopier.java:774)
> at org.jmlspecs.openjml.JmlTreeCopier.visitNewClass(
JmlTreeCopier.java:1)
> at com.sun.tools.javac.tree.TreeCopier.visitNewClass(TreeCopier.java:1)
> at com.sun.tools.javac.tree.JCTree$JCNewClass.accept(JCTree.java:1532)
> at com.sun.tools.javac.tree.TreeCopier.copy(TreeCopier.java:58)
> at org.jmlspecs.openjml.JmlTreeCopier.copy(JmlTreeCopier.java:88)
> at org.jmlspecs.openjml.JmlTreeCopier.copy(JmlTreeCopier.java:1)
> at com.sun.tools.javac.tree.TreeCopier.visitMethodInvocation(
TreeCopier.java:269)
> at org.jmlspecs.openjml.JmlTreeCopier.visitMethodInvocation(
JmlTreeCopier.java:760)
> at org.jmlspecs.openjml.JmlTreeCopier.visitMethodInvocation(
JmlTreeCopier.java:1)
> at com.sun.tools.javac.tree.TreeCopier.visitMethodInvocation(
TreeCopier.java:1)
> at com.sun.tools.javac.tree.JCTree$JCMethodInvocation.
accept(JCTree.java:1477)
> at com.sun.tools.javac.tree.TreeCopier.copy(TreeCopier.java:58)
> at com.sun.tools.javac.tree.TreeCopier.copy(TreeCopier.java:51)
> at com.sun.tools.javac.comp.DeferredAttr.attribSpeculative(
DeferredAttr.java:368)
> at com.sun.tools.javac.comp.DeferredAttr$1.complete(
DeferredAttr.java:280)
> at com.sun.tools.javac.comp.DeferredAttr$DeferredType.
check(DeferredAttr.java:246)
> at com.sun.tools.javac.comp.DeferredAttr$DeferredType.
check(DeferredAttr.java:233)
> at com.sun.tools.javac.comp.Resolve$MethodResultInfo.
check(Resolve.java:1009)
> at com.sun.tools.javac.comp.Resolve$4.checkArg(Resolve.java:836)
> at com.sun.tools.javac.comp.Resolve$AbstractMethodCheck.
argumentsAcceptable(Resolve.java:736)
> at com.sun.tools.javac.comp.Resolve$4.argumentsAcceptable(
Resolve.java:845)
> at com.sun.tools.javac.comp.Infer.instantiateMethod(Infer.java:162)
> at com.sun.tools.javac.comp.Resolve.rawInstantiate(Resolve.java:568)
> at com.sun.tools.javac.comp.Resolve.selectBest(Resolve.java:1450)
> at com.sun.tools.javac.comp.JmlResolve.findMethodInScope(
JmlResolve.java:281)
> at com.sun.tools.javac.comp.Resolve.findMethod(Resolve.java:1708)
> at com.sun.tools.javac.comp.Resolve.findMethod(Resolve.java:1681)
> at com.sun.tools.javac.comp.Resolve$9.doLookup(Resolve.java:2452)
> at com.sun.tools.javac.comp.Resolve$BasicLookupHelper.
lookup(Resolve.java:3113)
> at com.sun.tools.javac.comp.Resolve.lookupMethod(Resolve.java:3364)
> at com.sun.tools.javac.comp.Resolve.resolveQualifiedMethod(
Resolve.java:2449)
> at com.sun.tools.javac.comp.Resolve.resolveQualifiedMethod(
Resolve.java:2443)
> at com.sun.tools.javac.comp.Attr.selectSym(Attr.java:3407)
> at com.sun.tools.javac.comp.Attr.visitSelect(Attr.java:3289)
> at com.sun.tools.javac.comp.JmlAttr.visitSelect(JmlAttr.java:5059)
> at com.sun.tools.javac.tree.JCTree$JCFieldAccess.accept(
JCTree.java:1897)
> at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
> at com.sun.tools.javac.comp.Attr.visitApply(Attr.java:1826)
> at com.sun.tools.javac.comp.JmlAttr.visitApply(JmlAttr.java:3586)
> at com.sun.tools.javac.tree.JCTree$JCMethodInvocation.
accept(JCTree.java:1465)
> at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
> at com.sun.tools.javac.comp.Attr.visitReturn(Attr.java:1687)
> at com.sun.tools.javac.tree.JCTree$JCReturn.accept(JCTree.java:1384)
> at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
> at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:645)
> at com.sun.tools.javac.comp.JmlAttr.attribStat(JmlAttr.java:509)
> at com.sun.tools.javac.comp.Attr.attribStats(Attr.java:661)
> at com.sun.tools.javac.comp.Attr.visitBlock(Attr.java:1125)
> at com.sun.tools.javac.comp.JmlAttr.visitBlock(JmlAttr.java:629)
> at com.sun.tools.javac.comp.JmlAttr.visitJmlBlock(JmlAttr.java:3935)
> at org.jmlspecs.openjml.JmlTree$JmlBlock.accept(JmlTree.java:1224)
> at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
> at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:645)
> at com.sun.tools.javac.comp.JmlAttr.attribStat(JmlAttr.java:509)
> at com.sun.tools.javac.comp.Attr.visitMethodDef(Attr.java:1013)
> at com.sun.tools.javac.comp.JmlAttr.visitMethodDef(JmlAttr.java:1007)
> at com.sun.tools.javac.comp.JmlAttr.visitJmlMethodDecl(
JmlAttr.java:5960)
> at org.jmlspecs.openjml.JmlTree$JmlMethodDecl.accept(JmlTree.java:1155)
> at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
> at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:645)
> at com.sun.tools.javac.comp.JmlAttr.attribStat(JmlAttr.java:509)
> at com.sun.tools.javac.comp.Attr.attribClassBody(Attr.java:4376)
> at com.sun.tools.javac.comp.JmlAttr.attribClassBody(JmlAttr.java:492)
> at com.sun.tools.javac.comp.Attr.attribClass(Attr.java:4284)
> at com.sun.tools.javac.comp.JmlAttr.attribClass(JmlAttr.java:370)
> at com.sun.tools.javac.comp.Attr.attribClass(Attr.java:4213)
> at com.sun.tools.javac.comp.Attr.visitClassDef(Attr.java:870)
> at com.sun.tools.javac.comp.JmlAttr.visitClassDef(JmlAttr.java:5951)
> at com.sun.tools.javac.comp.JmlAttr.visitJmlClassDecl(JmlAttr.java:5937)
> at org.jmlspecs.openjml.JmlTree$JmlClassDecl.accept(JmlTree.java:1071)
> at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
> at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:645)
> at com.sun.tools.javac.comp.JmlAttr.attribStat(JmlAttr.java:509)
> at com.sun.tools.javac.comp.Attr.visitNewClass(Attr.java:2146)
> at com.sun.tools.javac.comp.JmlAttr.visitNewClass(JmlAttr.java:891)
> at com.sun.tools.javac.tree.JCTree$JCNewClass.accept(JCTree.java:1516)
> at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
> at com.sun.tools.javac.comp.Attr.visitReturn(Attr.java:1687)
> at com.sun.tools.javac.tree.JCTree$JCReturn.accept(JCTree.java:1384)
> at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
> at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:645)
> at com.sun.tools.javac.comp.JmlAttr.attribStat(JmlAttr.java:509)
> at com.sun.tools.javac.comp.Attr.attribStats(Attr.java:661)
> at com.sun.tools.javac.comp.Attr.visitBlock(Attr.java:1125)
> at com.sun.tools.javac.comp.JmlAttr.visitBlock(JmlAttr.java:629)
> at com.sun.tools.javac.comp.JmlAttr.visitJmlBlock(JmlAttr.java:3935)
> at org.jmlspecs.openjml.JmlTree$JmlBlock.accept(JmlTree.java:1224)
> at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
> at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:645)
> at com.sun.tools.javac.comp.JmlAttr.attribStat(JmlAttr.java:509)
> at com.sun.tools.javac.comp.Attr.visitMethodDef(Attr.java:1013)
> at com.sun.tools.javac.comp.JmlAttr.visitMethodDef(JmlAttr.java:1007)
> at com.sun.tools.javac.comp.JmlAttr.visitJmlMethodDecl(
JmlAttr.java:5960)
> at org.jmlspecs.openjml.JmlTree$JmlMethodDecl.accept(JmlTree.java:1155)
> at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
> at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:645)
> at com.sun.tools.javac.comp.JmlAttr.attribStat(JmlAttr.java:509)
> at com.sun.tools.javac.comp.Attr.attribClassBody(Attr.java:4376)
> at com.sun.tools.javac.comp.JmlAttr.attribClassBody(JmlAttr.java:492)
> at com.sun.tools.javac.comp.Attr.attribClass(Attr.java:4284)
> at com.sun.tools.javac.comp.JmlAttr.attribClass(JmlAttr.java:370)
> at com.sun.tools.javac.comp.JmlAttr.completeTodo(JmlAttr.java:448)
> at com.sun.tools.javac.comp.JmlAttr.attribClass(JmlAttr.java:414)
> at com.sun.tools.javac.comp.Attr.attribClass(Attr.java:4213)
> at com.sun.tools.javac.comp.Attr.attrib(Attr.java:4188)
> at com.sun.tools.javac.main.JavaCompiler.attribute(
JavaCompiler.java:1258)
> at org.jmlspecs.openjml.JmlCompiler.attribute(JmlCompiler.java:471)
> at com.sun.tools.javac.main.JavaCompiler.compile2(JavaCompiler.java:898)
> at org.jmlspecs.openjml.JmlCompiler.compile2(JmlCompiler.java:694)
> at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:867)
> at com.sun.tools.javac.main.Main.compile(Main.java:553)
> at com.sun.tools.javac.main.Main.compile(Main.java:410)
> at org.jmlspecs.openjml.Main.compile(Main.java:577)
> at com.sun.tools.javac.main.Main.compile(Main.java:399)
> at com.sun.tools.javac.main.Main.compile(Main.java:390)
> at org.jmlspecs.openjml.Main.execute(Main.java:413)
> at org.jmlspecs.openjml.Main.execute(Main.java:371)
> at org.jmlspecs.openjml.Main.execute(Main.java:358)
> at org.jmlspecs.openjml.Main.main(Main.java:330)
>
> —
> You are receiving this because you are subscribed to this thread.
> Reply to this email directly, view it on GitHub <
#622>, or mute the thread <
https://github.com/notifications/unsubscribe-auth/AFExwC7rpCGTa9_
0BescclA7zS34cX9cks5uA4z9gaJpZM4U5v8d>.
>
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#622 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ANkDKQKxBkju0r1ydmlCXxFLLe8axjatks5uA55WgaJpZM4U5v8d>
.
|
Please provide the full command-line that gave the error.
… On Jun 27, 2018, at 5:09 PM, ColmBhandal ***@***.***> wrote:
Hi David,
Is there an easy way to find the version from within the OpenJML folder? I
can't seem to find any version.txt file, or similar. I believe I just
downloaded the latest version from master branch a few weeks ago. In the
bug, the following is reported:
BuildOpenJML-0.8.35-20180614
Does that give the version?
As for the command, yes, I did actually get it to fail with that command,
from the cmd line, but originally, I was running this from IntelliJ with
this JAR run configuration:
- *Path to JAR:* C:\OpenJML\openjml.jar
- *Program arguments:* -dir ./com/guidewire/tools/profiler -cp
C:\ProfilerAnalysisTool\ij-profiler-plugin\out\artifacts\ij_profiler_plugin_jar\ij-profiler-plugin.jar
-esc -specspath jml-specs -no-internalspecs
- *Working directory:*
C:\ProfilerAnalysisTool\ij-profiler-plugin\src\main\java
- *JRE:* C:\Program Files\Java\jdk1.8.0_162\jre
Thanks,
Colm
On 27 June 2018 at 16:01, David Cok ***@***.***> wrote:
> What version of OpenJML? Also, is that the full command-line? With -cp at
> the end with no argument?
>
> - David
>
> > On Jun 27, 2018, at 3:47 PM, ColmBhandal ***@***.***>
> wrote:
> >
> > I'm getting an NPE when running Open JML on directories within my
> project that contain other directories. If I run this command from my
> project's main directory:
> >
> > java -jar C:\OpenJML\openjml.jar -dir ./ -cp
> >
> > I get the below NPE whenever contains other directories. I debugged it a
> little and noticed that in JmlTreeCopier.java, during the method
> visitJmlMethodDecl(), the value of that.methodSpecsCombined is null, which
> seems to be the null reference causing the exception.
> >
> > Internal JML bug - please report. BuildOpenJML-0.8.35-20180614
> > java.lang.NullPointerException
> > at org.jmlspecs.openjml.JmlTreeCopier.visitJmlMethodDecl(
> JmlTreeCopier.java:131)
> > at org.jmlspecs.openjml.JmlTreeCopier.visitJmlMethodDecl(
> JmlTreeCopier.java:1)
> > at org.jmlspecs.openjml.JmlTree$JmlMethodDecl.accept(JmlTree.java:1165)
> > at com.sun.tools.javac.tree.TreeCopier.copy(TreeCopier.java:58)
> > at org.jmlspecs.openjml.JmlTreeCopier.copy(JmlTreeCopier.java:88)
> > at org.jmlspecs.openjml.JmlTreeCopier.copy(JmlTreeCopier.java:1)
> > at com.sun.tools.javac.tree.TreeCopier.visitClass(TreeCopier.java:162)
> > at org.jmlspecs.openjml.JmlTreeCopier.visitJmlClassDecl(
> JmlTreeCopier.java:117)
> > at org.jmlspecs.openjml.JmlTreeCopier.visitJmlClassDecl(
> JmlTreeCopier.java:1)
> > at org.jmlspecs.openjml.JmlTree$JmlClassDecl.accept(JmlTree.java:1081)
> > at com.sun.tools.javac.tree.TreeCopier.copy(TreeCopier.java:58)
> > at com.sun.tools.javac.tree.TreeCopier.visitNewClass(
> TreeCopier.java:293)
> > at org.jmlspecs.openjml.JmlTreeCopier.visitNewClass(
> JmlTreeCopier.java:774)
> > at org.jmlspecs.openjml.JmlTreeCopier.visitNewClass(
> JmlTreeCopier.java:1)
> > at com.sun.tools.javac.tree.TreeCopier.visitNewClass(TreeCopier.java:1)
> > at com.sun.tools.javac.tree.JCTree$JCNewClass.accept(JCTree.java:1532)
> > at com.sun.tools.javac.tree.TreeCopier.copy(TreeCopier.java:58)
> > at org.jmlspecs.openjml.JmlTreeCopier.copy(JmlTreeCopier.java:88)
> > at org.jmlspecs.openjml.JmlTreeCopier.copy(JmlTreeCopier.java:1)
> > at com.sun.tools.javac.tree.TreeCopier.visitMethodInvocation(
> TreeCopier.java:269)
> > at org.jmlspecs.openjml.JmlTreeCopier.visitMethodInvocation(
> JmlTreeCopier.java:760)
> > at org.jmlspecs.openjml.JmlTreeCopier.visitMethodInvocation(
> JmlTreeCopier.java:1)
> > at com.sun.tools.javac.tree.TreeCopier.visitMethodInvocation(
> TreeCopier.java:1)
> > at com.sun.tools.javac.tree.JCTree$JCMethodInvocation.
> accept(JCTree.java:1477)
> > at com.sun.tools.javac.tree.TreeCopier.copy(TreeCopier.java:58)
> > at com.sun.tools.javac.tree.TreeCopier.copy(TreeCopier.java:51)
> > at com.sun.tools.javac.comp.DeferredAttr.attribSpeculative(
> DeferredAttr.java:368)
> > at com.sun.tools.javac.comp.DeferredAttr$1.complete(
> DeferredAttr.java:280)
> > at com.sun.tools.javac.comp.DeferredAttr$DeferredType.
> check(DeferredAttr.java:246)
> > at com.sun.tools.javac.comp.DeferredAttr$DeferredType.
> check(DeferredAttr.java:233)
> > at com.sun.tools.javac.comp.Resolve$MethodResultInfo.
> check(Resolve.java:1009)
> > at com.sun.tools.javac.comp.Resolve$4.checkArg(Resolve.java:836)
> > at com.sun.tools.javac.comp.Resolve$AbstractMethodCheck.
> argumentsAcceptable(Resolve.java:736)
> > at com.sun.tools.javac.comp.Resolve$4.argumentsAcceptable(
> Resolve.java:845)
> > at com.sun.tools.javac.comp.Infer.instantiateMethod(Infer.java:162)
> > at com.sun.tools.javac.comp.Resolve.rawInstantiate(Resolve.java:568)
> > at com.sun.tools.javac.comp.Resolve.selectBest(Resolve.java:1450)
> > at com.sun.tools.javac.comp.JmlResolve.findMethodInScope(
> JmlResolve.java:281)
> > at com.sun.tools.javac.comp.Resolve.findMethod(Resolve.java:1708)
> > at com.sun.tools.javac.comp.Resolve.findMethod(Resolve.java:1681)
> > at com.sun.tools.javac.comp.Resolve$9.doLookup(Resolve.java:2452)
> > at com.sun.tools.javac.comp.Resolve$BasicLookupHelper.
> lookup(Resolve.java:3113)
> > at com.sun.tools.javac.comp.Resolve.lookupMethod(Resolve.java:3364)
> > at com.sun.tools.javac.comp.Resolve.resolveQualifiedMethod(
> Resolve.java:2449)
> > at com.sun.tools.javac.comp.Resolve.resolveQualifiedMethod(
> Resolve.java:2443)
> > at com.sun.tools.javac.comp.Attr.selectSym(Attr.java:3407)
> > at com.sun.tools.javac.comp.Attr.visitSelect(Attr.java:3289)
> > at com.sun.tools.javac.comp.JmlAttr.visitSelect(JmlAttr.java:5059)
> > at com.sun.tools.javac.tree.JCTree$JCFieldAccess.accept(
> JCTree.java:1897)
> > at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
> > at com.sun.tools.javac.comp.Attr.visitApply(Attr.java:1826)
> > at com.sun.tools.javac.comp.JmlAttr.visitApply(JmlAttr.java:3586)
> > at com.sun.tools.javac.tree.JCTree$JCMethodInvocation.
> accept(JCTree.java:1465)
> > at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
> > at com.sun.tools.javac.comp.Attr.visitReturn(Attr.java:1687)
> > at com.sun.tools.javac.tree.JCTree$JCReturn.accept(JCTree.java:1384)
> > at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
> > at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:645)
> > at com.sun.tools.javac.comp.JmlAttr.attribStat(JmlAttr.java:509)
> > at com.sun.tools.javac.comp.Attr.attribStats(Attr.java:661)
> > at com.sun.tools.javac.comp.Attr.visitBlock(Attr.java:1125)
> > at com.sun.tools.javac.comp.JmlAttr.visitBlock(JmlAttr.java:629)
> > at com.sun.tools.javac.comp.JmlAttr.visitJmlBlock(JmlAttr.java:3935)
> > at org.jmlspecs.openjml.JmlTree$JmlBlock.accept(JmlTree.java:1224)
> > at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
> > at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:645)
> > at com.sun.tools.javac.comp.JmlAttr.attribStat(JmlAttr.java:509)
> > at com.sun.tools.javac.comp.Attr.visitMethodDef(Attr.java:1013)
> > at com.sun.tools.javac.comp.JmlAttr.visitMethodDef(JmlAttr.java:1007)
> > at com.sun.tools.javac.comp.JmlAttr.visitJmlMethodDecl(
> JmlAttr.java:5960)
> > at org.jmlspecs.openjml.JmlTree$JmlMethodDecl.accept(JmlTree.java:1155)
> > at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
> > at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:645)
> > at com.sun.tools.javac.comp.JmlAttr.attribStat(JmlAttr.java:509)
> > at com.sun.tools.javac.comp.Attr.attribClassBody(Attr.java:4376)
> > at com.sun.tools.javac.comp.JmlAttr.attribClassBody(JmlAttr.java:492)
> > at com.sun.tools.javac.comp.Attr.attribClass(Attr.java:4284)
> > at com.sun.tools.javac.comp.JmlAttr.attribClass(JmlAttr.java:370)
> > at com.sun.tools.javac.comp.Attr.attribClass(Attr.java:4213)
> > at com.sun.tools.javac.comp.Attr.visitClassDef(Attr.java:870)
> > at com.sun.tools.javac.comp.JmlAttr.visitClassDef(JmlAttr.java:5951)
> > at com.sun.tools.javac.comp.JmlAttr.visitJmlClassDecl(JmlAttr.java:5937)
> > at org.jmlspecs.openjml.JmlTree$JmlClassDecl.accept(JmlTree.java:1071)
> > at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
> > at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:645)
> > at com.sun.tools.javac.comp.JmlAttr.attribStat(JmlAttr.java:509)
> > at com.sun.tools.javac.comp.Attr.visitNewClass(Attr.java:2146)
> > at com.sun.tools.javac.comp.JmlAttr.visitNewClass(JmlAttr.java:891)
> > at com.sun.tools.javac.tree.JCTree$JCNewClass.accept(JCTree.java:1516)
> > at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
> > at com.sun.tools.javac.comp.Attr.visitReturn(Attr.java:1687)
> > at com.sun.tools.javac.tree.JCTree$JCReturn.accept(JCTree.java:1384)
> > at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
> > at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:645)
> > at com.sun.tools.javac.comp.JmlAttr.attribStat(JmlAttr.java:509)
> > at com.sun.tools.javac.comp.Attr.attribStats(Attr.java:661)
> > at com.sun.tools.javac.comp.Attr.visitBlock(Attr.java:1125)
> > at com.sun.tools.javac.comp.JmlAttr.visitBlock(JmlAttr.java:629)
> > at com.sun.tools.javac.comp.JmlAttr.visitJmlBlock(JmlAttr.java:3935)
> > at org.jmlspecs.openjml.JmlTree$JmlBlock.accept(JmlTree.java:1224)
> > at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
> > at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:645)
> > at com.sun.tools.javac.comp.JmlAttr.attribStat(JmlAttr.java:509)
> > at com.sun.tools.javac.comp.Attr.visitMethodDef(Attr.java:1013)
> > at com.sun.tools.javac.comp.JmlAttr.visitMethodDef(JmlAttr.java:1007)
> > at com.sun.tools.javac.comp.JmlAttr.visitJmlMethodDecl(
> JmlAttr.java:5960)
> > at org.jmlspecs.openjml.JmlTree$JmlMethodDecl.accept(JmlTree.java:1155)
> > at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
> > at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:645)
> > at com.sun.tools.javac.comp.JmlAttr.attribStat(JmlAttr.java:509)
> > at com.sun.tools.javac.comp.Attr.attribClassBody(Attr.java:4376)
> > at com.sun.tools.javac.comp.JmlAttr.attribClassBody(JmlAttr.java:492)
> > at com.sun.tools.javac.comp.Attr.attribClass(Attr.java:4284)
> > at com.sun.tools.javac.comp.JmlAttr.attribClass(JmlAttr.java:370)
> > at com.sun.tools.javac.comp.JmlAttr.completeTodo(JmlAttr.java:448)
> > at com.sun.tools.javac.comp.JmlAttr.attribClass(JmlAttr.java:414)
> > at com.sun.tools.javac.comp.Attr.attribClass(Attr.java:4213)
> > at com.sun.tools.javac.comp.Attr.attrib(Attr.java:4188)
> > at com.sun.tools.javac.main.JavaCompiler.attribute(
> JavaCompiler.java:1258)
> > at org.jmlspecs.openjml.JmlCompiler.attribute(JmlCompiler.java:471)
> > at com.sun.tools.javac.main.JavaCompiler.compile2(JavaCompiler.java:898)
> > at org.jmlspecs.openjml.JmlCompiler.compile2(JmlCompiler.java:694)
> > at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:867)
> > at com.sun.tools.javac.main.Main.compile(Main.java:553)
> > at com.sun.tools.javac.main.Main.compile(Main.java:410)
> > at org.jmlspecs.openjml.Main.compile(Main.java:577)
> > at com.sun.tools.javac.main.Main.compile(Main.java:399)
> > at com.sun.tools.javac.main.Main.compile(Main.java:390)
> > at org.jmlspecs.openjml.Main.execute(Main.java:413)
> > at org.jmlspecs.openjml.Main.execute(Main.java:371)
> > at org.jmlspecs.openjml.Main.execute(Main.java:358)
> > at org.jmlspecs.openjml.Main.main(Main.java:330)
> >
> > —
> > You are receiving this because you are subscribed to this thread.
> > Reply to this email directly, view it on GitHub <
> #622>, or mute the thread <
> https://github.com/notifications/unsubscribe-auth/AFExwC7rpCGTa9_
> 0BescclA7zS34cX9cks5uA4z9gaJpZM4U5v8d>.
> >
>
> —
> You are receiving this because you authored the thread.
> Reply to this email directly, view it on GitHub
> <#622 (comment)>,
> or mute the thread
> <https://github.com/notifications/unsubscribe-auth/ANkDKQKxBkju0r1ydmlCXxFLLe8axjatks5uA55WgaJpZM4U5v8d>
> .
>
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub <#622 (comment)>, or mute the thread <https://github.com/notifications/unsubscribe-auth/AFExwG_IuBAnycoBqdIkQuXJjAUAGyHIks5uA6AvgaJpZM4U5v8d>.
|
Hi David,
Sure. Here is the cmd line & error all in one. Unfortunately I can't share
the code as it's not mine ;)
C:\ProfilerAnalysisTool\ij-profiler-plugin\src\main\java>java -jar
C:\OpenJML\openjml.jar -dir ./com/guidewire/tools/profiler -cp
C:\ProfilerAnalysisTool\ij-profiler-plugin\out\artifacts\ij_profiler_plugin_jar\ij-profiler-plugin.jar
-no-internalspecs
Internal JML bug - please report. BuildOpenJML-0.8.35-20180614
java.lang.NullPointerException
at
org.jmlspecs.openjml.JmlTreeCopier.visitJmlMethodDecl(JmlTreeCopier.java:131)
at
org.jmlspecs.openjml.JmlTreeCopier.visitJmlMethodDecl(JmlTreeCopier.java:1)
at
org.jmlspecs.openjml.JmlTree$JmlMethodDecl.accept(JmlTree.java:1165)
at com.sun.tools.javac.tree.TreeCopier.copy(TreeCopier.java:58)
at org.jmlspecs.openjml.JmlTreeCopier.copy(JmlTreeCopier.java:88)
at org.jmlspecs.openjml.JmlTreeCopier.copy(JmlTreeCopier.java:1)
at
com.sun.tools.javac.tree.TreeCopier.visitClass(TreeCopier.java:162)
at
org.jmlspecs.openjml.JmlTreeCopier.visitJmlClassDecl(JmlTreeCopier.java:117)
at
org.jmlspecs.openjml.JmlTreeCopier.visitJmlClassDecl(JmlTreeCopier.java:1)
at
org.jmlspecs.openjml.JmlTree$JmlClassDecl.accept(JmlTree.java:1081)
at com.sun.tools.javac.tree.TreeCopier.copy(TreeCopier.java:58)
at
com.sun.tools.javac.tree.TreeCopier.visitNewClass(TreeCopier.java:293)
at
org.jmlspecs.openjml.JmlTreeCopier.visitNewClass(JmlTreeCopier.java:774)
at
org.jmlspecs.openjml.JmlTreeCopier.visitNewClass(JmlTreeCopier.java:1)
at
com.sun.tools.javac.tree.TreeCopier.visitNewClass(TreeCopier.java:1)
at
com.sun.tools.javac.tree.JCTree$JCNewClass.accept(JCTree.java:1532)
at com.sun.tools.javac.tree.TreeCopier.copy(TreeCopier.java:58)
at org.jmlspecs.openjml.JmlTreeCopier.copy(JmlTreeCopier.java:88)
at org.jmlspecs.openjml.JmlTreeCopier.copy(JmlTreeCopier.java:1)
at
com.sun.tools.javac.tree.TreeCopier.visitMethodInvocation(TreeCopier.java:269)
at
org.jmlspecs.openjml.JmlTreeCopier.visitMethodInvocation(JmlTreeCopier.java:760)
at
org.jmlspecs.openjml.JmlTreeCopier.visitMethodInvocation(JmlTreeCopier.java:1)
at
com.sun.tools.javac.tree.TreeCopier.visitMethodInvocation(TreeCopier.java:1)
at
com.sun.tools.javac.tree.JCTree$JCMethodInvocation.accept(JCTree.java:1477)
at com.sun.tools.javac.tree.TreeCopier.copy(TreeCopier.java:58)
at com.sun.tools.javac.tree.TreeCopier.copy(TreeCopier.java:51)
at
com.sun.tools.javac.comp.DeferredAttr.attribSpeculative(DeferredAttr.java:368)
at
com.sun.tools.javac.comp.DeferredAttr$1.complete(DeferredAttr.java:280)
at
com.sun.tools.javac.comp.DeferredAttr$DeferredType.check(DeferredAttr.java:246)
at
com.sun.tools.javac.comp.DeferredAttr$DeferredType.check(DeferredAttr.java:233)
at
com.sun.tools.javac.comp.Resolve$MethodResultInfo.check(Resolve.java:1009)
at com.sun.tools.javac.comp.Resolve$4.checkArg(Resolve.java:836)
at
com.sun.tools.javac.comp.Resolve$AbstractMethodCheck.argumentsAcceptable(Resolve.java:736)
at
com.sun.tools.javac.comp.Resolve$4.argumentsAcceptable(Resolve.java:845)
at com.sun.tools.javac.comp.Infer.instantiateMethod(Infer.java:162)
at com.sun.tools.javac.comp.Resolve.rawInstantiate(Resolve.java:568)
at com.sun.tools.javac.comp.Resolve.selectBest(Resolve.java:1450)
at
com.sun.tools.javac.comp.JmlResolve.findMethodInScope(JmlResolve.java:281)
at com.sun.tools.javac.comp.Resolve.findMethod(Resolve.java:1708)
at com.sun.tools.javac.comp.Resolve.findMethod(Resolve.java:1681)
at com.sun.tools.javac.comp.Resolve$9.doLookup(Resolve.java:2452)
at
com.sun.tools.javac.comp.Resolve$BasicLookupHelper.lookup(Resolve.java:3113)
at com.sun.tools.javac.comp.Resolve.lookupMethod(Resolve.java:3364)
at
com.sun.tools.javac.comp.Resolve.resolveQualifiedMethod(Resolve.java:2449)
at
com.sun.tools.javac.comp.Resolve.resolveQualifiedMethod(Resolve.java:2443)
at com.sun.tools.javac.comp.Attr.selectSym(Attr.java:3407)
at com.sun.tools.javac.comp.Attr.visitSelect(Attr.java:3289)
at com.sun.tools.javac.comp.JmlAttr.visitSelect(JmlAttr.java:5059)
at
com.sun.tools.javac.tree.JCTree$JCFieldAccess.accept(JCTree.java:1897)
at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
at com.sun.tools.javac.comp.Attr.visitApply(Attr.java:1826)
at com.sun.tools.javac.comp.JmlAttr.visitApply(JmlAttr.java:3586)
at
com.sun.tools.javac.tree.JCTree$JCMethodInvocation.accept(JCTree.java:1465)
at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
at com.sun.tools.javac.comp.Attr.visitReturn(Attr.java:1687)
at com.sun.tools.javac.tree.JCTree$JCReturn.accept(JCTree.java:1384)
at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:645)
at com.sun.tools.javac.comp.JmlAttr.attribStat(JmlAttr.java:509)
at com.sun.tools.javac.comp.Attr.attribStats(Attr.java:661)
at com.sun.tools.javac.comp.Attr.visitBlock(Attr.java:1125)
at com.sun.tools.javac.comp.JmlAttr.visitBlock(JmlAttr.java:629)
at com.sun.tools.javac.comp.JmlAttr.visitJmlBlock(JmlAttr.java:3935)
at org.jmlspecs.openjml.JmlTree$JmlBlock.accept(JmlTree.java:1224)
at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:645)
at com.sun.tools.javac.comp.JmlAttr.attribStat(JmlAttr.java:509)
at com.sun.tools.javac.comp.Attr.visitMethodDef(Attr.java:1013)
at
com.sun.tools.javac.comp.JmlAttr.visitMethodDef(JmlAttr.java:1007)
at
com.sun.tools.javac.comp.JmlAttr.visitJmlMethodDecl(JmlAttr.java:5960)
at
org.jmlspecs.openjml.JmlTree$JmlMethodDecl.accept(JmlTree.java:1155)
at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:645)
at com.sun.tools.javac.comp.JmlAttr.attribStat(JmlAttr.java:509)
at com.sun.tools.javac.comp.Attr.attribClassBody(Attr.java:4376)
at
com.sun.tools.javac.comp.JmlAttr.attribClassBody(JmlAttr.java:492)
at com.sun.tools.javac.comp.Attr.attribClass(Attr.java:4284)
at com.sun.tools.javac.comp.JmlAttr.attribClass(JmlAttr.java:370)
at com.sun.tools.javac.comp.Attr.attribClass(Attr.java:4213)
at com.sun.tools.javac.comp.Attr.visitClassDef(Attr.java:870)
at com.sun.tools.javac.comp.JmlAttr.visitClassDef(JmlAttr.java:5951)
at
com.sun.tools.javac.comp.JmlAttr.visitJmlClassDecl(JmlAttr.java:5937)
at
org.jmlspecs.openjml.JmlTree$JmlClassDecl.accept(JmlTree.java:1071)
at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:645)
at com.sun.tools.javac.comp.JmlAttr.attribStat(JmlAttr.java:509)
at com.sun.tools.javac.comp.Attr.visitNewClass(Attr.java:2146)
at com.sun.tools.javac.comp.JmlAttr.visitNewClass(JmlAttr.java:891)
at
com.sun.tools.javac.tree.JCTree$JCNewClass.accept(JCTree.java:1516)
at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
at com.sun.tools.javac.comp.Attr.visitReturn(Attr.java:1687)
at com.sun.tools.javac.tree.JCTree$JCReturn.accept(JCTree.java:1384)
at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:645)
at com.sun.tools.javac.comp.JmlAttr.attribStat(JmlAttr.java:509)
at com.sun.tools.javac.comp.Attr.attribStats(Attr.java:661)
at com.sun.tools.javac.comp.Attr.visitBlock(Attr.java:1125)
at com.sun.tools.javac.comp.JmlAttr.visitBlock(JmlAttr.java:629)
at com.sun.tools.javac.comp.JmlAttr.visitJmlBlock(JmlAttr.java:3935)
at org.jmlspecs.openjml.JmlTree$JmlBlock.accept(JmlTree.java:1224)
at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:645)
at com.sun.tools.javac.comp.JmlAttr.attribStat(JmlAttr.java:509)
at com.sun.tools.javac.comp.Attr.visitMethodDef(Attr.java:1013)
at
com.sun.tools.javac.comp.JmlAttr.visitMethodDef(JmlAttr.java:1007)
at
com.sun.tools.javac.comp.JmlAttr.visitJmlMethodDecl(JmlAttr.java:5960)
at
org.jmlspecs.openjml.JmlTree$JmlMethodDecl.accept(JmlTree.java:1155)
at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:645)
at com.sun.tools.javac.comp.JmlAttr.attribStat(JmlAttr.java:509)
at com.sun.tools.javac.comp.Attr.attribClassBody(Attr.java:4376)
at
com.sun.tools.javac.comp.JmlAttr.attribClassBody(JmlAttr.java:492)
at com.sun.tools.javac.comp.Attr.attribClass(Attr.java:4284)
at com.sun.tools.javac.comp.JmlAttr.attribClass(JmlAttr.java:370)
at com.sun.tools.javac.comp.JmlAttr.completeTodo(JmlAttr.java:448)
at com.sun.tools.javac.comp.JmlAttr.attribClass(JmlAttr.java:414)
at com.sun.tools.javac.comp.Attr.attribClass(Attr.java:4213)
at com.sun.tools.javac.comp.Attr.attrib(Attr.java:4188)
at
com.sun.tools.javac.main.JavaCompiler.attribute(JavaCompiler.java:1258)
at org.jmlspecs.openjml.JmlCompiler.attribute(JmlCompiler.java:471)
at
com.sun.tools.javac.main.JavaCompiler.compile2(JavaCompiler.java:898)
at org.jmlspecs.openjml.JmlCompiler.compile2(JmlCompiler.java:694)
at
com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:867)
at com.sun.tools.javac.main.Main.compile(Main.java:553)
at com.sun.tools.javac.main.Main.compile(Main.java:410)
at org.jmlspecs.openjml.Main.compile(Main.java:577)
at com.sun.tools.javac.main.Main.compile(Main.java:399)
at com.sun.tools.javac.main.Main.compile(Main.java:390)
at org.jmlspecs.openjml.Main.execute(Main.java:413)
at org.jmlspecs.openjml.Main.execute(Main.java:371)
at org.jmlspecs.openjml.Main.execute(Main.java:358)
at org.jmlspecs.openjml.Main.main(Main.java:330)
…On 27 June 2018 at 16:17, David Cok ***@***.***> wrote:
Please provide the full command-line that gave the error.
> On Jun 27, 2018, at 5:09 PM, ColmBhandal ***@***.***>
wrote:
>
> Hi David,
>
> Is there an easy way to find the version from within the OpenJML folder?
I
> can't seem to find any version.txt file, or similar. I believe I just
> downloaded the latest version from master branch a few weeks ago. In the
> bug, the following is reported:
>
> BuildOpenJML-0.8.35-20180614
>
> Does that give the version?
>
> As for the command, yes, I did actually get it to fail with that command,
> from the cmd line, but originally, I was running this from IntelliJ with
> this JAR run configuration:
>
> - *Path to JAR:* C:\OpenJML\openjml.jar
> - *Program arguments:* -dir ./com/guidewire/tools/profiler -cp
> C:\ProfilerAnalysisTool\ij-profiler-plugin\out\artifacts\
ij_profiler_plugin_jar\ij-profiler-plugin.jar
> -esc -specspath jml-specs -no-internalspecs
> - *Working directory:*
> C:\ProfilerAnalysisTool\ij-profiler-plugin\src\main\java
> - *JRE:* C:\Program Files\Java\jdk1.8.0_162\jre
>
>
> Thanks,
>
> Colm
>
>
>
>
> On 27 June 2018 at 16:01, David Cok ***@***.***> wrote:
>
> > What version of OpenJML? Also, is that the full command-line? With -cp
at
> > the end with no argument?
> >
> > - David
> >
> > > On Jun 27, 2018, at 3:47 PM, ColmBhandal ***@***.***>
> > wrote:
> > >
> > > I'm getting an NPE when running Open JML on directories within my
> > project that contain other directories. If I run this command from my
> > project's main directory:
> > >
> > > java -jar C:\OpenJML\openjml.jar -dir ./ -cp
> > >
> > > I get the below NPE whenever contains other directories. I debugged
it a
> > little and noticed that in JmlTreeCopier.java, during the method
> > visitJmlMethodDecl(), the value of that.methodSpecsCombined is null,
which
> > seems to be the null reference causing the exception.
> > >
> > > Internal JML bug - please report. BuildOpenJML-0.8.35-20180614
> > > java.lang.NullPointerException
> > > at org.jmlspecs.openjml.JmlTreeCopier.visitJmlMethodDecl(
> > JmlTreeCopier.java:131)
> > > at org.jmlspecs.openjml.JmlTreeCopier.visitJmlMethodDecl(
> > JmlTreeCopier.java:1)
> > > at org.jmlspecs.openjml.JmlTree$JmlMethodDecl.accept(JmlTree.
java:1165)
> > > at com.sun.tools.javac.tree.TreeCopier.copy(TreeCopier.java:58)
> > > at org.jmlspecs.openjml.JmlTreeCopier.copy(JmlTreeCopier.java:88)
> > > at org.jmlspecs.openjml.JmlTreeCopier.copy(JmlTreeCopier.java:1)
> > > at com.sun.tools.javac.tree.TreeCopier.visitClass(
TreeCopier.java:162)
> > > at org.jmlspecs.openjml.JmlTreeCopier.visitJmlClassDecl(
> > JmlTreeCopier.java:117)
> > > at org.jmlspecs.openjml.JmlTreeCopier.visitJmlClassDecl(
> > JmlTreeCopier.java:1)
> > > at org.jmlspecs.openjml.JmlTree$JmlClassDecl.accept(JmlTree.
java:1081)
> > > at com.sun.tools.javac.tree.TreeCopier.copy(TreeCopier.java:58)
> > > at com.sun.tools.javac.tree.TreeCopier.visitNewClass(
> > TreeCopier.java:293)
> > > at org.jmlspecs.openjml.JmlTreeCopier.visitNewClass(
> > JmlTreeCopier.java:774)
> > > at org.jmlspecs.openjml.JmlTreeCopier.visitNewClass(
> > JmlTreeCopier.java:1)
> > > at com.sun.tools.javac.tree.TreeCopier.visitNewClass(
TreeCopier.java:1)
> > > at com.sun.tools.javac.tree.JCTree$JCNewClass.accept(
JCTree.java:1532)
> > > at com.sun.tools.javac.tree.TreeCopier.copy(TreeCopier.java:58)
> > > at org.jmlspecs.openjml.JmlTreeCopier.copy(JmlTreeCopier.java:88)
> > > at org.jmlspecs.openjml.JmlTreeCopier.copy(JmlTreeCopier.java:1)
> > > at com.sun.tools.javac.tree.TreeCopier.visitMethodInvocation(
> > TreeCopier.java:269)
> > > at org.jmlspecs.openjml.JmlTreeCopier.visitMethodInvocation(
> > JmlTreeCopier.java:760)
> > > at org.jmlspecs.openjml.JmlTreeCopier.visitMethodInvocation(
> > JmlTreeCopier.java:1)
> > > at com.sun.tools.javac.tree.TreeCopier.visitMethodInvocation(
> > TreeCopier.java:1)
> > > at com.sun.tools.javac.tree.JCTree$JCMethodInvocation.
> > accept(JCTree.java:1477)
> > > at com.sun.tools.javac.tree.TreeCopier.copy(TreeCopier.java:58)
> > > at com.sun.tools.javac.tree.TreeCopier.copy(TreeCopier.java:51)
> > > at com.sun.tools.javac.comp.DeferredAttr.attribSpeculative(
> > DeferredAttr.java:368)
> > > at com.sun.tools.javac.comp.DeferredAttr$1.complete(
> > DeferredAttr.java:280)
> > > at com.sun.tools.javac.comp.DeferredAttr$DeferredType.
> > check(DeferredAttr.java:246)
> > > at com.sun.tools.javac.comp.DeferredAttr$DeferredType.
> > check(DeferredAttr.java:233)
> > > at com.sun.tools.javac.comp.Resolve$MethodResultInfo.
> > check(Resolve.java:1009)
> > > at com.sun.tools.javac.comp.Resolve$4.checkArg(Resolve.java:836)
> > > at com.sun.tools.javac.comp.Resolve$AbstractMethodCheck.
> > argumentsAcceptable(Resolve.java:736)
> > > at com.sun.tools.javac.comp.Resolve$4.argumentsAcceptable(
> > Resolve.java:845)
> > > at com.sun.tools.javac.comp.Infer.instantiateMethod(Infer.java:162)
> > > at com.sun.tools.javac.comp.Resolve.rawInstantiate(Resolve.java:568)
> > > at com.sun.tools.javac.comp.Resolve.selectBest(Resolve.java:1450)
> > > at com.sun.tools.javac.comp.JmlResolve.findMethodInScope(
> > JmlResolve.java:281)
> > > at com.sun.tools.javac.comp.Resolve.findMethod(Resolve.java:1708)
> > > at com.sun.tools.javac.comp.Resolve.findMethod(Resolve.java:1681)
> > > at com.sun.tools.javac.comp.Resolve$9.doLookup(Resolve.java:2452)
> > > at com.sun.tools.javac.comp.Resolve$BasicLookupHelper.
> > lookup(Resolve.java:3113)
> > > at com.sun.tools.javac.comp.Resolve.lookupMethod(Resolve.java:3364)
> > > at com.sun.tools.javac.comp.Resolve.resolveQualifiedMethod(
> > Resolve.java:2449)
> > > at com.sun.tools.javac.comp.Resolve.resolveQualifiedMethod(
> > Resolve.java:2443)
> > > at com.sun.tools.javac.comp.Attr.selectSym(Attr.java:3407)
> > > at com.sun.tools.javac.comp.Attr.visitSelect(Attr.java:3289)
> > > at com.sun.tools.javac.comp.JmlAttr.visitSelect(JmlAttr.java:5059)
> > > at com.sun.tools.javac.tree.JCTree$JCFieldAccess.accept(
> > JCTree.java:1897)
> > > at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
> > > at com.sun.tools.javac.comp.Attr.visitApply(Attr.java:1826)
> > > at com.sun.tools.javac.comp.JmlAttr.visitApply(JmlAttr.java:3586)
> > > at com.sun.tools.javac.tree.JCTree$JCMethodInvocation.
> > accept(JCTree.java:1465)
> > > at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
> > > at com.sun.tools.javac.comp.Attr.visitReturn(Attr.java:1687)
> > > at com.sun.tools.javac.tree.JCTree$JCReturn.accept(JCTree.java:1384)
> > > at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
> > > at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:645)
> > > at com.sun.tools.javac.comp.JmlAttr.attribStat(JmlAttr.java:509)
> > > at com.sun.tools.javac.comp.Attr.attribStats(Attr.java:661)
> > > at com.sun.tools.javac.comp.Attr.visitBlock(Attr.java:1125)
> > > at com.sun.tools.javac.comp.JmlAttr.visitBlock(JmlAttr.java:629)
> > > at com.sun.tools.javac.comp.JmlAttr.visitJmlBlock(JmlAttr.java:3935)
> > > at org.jmlspecs.openjml.JmlTree$JmlBlock.accept(JmlTree.java:1224)
> > > at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
> > > at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:645)
> > > at com.sun.tools.javac.comp.JmlAttr.attribStat(JmlAttr.java:509)
> > > at com.sun.tools.javac.comp.Attr.visitMethodDef(Attr.java:1013)
> > > at com.sun.tools.javac.comp.JmlAttr.visitMethodDef(
JmlAttr.java:1007)
> > > at com.sun.tools.javac.comp.JmlAttr.visitJmlMethodDecl(
> > JmlAttr.java:5960)
> > > at org.jmlspecs.openjml.JmlTree$JmlMethodDecl.accept(JmlTree.
java:1155)
> > > at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
> > > at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:645)
> > > at com.sun.tools.javac.comp.JmlAttr.attribStat(JmlAttr.java:509)
> > > at com.sun.tools.javac.comp.Attr.attribClassBody(Attr.java:4376)
> > > at com.sun.tools.javac.comp.JmlAttr.attribClassBody(
JmlAttr.java:492)
> > > at com.sun.tools.javac.comp.Attr.attribClass(Attr.java:4284)
> > > at com.sun.tools.javac.comp.JmlAttr.attribClass(JmlAttr.java:370)
> > > at com.sun.tools.javac.comp.Attr.attribClass(Attr.java:4213)
> > > at com.sun.tools.javac.comp.Attr.visitClassDef(Attr.java:870)
> > > at com.sun.tools.javac.comp.JmlAttr.visitClassDef(JmlAttr.java:5951)
> > > at com.sun.tools.javac.comp.JmlAttr.visitJmlClassDecl(
JmlAttr.java:5937)
> > > at org.jmlspecs.openjml.JmlTree$JmlClassDecl.accept(JmlTree.
java:1071)
> > > at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
> > > at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:645)
> > > at com.sun.tools.javac.comp.JmlAttr.attribStat(JmlAttr.java:509)
> > > at com.sun.tools.javac.comp.Attr.visitNewClass(Attr.java:2146)
> > > at com.sun.tools.javac.comp.JmlAttr.visitNewClass(JmlAttr.java:891)
> > > at com.sun.tools.javac.tree.JCTree$JCNewClass.accept(
JCTree.java:1516)
> > > at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
> > > at com.sun.tools.javac.comp.Attr.visitReturn(Attr.java:1687)
> > > at com.sun.tools.javac.tree.JCTree$JCReturn.accept(JCTree.java:1384)
> > > at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
> > > at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:645)
> > > at com.sun.tools.javac.comp.JmlAttr.attribStat(JmlAttr.java:509)
> > > at com.sun.tools.javac.comp.Attr.attribStats(Attr.java:661)
> > > at com.sun.tools.javac.comp.Attr.visitBlock(Attr.java:1125)
> > > at com.sun.tools.javac.comp.JmlAttr.visitBlock(JmlAttr.java:629)
> > > at com.sun.tools.javac.comp.JmlAttr.visitJmlBlock(JmlAttr.java:3935)
> > > at org.jmlspecs.openjml.JmlTree$JmlBlock.accept(JmlTree.java:1224)
> > > at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
> > > at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:645)
> > > at com.sun.tools.javac.comp.JmlAttr.attribStat(JmlAttr.java:509)
> > > at com.sun.tools.javac.comp.Attr.visitMethodDef(Attr.java:1013)
> > > at com.sun.tools.javac.comp.JmlAttr.visitMethodDef(
JmlAttr.java:1007)
> > > at com.sun.tools.javac.comp.JmlAttr.visitJmlMethodDecl(
> > JmlAttr.java:5960)
> > > at org.jmlspecs.openjml.JmlTree$JmlMethodDecl.accept(JmlTree.
java:1155)
> > > at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
> > > at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:645)
> > > at com.sun.tools.javac.comp.JmlAttr.attribStat(JmlAttr.java:509)
> > > at com.sun.tools.javac.comp.Attr.attribClassBody(Attr.java:4376)
> > > at com.sun.tools.javac.comp.JmlAttr.attribClassBody(
JmlAttr.java:492)
> > > at com.sun.tools.javac.comp.Attr.attribClass(Attr.java:4284)
> > > at com.sun.tools.javac.comp.JmlAttr.attribClass(JmlAttr.java:370)
> > > at com.sun.tools.javac.comp.JmlAttr.completeTodo(JmlAttr.java:448)
> > > at com.sun.tools.javac.comp.JmlAttr.attribClass(JmlAttr.java:414)
> > > at com.sun.tools.javac.comp.Attr.attribClass(Attr.java:4213)
> > > at com.sun.tools.javac.comp.Attr.attrib(Attr.java:4188)
> > > at com.sun.tools.javac.main.JavaCompiler.attribute(
> > JavaCompiler.java:1258)
> > > at org.jmlspecs.openjml.JmlCompiler.attribute(JmlCompiler.java:471)
> > > at com.sun.tools.javac.main.JavaCompiler.compile2(
JavaCompiler.java:898)
> > > at org.jmlspecs.openjml.JmlCompiler.compile2(JmlCompiler.java:694)
> > > at com.sun.tools.javac.main.JavaCompiler.compile(
JavaCompiler.java:867)
> > > at com.sun.tools.javac.main.Main.compile(Main.java:553)
> > > at com.sun.tools.javac.main.Main.compile(Main.java:410)
> > > at org.jmlspecs.openjml.Main.compile(Main.java:577)
> > > at com.sun.tools.javac.main.Main.compile(Main.java:399)
> > > at com.sun.tools.javac.main.Main.compile(Main.java:390)
> > > at org.jmlspecs.openjml.Main.execute(Main.java:413)
> > > at org.jmlspecs.openjml.Main.execute(Main.java:371)
> > > at org.jmlspecs.openjml.Main.execute(Main.java:358)
> > > at org.jmlspecs.openjml.Main.main(Main.java:330)
> > >
> > > —
> > > You are receiving this because you are subscribed to this thread.
> > > Reply to this email directly, view it on GitHub <
> > #622>, or mute the thread <
> > https://github.com/notifications/unsubscribe-auth/AFExwC7rpCGTa9_
> > 0BescclA7zS34cX9cks5uA4z9gaJpZM4U5v8d>.
> > >
> >
> > —
> > You are receiving this because you authored the thread.
> > Reply to this email directly, view it on GitHub
> > <#622 (comment)
>,
> > or mute the thread
> > <https://github.com/notifications/unsubscribe-auth/
ANkDKQKxBkju0r1ydmlCXxFLLe8axjatks5uA55WgaJpZM4U5v8d>
> > .
> >
> —
> You are receiving this because you commented.
> Reply to this email directly, view it on GitHub <
#622 (comment)>, or
mute the thread <https://github.com/notifications/unsubscribe-auth/AFExwG_
IuBAnycoBqdIkQuXJjAUAGyHIks5uA6AvgaJpZM4U5v8d>.
>
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#622 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ANkDKQMvYl4PadStaso5pkW63LKG8_Y8ks5uA6IPgaJpZM4U5v8d>
.
|
Hi David,
I think I found the cause of the issue: anonymous classes. I ran on the
attached Java file & got the error. See below.
Cheers,
Colm
"C:\Program Files\Java\jdk1.8.0_162\jre\bin\java"
-Dfile.encoding=windows-1252 -jar C:\OpenJML\openjml.jar
./com/guidewire/tools/profiler/model/a/Test.java -cp
C:\ProfilerAnalysisTool\ij-profiler-plugin\out\artifacts\ij_profiler_plugin_jar\ij-profiler-plugin.jar
-esc -specspath jml-specs -no-internalspecs
Internal JML bug - please report. BuildOpenJML-0.8.35-20180614
java.lang.NullPointerException
at
org.jmlspecs.openjml.JmlTreeCopier.visitJmlMethodDecl(JmlTreeCopier.java:131)
at
org.jmlspecs.openjml.JmlTreeCopier.visitJmlMethodDecl(JmlTreeCopier.java:1)
at org.jmlspecs.openjml.JmlTree$JmlMethodDecl.accept(JmlTree.java:1165)
at com.sun.tools.javac.tree.TreeCopier.copy(TreeCopier.java:58)
at org.jmlspecs.openjml.JmlTreeCopier.copy(JmlTreeCopier.java:88)
at org.jmlspecs.openjml.JmlTreeCopier.copy(JmlTreeCopier.java:1)
at com.sun.tools.javac.tree.TreeCopier.visitClass(TreeCopier.java:162)
at
org.jmlspecs.openjml.JmlTreeCopier.visitJmlClassDecl(JmlTreeCopier.java:117)
at
org.jmlspecs.openjml.JmlTreeCopier.visitJmlClassDecl(JmlTreeCopier.java:1)
at org.jmlspecs.openjml.JmlTree$JmlClassDecl.accept(JmlTree.java:1081)
at com.sun.tools.javac.tree.TreeCopier.copy(TreeCopier.java:58)
at com.sun.tools.javac.tree.TreeCopier.visitNewClass(TreeCopier.java:293)
at org.jmlspecs.openjml.JmlTreeCopier.visitNewClass(JmlTreeCopier.java:774)
at org.jmlspecs.openjml.JmlTreeCopier.visitNewClass(JmlTreeCopier.java:1)
at com.sun.tools.javac.tree.TreeCopier.visitNewClass(TreeCopier.java:1)
at com.sun.tools.javac.tree.JCTree$JCNewClass.accept(JCTree.java:1532)
at com.sun.tools.javac.tree.TreeCopier.copy(TreeCopier.java:58)
at org.jmlspecs.openjml.JmlTreeCopier.copy(JmlTreeCopier.java:88)
at org.jmlspecs.openjml.JmlTreeCopier.copy(JmlTreeCopier.java:1)
at
com.sun.tools.javac.tree.TreeCopier.visitMethodInvocation(TreeCopier.java:269)
at
org.jmlspecs.openjml.JmlTreeCopier.visitMethodInvocation(JmlTreeCopier.java:760)
at
org.jmlspecs.openjml.JmlTreeCopier.visitMethodInvocation(JmlTreeCopier.java:1)
at
com.sun.tools.javac.tree.TreeCopier.visitMethodInvocation(TreeCopier.java:1)
at
com.sun.tools.javac.tree.JCTree$JCMethodInvocation.accept(JCTree.java:1477)
at com.sun.tools.javac.tree.TreeCopier.copy(TreeCopier.java:58)
at com.sun.tools.javac.tree.TreeCopier.copy(TreeCopier.java:51)
at
com.sun.tools.javac.comp.DeferredAttr.attribSpeculative(DeferredAttr.java:368)
at com.sun.tools.javac.comp.DeferredAttr$1.complete(DeferredAttr.java:280)
at
com.sun.tools.javac.comp.DeferredAttr$DeferredType.check(DeferredAttr.java:246)
at
com.sun.tools.javac.comp.DeferredAttr$DeferredType.check(DeferredAttr.java:233)
at
com.sun.tools.javac.comp.Resolve$MethodResultInfo.check(Resolve.java:1009)
at com.sun.tools.javac.comp.Resolve$4.checkArg(Resolve.java:836)
at
com.sun.tools.javac.comp.Resolve$AbstractMethodCheck.argumentsAcceptable(Resolve.java:736)
at com.sun.tools.javac.comp.Resolve$4.argumentsAcceptable(Resolve.java:845)
at com.sun.tools.javac.comp.Infer.instantiateMethod(Infer.java:162)
at com.sun.tools.javac.comp.Resolve.rawInstantiate(Resolve.java:568)
at com.sun.tools.javac.comp.Resolve.selectBest(Resolve.java:1450)
at
com.sun.tools.javac.comp.JmlResolve.findMethodInScope(JmlResolve.java:281)
at com.sun.tools.javac.comp.Resolve.findMethod(Resolve.java:1708)
at com.sun.tools.javac.comp.Resolve.findMethod(Resolve.java:1681)
at com.sun.tools.javac.comp.Resolve$9.doLookup(Resolve.java:2452)
at
com.sun.tools.javac.comp.Resolve$BasicLookupHelper.lookup(Resolve.java:3113)
at com.sun.tools.javac.comp.Resolve.lookupMethod(Resolve.java:3364)
at
com.sun.tools.javac.comp.Resolve.resolveQualifiedMethod(Resolve.java:2449)
at
com.sun.tools.javac.comp.Resolve.resolveQualifiedMethod(Resolve.java:2443)
at com.sun.tools.javac.comp.Attr.selectSym(Attr.java:3407)
at com.sun.tools.javac.comp.Attr.visitSelect(Attr.java:3289)
at com.sun.tools.javac.comp.JmlAttr.visitSelect(JmlAttr.java:5059)
at com.sun.tools.javac.tree.JCTree$JCFieldAccess.accept(JCTree.java:1897)
at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
at com.sun.tools.javac.comp.Attr.visitApply(Attr.java:1826)
at com.sun.tools.javac.comp.JmlAttr.visitApply(JmlAttr.java:3586)
at
com.sun.tools.javac.tree.JCTree$JCMethodInvocation.accept(JCTree.java:1465)
at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
at com.sun.tools.javac.comp.Attr.attribExpr(Attr.java:618)
at com.sun.tools.javac.comp.JmlAttr.attribExpr(JmlAttr.java:6079)
at com.sun.tools.javac.comp.Attr.visitVarDef(Attr.java:1076)
at com.sun.tools.javac.comp.JmlAttr.visitJmlVariableDecl(JmlAttr.java:6007)
at org.jmlspecs.openjml.JmlTree$JmlVariableDecl.accept(JmlTree.java:1281)
at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:645)
at com.sun.tools.javac.comp.JmlAttr.attribStat(JmlAttr.java:509)
at com.sun.tools.javac.comp.Attr.attribStats(Attr.java:661)
at com.sun.tools.javac.comp.Attr.visitBlock(Attr.java:1125)
at com.sun.tools.javac.comp.JmlAttr.visitBlock(JmlAttr.java:629)
at com.sun.tools.javac.comp.JmlAttr.visitJmlBlock(JmlAttr.java:3935)
at org.jmlspecs.openjml.JmlTree$JmlBlock.accept(JmlTree.java:1224)
at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:645)
at com.sun.tools.javac.comp.JmlAttr.attribStat(JmlAttr.java:509)
at com.sun.tools.javac.comp.Attr.visitMethodDef(Attr.java:1013)
at com.sun.tools.javac.comp.JmlAttr.visitMethodDef(JmlAttr.java:1007)
at com.sun.tools.javac.comp.JmlAttr.visitJmlMethodDecl(JmlAttr.java:5960)
at org.jmlspecs.openjml.JmlTree$JmlMethodDecl.accept(JmlTree.java:1155)
at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:645)
at com.sun.tools.javac.comp.JmlAttr.attribStat(JmlAttr.java:509)
at com.sun.tools.javac.comp.Attr.attribClassBody(Attr.java:4376)
at com.sun.tools.javac.comp.JmlAttr.attribClassBody(JmlAttr.java:492)
at com.sun.tools.javac.comp.Attr.attribClass(Attr.java:4284)
at com.sun.tools.javac.comp.JmlAttr.attribClass(JmlAttr.java:370)
at com.sun.tools.javac.comp.Attr.attribClass(Attr.java:4213)
at com.sun.tools.javac.comp.Attr.attrib(Attr.java:4188)
at com.sun.tools.javac.main.JavaCompiler.attribute(JavaCompiler.java:1258)
at org.jmlspecs.openjml.JmlCompiler.attribute(JmlCompiler.java:471)
at com.sun.tools.javac.main.JavaCompiler.compile2(JavaCompiler.java:898)
at org.jmlspecs.openjml.JmlCompiler.compile2(JmlCompiler.java:694)
at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:867)
at com.sun.tools.javac.main.Main.compile(Main.java:553)
at com.sun.tools.javac.main.Main.compile(Main.java:410)
at org.jmlspecs.openjml.Main.compile(Main.java:577)
at com.sun.tools.javac.main.Main.compile(Main.java:399)
at com.sun.tools.javac.main.Main.compile(Main.java:390)
at org.jmlspecs.openjml.Main.execute(Main.java:413)
at org.jmlspecs.openjml.Main.execute(Main.java:371)
at org.jmlspecs.openjml.Main.execute(Main.java:358)
at org.jmlspecs.openjml.Main.main(Main.java:330)
Process finished with exit code 4
…On 27 June 2018 at 16:24, Colm Bhandal ***@***.***> wrote:
Hi David,
Sure. Here is the cmd line & error all in one. Unfortunately I can't share
the code as it's not mine ;)
C:\ProfilerAnalysisTool\ij-profiler-plugin\src\main\java>java -jar
C:\OpenJML\openjml.jar -dir ./com/guidewire/tools/profiler -cp
C:\ProfilerAnalysisTool\ij-profiler-plugin\out\artifacts\
ij_profiler_plugin_jar\ij-profiler-plugin.jar -no-internalspecs
Internal JML bug - please report. BuildOpenJML-0.8.35-20180614
java.lang.NullPointerException
at org.jmlspecs.openjml.JmlTreeCopier.visitJmlMethodDecl(
JmlTreeCopier.java:131)
at org.jmlspecs.openjml.JmlTreeCopier.visitJmlMethodDecl(
JmlTreeCopier.java:1)
at org.jmlspecs.openjml.JmlTree$JmlMethodDecl.accept(JmlTree.
java:1165)
at com.sun.tools.javac.tree.TreeCopier.copy(TreeCopier.java:58)
at org.jmlspecs.openjml.JmlTreeCopier.copy(JmlTreeCopier.java:88)
at org.jmlspecs.openjml.JmlTreeCopier.copy(JmlTreeCopier.java:1)
at com.sun.tools.javac.tree.TreeCopier.visitClass(
TreeCopier.java:162)
at org.jmlspecs.openjml.JmlTreeCopier.visitJmlClassDecl(
JmlTreeCopier.java:117)
at org.jmlspecs.openjml.JmlTreeCopier.visitJmlClassDecl(
JmlTreeCopier.java:1)
at org.jmlspecs.openjml.JmlTree$JmlClassDecl.accept(JmlTree.
java:1081)
at com.sun.tools.javac.tree.TreeCopier.copy(TreeCopier.java:58)
at com.sun.tools.javac.tree.TreeCopier.visitNewClass(
TreeCopier.java:293)
at org.jmlspecs.openjml.JmlTreeCopier.visitNewClass(
JmlTreeCopier.java:774)
at org.jmlspecs.openjml.JmlTreeCopier.visitNewClass(
JmlTreeCopier.java:1)
at com.sun.tools.javac.tree.TreeCopier.visitNewClass(
TreeCopier.java:1)
at com.sun.tools.javac.tree.JCTree$JCNewClass.accept(
JCTree.java:1532)
at com.sun.tools.javac.tree.TreeCopier.copy(TreeCopier.java:58)
at org.jmlspecs.openjml.JmlTreeCopier.copy(JmlTreeCopier.java:88)
at org.jmlspecs.openjml.JmlTreeCopier.copy(JmlTreeCopier.java:1)
at com.sun.tools.javac.tree.TreeCopier.visitMethodInvocation(
TreeCopier.java:269)
at org.jmlspecs.openjml.JmlTreeCopier.visitMethodInvocation(
JmlTreeCopier.java:760)
at org.jmlspecs.openjml.JmlTreeCopier.visitMethodInvocation(
JmlTreeCopier.java:1)
at com.sun.tools.javac.tree.TreeCopier.visitMethodInvocation(
TreeCopier.java:1)
at com.sun.tools.javac.tree.JCTree$JCMethodInvocation.
accept(JCTree.java:1477)
at com.sun.tools.javac.tree.TreeCopier.copy(TreeCopier.java:58)
at com.sun.tools.javac.tree.TreeCopier.copy(TreeCopier.java:51)
at com.sun.tools.javac.comp.DeferredAttr.attribSpeculative(
DeferredAttr.java:368)
at com.sun.tools.javac.comp.DeferredAttr$1.complete(
DeferredAttr.java:280)
at com.sun.tools.javac.comp.DeferredAttr$DeferredType.
check(DeferredAttr.java:246)
at com.sun.tools.javac.comp.DeferredAttr$DeferredType.
check(DeferredAttr.java:233)
at com.sun.tools.javac.comp.Resolve$MethodResultInfo.
check(Resolve.java:1009)
at com.sun.tools.javac.comp.Resolve$4.checkArg(Resolve.java:836)
at com.sun.tools.javac.comp.Resolve$AbstractMethodCheck.
argumentsAcceptable(Resolve.java:736)
at com.sun.tools.javac.comp.Resolve$4.argumentsAcceptable(
Resolve.java:845)
at com.sun.tools.javac.comp.Infer.instantiateMethod(Infer.
java:162)
at com.sun.tools.javac.comp.Resolve.rawInstantiate(
Resolve.java:568)
at com.sun.tools.javac.comp.Resolve.selectBest(Resolve.java:1450)
at com.sun.tools.javac.comp.JmlResolve.findMethodInScope(
JmlResolve.java:281)
at com.sun.tools.javac.comp.Resolve.findMethod(Resolve.java:1708)
at com.sun.tools.javac.comp.Resolve.findMethod(Resolve.java:1681)
at com.sun.tools.javac.comp.Resolve$9.doLookup(Resolve.java:2452)
at com.sun.tools.javac.comp.Resolve$BasicLookupHelper.
lookup(Resolve.java:3113)
at com.sun.tools.javac.comp.Resolve.lookupMethod(Resolve.
java:3364)
at com.sun.tools.javac.comp.Resolve.resolveQualifiedMethod(
Resolve.java:2449)
at com.sun.tools.javac.comp.Resolve.resolveQualifiedMethod(
Resolve.java:2443)
at com.sun.tools.javac.comp.Attr.selectSym(Attr.java:3407)
at com.sun.tools.javac.comp.Attr.visitSelect(Attr.java:3289)
at com.sun.tools.javac.comp.JmlAttr.visitSelect(JmlAttr.java:5059)
at com.sun.tools.javac.tree.JCTree$JCFieldAccess.accept(
JCTree.java:1897)
at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
at com.sun.tools.javac.comp.Attr.visitApply(Attr.java:1826)
at com.sun.tools.javac.comp.JmlAttr.visitApply(JmlAttr.java:3586)
at com.sun.tools.javac.tree.JCTree$JCMethodInvocation.
accept(JCTree.java:1465)
at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
at com.sun.tools.javac.comp.Attr.visitReturn(Attr.java:1687)
at com.sun.tools.javac.tree.JCTree$JCReturn.accept(JCTree.
java:1384)
at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:645)
at com.sun.tools.javac.comp.JmlAttr.attribStat(JmlAttr.java:509)
at com.sun.tools.javac.comp.Attr.attribStats(Attr.java:661)
at com.sun.tools.javac.comp.Attr.visitBlock(Attr.java:1125)
at com.sun.tools.javac.comp.JmlAttr.visitBlock(JmlAttr.java:629)
at com.sun.tools.javac.comp.JmlAttr.visitJmlBlock(JmlAttr.
java:3935)
at org.jmlspecs.openjml.JmlTree$JmlBlock.accept(JmlTree.java:1224)
at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:645)
at com.sun.tools.javac.comp.JmlAttr.attribStat(JmlAttr.java:509)
at com.sun.tools.javac.comp.Attr.visitMethodDef(Attr.java:1013)
at com.sun.tools.javac.comp.JmlAttr.visitMethodDef(
JmlAttr.java:1007)
at com.sun.tools.javac.comp.JmlAttr.visitJmlMethodDecl(
JmlAttr.java:5960)
at org.jmlspecs.openjml.JmlTree$JmlMethodDecl.accept(JmlTree.
java:1155)
at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:645)
at com.sun.tools.javac.comp.JmlAttr.attribStat(JmlAttr.java:509)
at com.sun.tools.javac.comp.Attr.attribClassBody(Attr.java:4376)
at com.sun.tools.javac.comp.JmlAttr.attribClassBody(
JmlAttr.java:492)
at com.sun.tools.javac.comp.Attr.attribClass(Attr.java:4284)
at com.sun.tools.javac.comp.JmlAttr.attribClass(JmlAttr.java:370)
at com.sun.tools.javac.comp.Attr.attribClass(Attr.java:4213)
at com.sun.tools.javac.comp.Attr.visitClassDef(Attr.java:870)
at com.sun.tools.javac.comp.JmlAttr.visitClassDef(JmlAttr.
java:5951)
at com.sun.tools.javac.comp.JmlAttr.visitJmlClassDecl(
JmlAttr.java:5937)
at org.jmlspecs.openjml.JmlTree$JmlClassDecl.accept(JmlTree.
java:1071)
at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:645)
at com.sun.tools.javac.comp.JmlAttr.attribStat(JmlAttr.java:509)
at com.sun.tools.javac.comp.Attr.visitNewClass(Attr.java:2146)
at com.sun.tools.javac.comp.JmlAttr.visitNewClass(JmlAttr.
java:891)
at com.sun.tools.javac.tree.JCTree$JCNewClass.accept(
JCTree.java:1516)
at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
at com.sun.tools.javac.comp.Attr.visitReturn(Attr.java:1687)
at com.sun.tools.javac.tree.JCTree$JCReturn.accept(JCTree.
java:1384)
at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:645)
at com.sun.tools.javac.comp.JmlAttr.attribStat(JmlAttr.java:509)
at com.sun.tools.javac.comp.Attr.attribStats(Attr.java:661)
at com.sun.tools.javac.comp.Attr.visitBlock(Attr.java:1125)
at com.sun.tools.javac.comp.JmlAttr.visitBlock(JmlAttr.java:629)
at com.sun.tools.javac.comp.JmlAttr.visitJmlBlock(JmlAttr.
java:3935)
at org.jmlspecs.openjml.JmlTree$JmlBlock.accept(JmlTree.java:1224)
at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:645)
at com.sun.tools.javac.comp.JmlAttr.attribStat(JmlAttr.java:509)
at com.sun.tools.javac.comp.Attr.visitMethodDef(Attr.java:1013)
at com.sun.tools.javac.comp.JmlAttr.visitMethodDef(
JmlAttr.java:1007)
at com.sun.tools.javac.comp.JmlAttr.visitJmlMethodDecl(
JmlAttr.java:5960)
at org.jmlspecs.openjml.JmlTree$JmlMethodDecl.accept(JmlTree.
java:1155)
at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:645)
at com.sun.tools.javac.comp.JmlAttr.attribStat(JmlAttr.java:509)
at com.sun.tools.javac.comp.Attr.attribClassBody(Attr.java:4376)
at com.sun.tools.javac.comp.JmlAttr.attribClassBody(
JmlAttr.java:492)
at com.sun.tools.javac.comp.Attr.attribClass(Attr.java:4284)
at com.sun.tools.javac.comp.JmlAttr.attribClass(JmlAttr.java:370)
at com.sun.tools.javac.comp.JmlAttr.completeTodo(JmlAttr.java:448)
at com.sun.tools.javac.comp.JmlAttr.attribClass(JmlAttr.java:414)
at com.sun.tools.javac.comp.Attr.attribClass(Attr.java:4213)
at com.sun.tools.javac.comp.Attr.attrib(Attr.java:4188)
at com.sun.tools.javac.main.JavaCompiler.attribute(
JavaCompiler.java:1258)
at org.jmlspecs.openjml.JmlCompiler.attribute(
JmlCompiler.java:471)
at com.sun.tools.javac.main.JavaCompiler.compile2(
JavaCompiler.java:898)
at org.jmlspecs.openjml.JmlCompiler.compile2(JmlCompiler.java:694)
at com.sun.tools.javac.main.JavaCompiler.compile(
JavaCompiler.java:867)
at com.sun.tools.javac.main.Main.compile(Main.java:553)
at com.sun.tools.javac.main.Main.compile(Main.java:410)
at org.jmlspecs.openjml.Main.compile(Main.java:577)
at com.sun.tools.javac.main.Main.compile(Main.java:399)
at com.sun.tools.javac.main.Main.compile(Main.java:390)
at org.jmlspecs.openjml.Main.execute(Main.java:413)
at org.jmlspecs.openjml.Main.execute(Main.java:371)
at org.jmlspecs.openjml.Main.execute(Main.java:358)
at org.jmlspecs.openjml.Main.main(Main.java:330)
On 27 June 2018 at 16:17, David Cok ***@***.***> wrote:
> Please provide the full command-line that gave the error.
>
> > On Jun 27, 2018, at 5:09 PM, ColmBhandal ***@***.***>
> wrote:
> >
> > Hi David,
> >
> > Is there an easy way to find the version from within the OpenJML
> folder? I
> > can't seem to find any version.txt file, or similar. I believe I just
> > downloaded the latest version from master branch a few weeks ago. In the
> > bug, the following is reported:
> >
> > BuildOpenJML-0.8.35-20180614
> >
> > Does that give the version?
> >
> > As for the command, yes, I did actually get it to fail with that
> command,
> > from the cmd line, but originally, I was running this from IntelliJ with
> > this JAR run configuration:
> >
> > - *Path to JAR:* C:\OpenJML\openjml.jar
> > - *Program arguments:* -dir ./com/guidewire/tools/profiler -cp
> > C:\ProfilerAnalysisTool\ij-profiler-plugin\out\artifacts\ij_
> profiler_plugin_jar\ij-profiler-plugin.jar
> > -esc -specspath jml-specs -no-internalspecs
> > - *Working directory:*
> > C:\ProfilerAnalysisTool\ij-profiler-plugin\src\main\java
> > - *JRE:* C:\Program Files\Java\jdk1.8.0_162\jre
>
> >
> >
> > Thanks,
> >
> > Colm
> >
> >
> >
> >
> > On 27 June 2018 at 16:01, David Cok ***@***.***> wrote:
> >
> > > What version of OpenJML? Also, is that the full command-line? With
> -cp at
> > > the end with no argument?
> > >
> > > - David
> > >
> > > > On Jun 27, 2018, at 3:47 PM, ColmBhandal ***@***.***>
> > > wrote:
> > > >
> > > > I'm getting an NPE when running Open JML on directories within my
> > > project that contain other directories. If I run this command from my
> > > project's main directory:
> > > >
> > > > java -jar C:\OpenJML\openjml.jar -dir ./ -cp
> > > >
> > > > I get the below NPE whenever contains other directories. I debugged
> it a
> > > little and noticed that in JmlTreeCopier.java, during the method
> > > visitJmlMethodDecl(), the value of that.methodSpecsCombined is null,
> which
> > > seems to be the null reference causing the exception.
> > > >
> > > > Internal JML bug - please report. BuildOpenJML-0.8.35-20180614
> > > > java.lang.NullPointerException
> > > > at org.jmlspecs.openjml.JmlTreeCopier.visitJmlMethodDecl(
> > > JmlTreeCopier.java:131)
> > > > at org.jmlspecs.openjml.JmlTreeCopier.visitJmlMethodDecl(
> > > JmlTreeCopier.java:1)
> > > > at org.jmlspecs.openjml.JmlTree$JmlMethodDecl.accept(JmlTree.ja
> va:1165)
> > > > at com.sun.tools.javac.tree.TreeCopier.copy(TreeCopier.java:58)
> > > > at org.jmlspecs.openjml.JmlTreeCopier.copy(JmlTreeCopier.java:88)
> > > > at org.jmlspecs.openjml.JmlTreeCopier.copy(JmlTreeCopier.java:1)
> > > > at com.sun.tools.javac.tree.TreeCopier.visitClass(TreeCopier.
> java:162)
> > > > at org.jmlspecs.openjml.JmlTreeCopier.visitJmlClassDecl(
> > > JmlTreeCopier.java:117)
> > > > at org.jmlspecs.openjml.JmlTreeCopier.visitJmlClassDecl(
> > > JmlTreeCopier.java:1)
> > > > at org.jmlspecs.openjml.JmlTree$JmlClassDecl.accept(JmlTree.jav
> a:1081)
> > > > at com.sun.tools.javac.tree.TreeCopier.copy(TreeCopier.java:58)
> > > > at com.sun.tools.javac.tree.TreeCopier.visitNewClass(
> > > TreeCopier.java:293)
> > > > at org.jmlspecs.openjml.JmlTreeCopier.visitNewClass(
> > > JmlTreeCopier.java:774)
> > > > at org.jmlspecs.openjml.JmlTreeCopier.visitNewClass(
> > > JmlTreeCopier.java:1)
> > > > at com.sun.tools.javac.tree.TreeCopier.visitNewClass(TreeCopier
> .java:1)
> > > > at com.sun.tools.javac.tree.JCTree$JCNewClass.accept(JCTree.
> java:1532)
> > > > at com.sun.tools.javac.tree.TreeCopier.copy(TreeCopier.java:58)
> > > > at org.jmlspecs.openjml.JmlTreeCopier.copy(JmlTreeCopier.java:88)
> > > > at org.jmlspecs.openjml.JmlTreeCopier.copy(JmlTreeCopier.java:1)
> > > > at com.sun.tools.javac.tree.TreeCopier.visitMethodInvocation(
> > > TreeCopier.java:269)
> > > > at org.jmlspecs.openjml.JmlTreeCopier.visitMethodInvocation(
> > > JmlTreeCopier.java:760)
> > > > at org.jmlspecs.openjml.JmlTreeCopier.visitMethodInvocation(
> > > JmlTreeCopier.java:1)
> > > > at com.sun.tools.javac.tree.TreeCopier.visitMethodInvocation(
> > > TreeCopier.java:1)
> > > > at com.sun.tools.javac.tree.JCTree$JCMethodInvocation.
> > > accept(JCTree.java:1477)
> > > > at com.sun.tools.javac.tree.TreeCopier.copy(TreeCopier.java:58)
> > > > at com.sun.tools.javac.tree.TreeCopier.copy(TreeCopier.java:51)
> > > > at com.sun.tools.javac.comp.DeferredAttr.attribSpeculative(
> > > DeferredAttr.java:368)
> > > > at com.sun.tools.javac.comp.DeferredAttr$1.complete(
> > > DeferredAttr.java:280)
> > > > at com.sun.tools.javac.comp.DeferredAttr$DeferredType.
> > > check(DeferredAttr.java:246)
> > > > at com.sun.tools.javac.comp.DeferredAttr$DeferredType.
> > > check(DeferredAttr.java:233)
> > > > at com.sun.tools.javac.comp.Resolve$MethodResultInfo.
> > > check(Resolve.java:1009)
> > > > at com.sun.tools.javac.comp.Resolve$4.checkArg(Resolve.java:836)
> > > > at com.sun.tools.javac.comp.Resolve$AbstractMethodCheck.
> > > argumentsAcceptable(Resolve.java:736)
> > > > at com.sun.tools.javac.comp.Resolve$4.argumentsAcceptable(
> > > Resolve.java:845)
> > > > at com.sun.tools.javac.comp.Infer.instantiateMethod(Infer.java:162)
> > > > at com.sun.tools.javac.comp.Resolve.rawInstantiate(Resolve.
> java:568)
> > > > at com.sun.tools.javac.comp.Resolve.selectBest(Resolve.java:1450)
> > > > at com.sun.tools.javac.comp.JmlResolve.findMethodInScope(
> > > JmlResolve.java:281)
> > > > at com.sun.tools.javac.comp.Resolve.findMethod(Resolve.java:1708)
> > > > at com.sun.tools.javac.comp.Resolve.findMethod(Resolve.java:1681)
> > > > at com.sun.tools.javac.comp.Resolve$9.doLookup(Resolve.java:2452)
> > > > at com.sun.tools.javac.comp.Resolve$BasicLookupHelper.
> > > lookup(Resolve.java:3113)
> > > > at com.sun.tools.javac.comp.Resolve.lookupMethod(Resolve.java:3364)
> > > > at com.sun.tools.javac.comp.Resolve.resolveQualifiedMethod(
> > > Resolve.java:2449)
> > > > at com.sun.tools.javac.comp.Resolve.resolveQualifiedMethod(
> > > Resolve.java:2443)
> > > > at com.sun.tools.javac.comp.Attr.selectSym(Attr.java:3407)
> > > > at com.sun.tools.javac.comp.Attr.visitSelect(Attr.java:3289)
> > > > at com.sun.tools.javac.comp.JmlAttr.visitSelect(JmlAttr.java:5059)
> > > > at com.sun.tools.javac.tree.JCTree$JCFieldAccess.accept(
> > > JCTree.java:1897)
> > > > at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
> > > > at com.sun.tools.javac.comp.Attr.visitApply(Attr.java:1826)
> > > > at com.sun.tools.javac.comp.JmlAttr.visitApply(JmlAttr.java:3586)
> > > > at com.sun.tools.javac.tree.JCTree$JCMethodInvocation.
> > > accept(JCTree.java:1465)
> > > > at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
> > > > at com.sun.tools.javac.comp.Attr.visitReturn(Attr.java:1687)
> > > > at com.sun.tools.javac.tree.JCTree$JCReturn.accept(JCTree.java:
> 1384)
> > > > at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
> > > > at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:645)
> > > > at com.sun.tools.javac.comp.JmlAttr.attribStat(JmlAttr.java:509)
> > > > at com.sun.tools.javac.comp.Attr.attribStats(Attr.java:661)
> > > > at com.sun.tools.javac.comp.Attr.visitBlock(Attr.java:1125)
> > > > at com.sun.tools.javac.comp.JmlAttr.visitBlock(JmlAttr.java:629)
> > > > at com.sun.tools.javac.comp.JmlAttr.visitJmlBlock(JmlAttr.java:
> 3935)
> > > > at org.jmlspecs.openjml.JmlTree$JmlBlock.accept(JmlTree.java:1224)
> > > > at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
> > > > at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:645)
> > > > at com.sun.tools.javac.comp.JmlAttr.attribStat(JmlAttr.java:509)
> > > > at com.sun.tools.javac.comp.Attr.visitMethodDef(Attr.java:1013)
> > > > at com.sun.tools.javac.comp.JmlAttr.visitMethodDef(JmlAttr.
> java:1007)
> > > > at com.sun.tools.javac.comp.JmlAttr.visitJmlMethodDecl(
> > > JmlAttr.java:5960)
> > > > at org.jmlspecs.openjml.JmlTree$JmlMethodDecl.accept(JmlTree.ja
> va:1155)
> > > > at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
> > > > at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:645)
> > > > at com.sun.tools.javac.comp.JmlAttr.attribStat(JmlAttr.java:509)
> > > > at com.sun.tools.javac.comp.Attr.attribClassBody(Attr.java:4376)
> > > > at com.sun.tools.javac.comp.JmlAttr.attribClassBody(JmlAttr.
> java:492)
> > > > at com.sun.tools.javac.comp.Attr.attribClass(Attr.java:4284)
> > > > at com.sun.tools.javac.comp.JmlAttr.attribClass(JmlAttr.java:370)
> > > > at com.sun.tools.javac.comp.Attr.attribClass(Attr.java:4213)
> > > > at com.sun.tools.javac.comp.Attr.visitClassDef(Attr.java:870)
> > > > at com.sun.tools.javac.comp.JmlAttr.visitClassDef(JmlAttr.java:
> 5951)
> > > > at com.sun.tools.javac.comp.JmlAttr.visitJmlClassDecl(JmlAttr.
> java:5937)
> > > > at org.jmlspecs.openjml.JmlTree$JmlClassDecl.accept(JmlTree.jav
> a:1071)
> > > > at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
> > > > at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:645)
> > > > at com.sun.tools.javac.comp.JmlAttr.attribStat(JmlAttr.java:509)
> > > > at com.sun.tools.javac.comp.Attr.visitNewClass(Attr.java:2146)
> > > > at com.sun.tools.javac.comp.JmlAttr.visitNewClass(JmlAttr.java:891)
> > > > at com.sun.tools.javac.tree.JCTree$JCNewClass.accept(JCTree.
> java:1516)
> > > > at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
> > > > at com.sun.tools.javac.comp.Attr.visitReturn(Attr.java:1687)
> > > > at com.sun.tools.javac.tree.JCTree$JCReturn.accept(JCTree.java:
> 1384)
> > > > at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
> > > > at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:645)
> > > > at com.sun.tools.javac.comp.JmlAttr.attribStat(JmlAttr.java:509)
> > > > at com.sun.tools.javac.comp.Attr.attribStats(Attr.java:661)
> > > > at com.sun.tools.javac.comp.Attr.visitBlock(Attr.java:1125)
> > > > at com.sun.tools.javac.comp.JmlAttr.visitBlock(JmlAttr.java:629)
> > > > at com.sun.tools.javac.comp.JmlAttr.visitJmlBlock(JmlAttr.java:
> 3935)
> > > > at org.jmlspecs.openjml.JmlTree$JmlBlock.accept(JmlTree.java:1224)
> > > > at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
> > > > at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:645)
> > > > at com.sun.tools.javac.comp.JmlAttr.attribStat(JmlAttr.java:509)
> > > > at com.sun.tools.javac.comp.Attr.visitMethodDef(Attr.java:1013)
> > > > at com.sun.tools.javac.comp.JmlAttr.visitMethodDef(JmlAttr.
> java:1007)
> > > > at com.sun.tools.javac.comp.JmlAttr.visitJmlMethodDecl(
> > > JmlAttr.java:5960)
> > > > at org.jmlspecs.openjml.JmlTree$JmlMethodDecl.accept(JmlTree.ja
> va:1155)
> > > > at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
> > > > at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:645)
> > > > at com.sun.tools.javac.comp.JmlAttr.attribStat(JmlAttr.java:509)
> > > > at com.sun.tools.javac.comp.Attr.attribClassBody(Attr.java:4376)
> > > > at com.sun.tools.javac.comp.JmlAttr.attribClassBody(JmlAttr.
> java:492)
> > > > at com.sun.tools.javac.comp.Attr.attribClass(Attr.java:4284)
> > > > at com.sun.tools.javac.comp.JmlAttr.attribClass(JmlAttr.java:370)
> > > > at com.sun.tools.javac.comp.JmlAttr.completeTodo(JmlAttr.java:448)
> > > > at com.sun.tools.javac.comp.JmlAttr.attribClass(JmlAttr.java:414)
> > > > at com.sun.tools.javac.comp.Attr.attribClass(Attr.java:4213)
> > > > at com.sun.tools.javac.comp.Attr.attrib(Attr.java:4188)
> > > > at com.sun.tools.javac.main.JavaCompiler.attribute(
> > > JavaCompiler.java:1258)
> > > > at org.jmlspecs.openjml.JmlCompiler.attribute(JmlCompiler.java:471)
> > > > at com.sun.tools.javac.main.JavaCompiler.compile2(JavaCompiler.
> java:898)
> > > > at org.jmlspecs.openjml.JmlCompiler.compile2(JmlCompiler.java:694)
> > > > at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.
> java:867)
> > > > at com.sun.tools.javac.main.Main.compile(Main.java:553)
> > > > at com.sun.tools.javac.main.Main.compile(Main.java:410)
> > > > at org.jmlspecs.openjml.Main.compile(Main.java:577)
> > > > at com.sun.tools.javac.main.Main.compile(Main.java:399)
> > > > at com.sun.tools.javac.main.Main.compile(Main.java:390)
> > > > at org.jmlspecs.openjml.Main.execute(Main.java:413)
> > > > at org.jmlspecs.openjml.Main.execute(Main.java:371)
> > > > at org.jmlspecs.openjml.Main.execute(Main.java:358)
> > > > at org.jmlspecs.openjml.Main.main(Main.java:330)
> > > >
> > > > —
> > > > You are receiving this because you are subscribed to this thread.
> > > > Reply to this email directly, view it on GitHub <
> > > #622>, or mute the thread <
> > > https://github.com/notifications/unsubscribe-auth/AFExwC7rpCGTa9_
> > > 0BescclA7zS34cX9cks5uA4z9gaJpZM4U5v8d>.
> > > >
> > >
> > > —
> > > You are receiving this because you authored the thread.
> > > Reply to this email directly, view it on GitHub
> > > <#622 (comment)
> >,
> > > or mute the thread
> > > <https://github.com/notifications/unsubscribe-auth/ANkDKQKxB
> kju0r1ydmlCXxFLLe8axjatks5uA55WgaJpZM4U5v8d>
> > > .
> > >
> > —
> > You are receiving this because you commented.
> > Reply to this email directly, view it on GitHub <
> #622 (comment)>,
> or mute the thread <https://github.com/notificati
> ons/unsubscribe-auth/AFExwG_IuBAnycoBqdIkQuXJjAUAGyHIks5uA6AvgaJpZM4U5v8d
> >.
>
> >
>
> —
> You are receiving this because you authored the thread.
> Reply to this email directly, view it on GitHub
> <#622 (comment)>,
> or mute the thread
> <https://github.com/notifications/unsubscribe-auth/ANkDKQMvYl4PadStaso5pkW63LKG8_Y8ks5uA6IPgaJpZM4U5v8d>
> .
>
|
Please point me to (or send me) the versions of the com.google.common libraries you are using |
Sure. It's guava-17.0.jar. It ships with IntelliJ IDEA Community Edition 15.0.6.
|
David I don't think this is a Google dependency issue. I think it's something to do with functions in anonymous classes. I changed the code as follows:
And stripped the cmd line down to this: Resulting in: Internal JML bug - please report. BuildOpenJML-0.8.35-20180614 Process finished with exit code 4 |
I have this fixed; I hope to issue a release this weekend, which will include it.
- David
… On Jun 28, 2018, at 11:48 AM, ColmBhandal ***@***.***> wrote:
Sure. It's guava-17.0.jar. It ships with IntelliJ IDEA Community Edition 15.0.6.
Here is a link to the Maven repository: https://mvnrepository.com/artifact/com.google.guava/guava/17.0 <https://mvnrepository.com/artifact/com.google.guava/guava/17.0>
Here it is on GitHub: https://github.com/google/guava/wiki/Release17 <https://github.com/google/guava/wiki/Release17>
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub <#622 (comment)>, or mute the thread <https://github.com/notifications/unsubscribe-auth/AFExwN2HWU0XD77NUtLP4rbF_2alS0Zmks5uBKZ3gaJpZM4U5v8d>.
|
Awesome :) |
Fixed in 0.8.36 |
I'm getting an NPE when running Open JML on a class within which we create an object of an aonymous subclass e.g. an anonymous subclass of Function. We run:
java -jar C:\OpenJML\openjml.jar Test.java
For this file:
And get:
Internal JML bug - please report. BuildOpenJML-0.8.35-20180614
java.lang.NullPointerException
at org.jmlspecs.openjml.JmlTreeCopier.visitJmlMethodDecl(JmlTreeCopier.java:131)
at org.jmlspecs.openjml.JmlTreeCopier.visitJmlMethodDecl(JmlTreeCopier.java:1)
at org.jmlspecs.openjml.JmlTree$JmlMethodDecl.accept(JmlTree.java:1165)
at com.sun.tools.javac.tree.TreeCopier.copy(TreeCopier.java:58)
at org.jmlspecs.openjml.JmlTreeCopier.copy(JmlTreeCopier.java:88)
at org.jmlspecs.openjml.JmlTreeCopier.copy(JmlTreeCopier.java:1)
at com.sun.tools.javac.tree.TreeCopier.visitClass(TreeCopier.java:162)
at org.jmlspecs.openjml.JmlTreeCopier.visitJmlClassDecl(JmlTreeCopier.java:117)
at org.jmlspecs.openjml.JmlTreeCopier.visitJmlClassDecl(JmlTreeCopier.java:1)
at org.jmlspecs.openjml.JmlTree$JmlClassDecl.accept(JmlTree.java:1081)
at com.sun.tools.javac.tree.TreeCopier.copy(TreeCopier.java:58)
at com.sun.tools.javac.tree.TreeCopier.visitNewClass(TreeCopier.java:293)
at org.jmlspecs.openjml.JmlTreeCopier.visitNewClass(JmlTreeCopier.java:774)
at org.jmlspecs.openjml.JmlTreeCopier.visitNewClass(JmlTreeCopier.java:1)
at com.sun.tools.javac.tree.TreeCopier.visitNewClass(TreeCopier.java:1)
at com.sun.tools.javac.tree.JCTree$JCNewClass.accept(JCTree.java:1532)
at com.sun.tools.javac.tree.TreeCopier.copy(TreeCopier.java:58)
at org.jmlspecs.openjml.JmlTreeCopier.copy(JmlTreeCopier.java:88)
at org.jmlspecs.openjml.JmlTreeCopier.copy(JmlTreeCopier.java:1)
at com.sun.tools.javac.tree.TreeCopier.visitMethodInvocation(TreeCopier.java:269)
at org.jmlspecs.openjml.JmlTreeCopier.visitMethodInvocation(JmlTreeCopier.java:760)
at org.jmlspecs.openjml.JmlTreeCopier.visitMethodInvocation(JmlTreeCopier.java:1)
at com.sun.tools.javac.tree.TreeCopier.visitMethodInvocation(TreeCopier.java:1)
at com.sun.tools.javac.tree.JCTree$JCMethodInvocation.accept(JCTree.java:1477)
at com.sun.tools.javac.tree.TreeCopier.copy(TreeCopier.java:58)
at com.sun.tools.javac.tree.TreeCopier.copy(TreeCopier.java:51)
at com.sun.tools.javac.comp.DeferredAttr.attribSpeculative(DeferredAttr.java:368)
at com.sun.tools.javac.comp.DeferredAttr$1.complete(DeferredAttr.java:280)
at com.sun.tools.javac.comp.DeferredAttr$DeferredType.check(DeferredAttr.java:246)
at com.sun.tools.javac.comp.DeferredAttr$DeferredType.check(DeferredAttr.java:233)
at com.sun.tools.javac.comp.Resolve$MethodResultInfo.check(Resolve.java:1009)
at com.sun.tools.javac.comp.Resolve$4.checkArg(Resolve.java:836)
at com.sun.tools.javac.comp.Resolve$AbstractMethodCheck.argumentsAcceptable(Resolve.java:736)
at com.sun.tools.javac.comp.Resolve$4.argumentsAcceptable(Resolve.java:845)
at com.sun.tools.javac.comp.Infer.instantiateMethod(Infer.java:162)
at com.sun.tools.javac.comp.Resolve.rawInstantiate(Resolve.java:568)
at com.sun.tools.javac.comp.Resolve.selectBest(Resolve.java:1450)
at com.sun.tools.javac.comp.JmlResolve.findMethodInScope(JmlResolve.java:281)
at com.sun.tools.javac.comp.Resolve.findMethod(Resolve.java:1708)
at com.sun.tools.javac.comp.Resolve.findMethod(Resolve.java:1681)
at com.sun.tools.javac.comp.Resolve$9.doLookup(Resolve.java:2452)
at com.sun.tools.javac.comp.Resolve$BasicLookupHelper.lookup(Resolve.java:3113)
at com.sun.tools.javac.comp.Resolve.lookupMethod(Resolve.java:3364)
at com.sun.tools.javac.comp.Resolve.resolveQualifiedMethod(Resolve.java:2449)
at com.sun.tools.javac.comp.Resolve.resolveQualifiedMethod(Resolve.java:2443)
at com.sun.tools.javac.comp.Attr.selectSym(Attr.java:3407)
at com.sun.tools.javac.comp.Attr.visitSelect(Attr.java:3289)
at com.sun.tools.javac.comp.JmlAttr.visitSelect(JmlAttr.java:5059)
at com.sun.tools.javac.tree.JCTree$JCFieldAccess.accept(JCTree.java:1897)
at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
at com.sun.tools.javac.comp.Attr.visitApply(Attr.java:1826)
at com.sun.tools.javac.comp.JmlAttr.visitApply(JmlAttr.java:3586)
at com.sun.tools.javac.tree.JCTree$JCMethodInvocation.accept(JCTree.java:1465)
at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
at com.sun.tools.javac.comp.Attr.visitReturn(Attr.java:1687)
at com.sun.tools.javac.tree.JCTree$JCReturn.accept(JCTree.java:1384)
at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:645)
at com.sun.tools.javac.comp.JmlAttr.attribStat(JmlAttr.java:509)
at com.sun.tools.javac.comp.Attr.attribStats(Attr.java:661)
at com.sun.tools.javac.comp.Attr.visitBlock(Attr.java:1125)
at com.sun.tools.javac.comp.JmlAttr.visitBlock(JmlAttr.java:629)
at com.sun.tools.javac.comp.JmlAttr.visitJmlBlock(JmlAttr.java:3935)
at org.jmlspecs.openjml.JmlTree$JmlBlock.accept(JmlTree.java:1224)
at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:645)
at com.sun.tools.javac.comp.JmlAttr.attribStat(JmlAttr.java:509)
at com.sun.tools.javac.comp.Attr.visitMethodDef(Attr.java:1013)
at com.sun.tools.javac.comp.JmlAttr.visitMethodDef(JmlAttr.java:1007)
at com.sun.tools.javac.comp.JmlAttr.visitJmlMethodDecl(JmlAttr.java:5960)
at org.jmlspecs.openjml.JmlTree$JmlMethodDecl.accept(JmlTree.java:1155)
at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:645)
at com.sun.tools.javac.comp.JmlAttr.attribStat(JmlAttr.java:509)
at com.sun.tools.javac.comp.Attr.attribClassBody(Attr.java:4376)
at com.sun.tools.javac.comp.JmlAttr.attribClassBody(JmlAttr.java:492)
at com.sun.tools.javac.comp.Attr.attribClass(Attr.java:4284)
at com.sun.tools.javac.comp.JmlAttr.attribClass(JmlAttr.java:370)
at com.sun.tools.javac.comp.Attr.attribClass(Attr.java:4213)
at com.sun.tools.javac.comp.Attr.visitClassDef(Attr.java:870)
at com.sun.tools.javac.comp.JmlAttr.visitClassDef(JmlAttr.java:5951)
at com.sun.tools.javac.comp.JmlAttr.visitJmlClassDecl(JmlAttr.java:5937)
at org.jmlspecs.openjml.JmlTree$JmlClassDecl.accept(JmlTree.java:1071)
at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:645)
at com.sun.tools.javac.comp.JmlAttr.attribStat(JmlAttr.java:509)
at com.sun.tools.javac.comp.Attr.visitNewClass(Attr.java:2146)
at com.sun.tools.javac.comp.JmlAttr.visitNewClass(JmlAttr.java:891)
at com.sun.tools.javac.tree.JCTree$JCNewClass.accept(JCTree.java:1516)
at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
at com.sun.tools.javac.comp.Attr.visitReturn(Attr.java:1687)
at com.sun.tools.javac.tree.JCTree$JCReturn.accept(JCTree.java:1384)
at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:645)
at com.sun.tools.javac.comp.JmlAttr.attribStat(JmlAttr.java:509)
at com.sun.tools.javac.comp.Attr.attribStats(Attr.java:661)
at com.sun.tools.javac.comp.Attr.visitBlock(Attr.java:1125)
at com.sun.tools.javac.comp.JmlAttr.visitBlock(JmlAttr.java:629)
at com.sun.tools.javac.comp.JmlAttr.visitJmlBlock(JmlAttr.java:3935)
at org.jmlspecs.openjml.JmlTree$JmlBlock.accept(JmlTree.java:1224)
at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:645)
at com.sun.tools.javac.comp.JmlAttr.attribStat(JmlAttr.java:509)
at com.sun.tools.javac.comp.Attr.visitMethodDef(Attr.java:1013)
at com.sun.tools.javac.comp.JmlAttr.visitMethodDef(JmlAttr.java:1007)
at com.sun.tools.javac.comp.JmlAttr.visitJmlMethodDecl(JmlAttr.java:5960)
at org.jmlspecs.openjml.JmlTree$JmlMethodDecl.accept(JmlTree.java:1155)
at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:645)
at com.sun.tools.javac.comp.JmlAttr.attribStat(JmlAttr.java:509)
at com.sun.tools.javac.comp.Attr.attribClassBody(Attr.java:4376)
at com.sun.tools.javac.comp.JmlAttr.attribClassBody(JmlAttr.java:492)
at com.sun.tools.javac.comp.Attr.attribClass(Attr.java:4284)
at com.sun.tools.javac.comp.JmlAttr.attribClass(JmlAttr.java:370)
at com.sun.tools.javac.comp.JmlAttr.completeTodo(JmlAttr.java:448)
at com.sun.tools.javac.comp.JmlAttr.attribClass(JmlAttr.java:414)
at com.sun.tools.javac.comp.Attr.attribClass(Attr.java:4213)
at com.sun.tools.javac.comp.Attr.attrib(Attr.java:4188)
at com.sun.tools.javac.main.JavaCompiler.attribute(JavaCompiler.java:1258)
at org.jmlspecs.openjml.JmlCompiler.attribute(JmlCompiler.java:471)
at com.sun.tools.javac.main.JavaCompiler.compile2(JavaCompiler.java:898)
at org.jmlspecs.openjml.JmlCompiler.compile2(JmlCompiler.java:694)
at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:867)
at com.sun.tools.javac.main.Main.compile(Main.java:553)
at com.sun.tools.javac.main.Main.compile(Main.java:410)
at org.jmlspecs.openjml.Main.compile(Main.java:577)
at com.sun.tools.javac.main.Main.compile(Main.java:399)
at com.sun.tools.javac.main.Main.compile(Main.java:390)
at org.jmlspecs.openjml.Main.execute(Main.java:413)
at org.jmlspecs.openjml.Main.execute(Main.java:371)
at org.jmlspecs.openjml.Main.execute(Main.java:358)
at org.jmlspecs.openjml.Main.main(Main.java:330)
The text was updated successfully, but these errors were encountered: