This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 195069 - NullPointerException during java compilation when asserting a typed List
Summary: NullPointerException during java compilation when asserting a typed List
Status: RESOLVED DUPLICATE of bug 193862
Alias: None
Product: java
Classification: Unclassified
Component: Source (show other bugs)
Version: 7.0
Hardware: All All
: P3 normal (vote)
Assignee: Jan Lahoda
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-02-04 15:46 UTC by peterwlynch
Modified: 2012-10-22 20:50 UTC (History)
0 users

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description peterwlynch 2011-02-04 15:46:37 UTC
Unfortunately I cannot attach my source code, but I thought I would report this issue anyways.
It happended while I was editing a java file obviously.

Product Version = NetBeans IDE Dev (Build 201102020000)
Operating System = Mac OS X version 10.6.6 running on x86_64
Java; VM; Vendor = 1.6.0_22
Runtime = Java HotSpot(TM) 64-Bit Server VM 17.1-b03-307


Caused: java.lang.NullPointerException
	at com.sun.tools.javac.code.Types$UnaryVisitor.visit(Types.java:3643)
	at com.sun.tools.javac.code.Types$Subst.subst(Types.java:2182)
	at com.sun.tools.javac.code.Types.subst(Types.java:2156)
	at com.sun.tools.javac.comp.Infer.instantiateMethod(Infer.java:400)
	at com.sun.tools.javac.comp.Resolve.rawInstantiate(Resolve.java:393)
	at com.sun.tools.javac.comp.Resolve.instantiate(Resolve.java:428)
	at com.sun.tools.javac.comp.Resolve.signatureMoreSpecific(Resolve.java:824)
	at com.sun.tools.javac.comp.Resolve.mostSpecific(Resolve.java:733)
	at com.sun.tools.javac.comp.Resolve.selectBest(Resolve.java:707)
	at com.sun.tools.javac.comp.Resolve.findFun(Resolve.java:1023)
	at com.sun.tools.javac.comp.Resolve.resolveMethod(Resolve.java:1377)
	at com.sun.tools.javac.comp.Attr.visitIdent(Attr.java:2196)
	at com.sun.tools.javac.tree.JCTree$JCIdent.accept(JCTree.java:1717)
	at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:458)
	at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:431)
	at com.sun.tools.javac.comp.Attr.attribExpr(Attr.java:477)
	at com.sun.tools.javac.comp.Attr.visitApply(Attr.java:1484)
	at com.sun.tools.javac.tree.JCTree$JCMethodInvocation.accept(JCTree.java:1329)
	at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:458)
	at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:431)
	at com.sun.tools.javac.comp.Attr.attribArgs(Attr.java:532)
	at com.sun.tools.javac.comp.Attr.visitApply(Attr.java:1472)
	at com.sun.tools.javac.tree.JCTree$JCMethodInvocation.accept(JCTree.java:1329)
	at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:458)
	at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:431)
	at com.sun.tools.javac.comp.Attr.attribExpr(Attr.java:488)
	at com.sun.tools.javac.comp.Attr.visitExec(Attr.java:1249)
	at com.sun.tools.javac.tree.JCTree$JCExpressionStatement.accept(JCTree.java:1175)
	at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:458)
	at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:431)
	at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:508)
	at com.sun.tools.javac.comp.Attr.attribStats(Attr.java:524)
	at com.sun.tools.javac.comp.Attr.visitBlock(Attr.java:906)
	at com.sun.tools.javac.tree.JCTree$JCBlock.accept(JCTree.java:789)
	at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:458)
	at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:431)
	at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:508)
	at com.sun.tools.javac.comp.Attr.visitMethodDef(Attr.java:821)
	at com.sun.tools.javac.tree.JCTree$JCMethodDecl.accept(JCTree.java:676)
	at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:458)
	at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:431)
	at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:508)
	at com.sun.tools.javac.comp.Attr.attribClassBody(Attr.java:3239)
	at com.sun.tools.javac.comp.Attr.attribClass(Attr.java:3165)
	at com.sun.tools.javac.comp.Attr.attribClass(Attr.java:3096)
	at com.sun.tools.javac.main.JavaCompiler.attribute(JavaCompiler.java:1242)
	at com.sun.tools.javac.main.JavaCompiler.attribute(JavaCompiler.java:1216)
	at com.sun.tools.javac.api.JavacTaskImpl.analyze(JavacTaskImpl.java:476)
	at com.sun.tools.javac.api.JavacTaskImpl.analyze(JavacTaskImpl.java:455)
	at org.netbeans.modules.java.source.parsing.JavacParser.moveToPhase(JavacParser.java:578)
	at org.netbeans.modules.java.source.parsing.JavacParser.getResult(JavacParser.java:435)
	at org.netbeans.modules.java.source.parsing.JavacParser.getResult(JavacParser.java:155)
	at org.netbeans.modules.parsing.impl.SourceCache.getResult(SourceCache.java:222)
[catch] at org.netbeans.modules.parsing.impl.TaskProcessor$CompilationJob.run(TaskProcessor.java:665)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:680)
Comment 1 peterwlynch 2011-02-04 16:03:41 UTC
Hopefully this helps. When I cut this code from the java file, problem goes away. When I add it back, NPE everytime I try to save the file.


        proj.getProfiles();
        asertThat(proj.getProfiles(), contains(items));
        assertThat(proj.getProfiles(), equalTo(BuildResultDTO.SUCCESS));

Things of note:
* spelling mistakes (asert*)
* items refers to a type that is not the same as what getProfiles() returns
* BuldResultDTO.SUCCESS is an enum
* SUCCESS is not the same as the type returned by getProfiles()
* above code uses hamcrest assertions
Comment 2 peterwlynch 2011-02-04 16:10:38 UTC
Even more:
Adding this code to a junit test that uses Hamcrest assertions creates the NPE everytime.

        assertThat(profiles, contains(null))

profiles is a List of a specific type. List<MyType>
Comment 3 Marian Mirilovic 2012-10-22 20:50:30 UTC

*** This bug has been marked as a duplicate of bug 193862 ***