go-lang-plugin-org / go-lang-idea-plugin

Google Go language IDE built using the IntelliJ Platform
https://plugins.jetbrains.com/plugin/5047
Other
4.56k stars 571 forks source link

Null pointer Intellij 13 #492

Closed ghost closed 10 years ago

ghost commented 10 years ago

Sadly I don't have good repro steps, I'm not exactly sure what I was doing when it happened. I was certainly editing some go code. I'm on intellij 13 plugin version: 0.9.15.1 (from the change log).

Here's the stack: null java.lang.NullPointerException at ro.redeul.google.go.intentions.statements.BaseBoolStatement.satisfiedBy(BaseBoolStatement.java:38) at ro.redeul.google.go.intentions.Intention.findMatchingElement(Intention.java:27) at ro.redeul.google.go.intentions.Intention.isAvailable(Intention.java:19) at com.intellij.codeInsight.intention.impl.config.IntentionActionWrapper.isAvailable(IntentionActionWrapper.java:56) at com.intellij.codeInsight.intention.impl.ShowIntentionActionsHandler.a(ShowIntentionActionsHandler.java:113) at com.intellij.codeInsight.intention.impl.ShowIntentionActionsHandler.availableFor(ShowIntentionActionsHandler.java:104) at com.intellij.codeInsight.daemon.impl.ShowIntentionsPass$2.process(ShowIntentionsPass.java:278) at com.intellij.codeInsight.daemon.impl.ShowIntentionsPass$2.process(ShowIntentionsPass.java:275) at com.intellij.codeInsight.intention.impl.ShowIntentionActionsHandler.chooseBetweenHostAndInjected(ShowIntentionActionsHandler.java:138) at com.intellij.codeInsight.daemon.impl.ShowIntentionsPass.getActionsToShow(ShowIntentionsPass.java:274) at com.intellij.codeInsight.daemon.impl.ShowIntentionsPass.b(ShowIntentionsPass.java:211) at com.intellij.codeInsight.daemon.impl.ShowIntentionsPass.doCollectInformation(ShowIntentionsPass.java:185) at com.intellij.codeHighlighting.TextEditorHighlightingPass.collectInformation(TextEditorHighlightingPass.java:61) at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass$1$1.run(PassExecutorService.java:355) at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1166) at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass$1.run(PassExecutorService.java:346) at com.intellij.openapi.progress.ProgressManager.executeProcessUnderProgress(ProgressManager.java:209) at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:212) at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.a(PassExecutorService.java:343) at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.run(PassExecutorService.java:319) at com.intellij.concurrency.JobLauncherImpl$VoidForkJoinTask.exec(JobLauncherImpl.java:194) at jsr166e.ForkJoinTask.doExec(ForkJoinTask.java:260) at jsr166e.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:858) at jsr166e.ForkJoinPool.scan(ForkJoinPool.java:1687) at jsr166e.ForkJoinPool.runWorker(ForkJoinPool.java:1642) at jsr166e.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:109)

dlsniper commented 10 years ago

So I've tried to find a case to replicate this but I can't find any. Any help is welcomed.

ghost commented 10 years ago

as I mentioned I don't have good repro steps. I have intellij 13 on Mac osx 9, with sun's 1.7 jdk (45).

I was hoping the stack file line numbers would be enough to see a potentially null value. If not you might as well close this.

on the plus side I havent had it happen again.

dlsniper commented 10 years ago

Now that I'm looking at my idea log I seen it once but I have no clue how to reproduce it. Judging by the code, it shouldn't produce an NPE but... I'd leave this open, maybe someone else can help.

gertcuykens commented 10 years ago
INFO     2014-01-07 02:22:16,195 module.py:617] default: "GET /_ah/warmup HTTP/1.1" 500 1077
ERROR    2014-01-07 02:32:35,159 go_runtime.py:166] Failed to build Go application: /home/gert/Downloads/token/gcl-12/bin/login.go:36: cannot use req.Expired() (type bool) as type error in assignment:
        bool does not implement error (missing Error method)

2014/01/07 03:32:35 go-app-builder: build timing: 3×8g (263.260624ms total), 4×gopack (51.759911ms total), 0×8l (0 total)
2014/01/07 03:32:35 go-app-builder: failed running 8g: exit status 1
(Executed command: /home/gert/go_appengine/goroot/bin/go-app-builder -app_base /home/gert/Downloads/token/gcl-12 -arch 8 -binary_name _go_app -dynamic -extra_imports appengine_internal/init -goroot /home/gert/go_appengine/goroot -nobuild_files ^^$ -unsafe -work_dir /tmp/tmp22ocMGappengine-go-bin -gcflags -I,/home/gert/go_appengine/goroot/pkg/linux_386_appengine -ldflags -L,/home/gert/go_appengine/goroot/pkg/linux_386_appengine -gopath /home/gert/.go bin/cash.go bin/token.go bin/service.go bin/endpoints.go bin/facebook.go bin/contact.go bin/twitter.go bin/google.go bin/user.go bin/login.go bin/oauth2.go bin/secret.go bin/linkedin.go)
INFO     2014-01-07 02:32:35,166 module.py:617] default: "GET /_ah/warmup HTTP/1.1" 500 1048

null
java.lang.NullPointerException
    at ro.redeul.google.go.inspection.FunctionCallInspection.checkFunctionTypeArguments(FunctionCallInspection.java:287)
    at ro.redeul.google.go.inspection.FunctionCallInspection.checkFunctionCallArguments(FunctionCallInspection.java:347)
    at ro.redeul.google.go.inspection.FunctionCallInspection.access$000(FunctionCallInspection.java:33)
    at ro.redeul.google.go.inspection.FunctionCallInspection$1.visitCallOrConvExpression(FunctionCallInspection.java:41)
    at ro.redeul.google.go.lang.psi.impl.expressions.primary.GoCallOrConvExpressionImpl.accept(GoCallOrConvExpressionImpl.java:78)
    at ro.redeul.google.go.lang.psi.impl.GoPsiElementBase.acceptChildren(GoPsiElementBase.java:61)
    at ro.redeul.google.go.lang.psi.visitors.GoRecursiveElementVisitor.visitElement(GoRecursiveElementVisitor.java:14)
    at ro.redeul.google.go.lang.psi.visitors.GoElementVisitor.visitIfStatement(GoElementVisitor.java:160)
    at ro.redeul.google.go.lang.psi.impl.statements.GoIfStatementImpl.accept(GoIfStatementImpl.java:65)
    at ro.redeul.google.go.lang.psi.impl.GoPsiElementBase.acceptChildren(GoPsiElementBase.java:61)
    at ro.redeul.google.go.lang.psi.visitors.GoRecursiveElementVisitor.visitElement(GoRecursiveElementVisitor.java:14)
    at ro.redeul.google.go.lang.psi.impl.GoPsiElementBase.accept(GoPsiElementBase.java:48)
    at ro.redeul.google.go.lang.psi.impl.GoPsiElementBase.acceptChildren(GoPsiElementBase.java:61)
    at ro.redeul.google.go.lang.psi.visitors.GoRecursiveElementVisitor.visitElement(GoRecursiveElementVisitor.java:14)
    at ro.redeul.google.go.lang.psi.visitors.GoElementVisitor.visitMethodDeclaration(GoElementVisitor.java:60)
    at ro.redeul.google.go.lang.psi.impl.toplevel.GoMethodDeclarationImpl.accept(GoMethodDeclarationImpl.java:28)
    at ro.redeul.google.go.lang.psi.impl.GoFileImpl.acceptChildren(GoFileImpl.java:205)
    at ro.redeul.google.go.lang.psi.visitors.GoRecursiveElementVisitor.visitElement(GoRecursiveElementVisitor.java:14)
    at ro.redeul.google.go.lang.psi.visitors.GoElementVisitor.visitFile(GoElementVisitor.java:40)
    at ro.redeul.google.go.inspection.FunctionCallInspection.doCheckFile(FunctionCallInspection.java:36)
    at ro.redeul.google.go.inspection.AbstractWholeGoFileInspection.checkFile(AbstractWholeGoFileInspection.java:23)
    at com.intellij.codeInspection.LocalInspectionTool$1.visitFile(LocalInspectionTool.java:144)
    at com.intellij.extapi.psi.PsiFileBase.accept(PsiFileBase.java:70)
    at com.intellij.codeInspection.InspectionEngine.acceptElements(InspectionEngine.java:74)
    at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass$5.process(LocalInspectionsPass.java:382)
    at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass$5.process(LocalInspectionsPass.java:377)
    at com.intellij.concurrency.ApplierCompleter.a(ApplierCompleter.java:119)
    at com.intellij.concurrency.ApplierCompleter.access$000(ApplierCompleter.java:42)
    at com.intellij.concurrency.ApplierCompleter$1.run(ApplierCompleter.java:82)
    at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1166)
    at com.intellij.concurrency.ApplierCompleter$2.run(ApplierCompleter.java:91)
    at com.intellij.openapi.progress.ProgressManager.executeProcessUnderProgress(ProgressManager.java:209)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:212)
    at com.intellij.concurrency.ApplierCompleter.a(ApplierCompleter.java:103)
    at com.intellij.concurrency.ApplierCompleter.compute(ApplierCompleter.java:79)
    at jsr166e.CountedCompleter.exec(CountedCompleter.java:684)
    at jsr166e.ForkJoinTask.doExec(ForkJoinTask.java:260)
    at jsr166e.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:858)
    at jsr166e.ForkJoinPool.scan(ForkJoinPool.java:1687)
    at jsr166e.ForkJoinPool.runWorker(ForkJoinPool.java:1642)
    at jsr166e.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:109)
dlsniper commented 10 years ago

@gertcuykens thanks for this error. I think it's a different one by the looks of the stacktrace so please open a new issue in the future.

Can you please include a sample of code and/or what were you doing when it happened? Thanks.

WULCAN commented 10 years ago

I got the exact same stack trace as jhuffaker yesterday on IDEA 13.1.3 Community Edition on Windows 7.

I was working on a very small project like hello world but just as jhuffaker, I do not remember exactly what I did to produce this.

My IDEA installation was fresh from yesterday. All configuration I did was to disable most plugins and install Go Language plugin.

null
java.lang.NullPointerException
    at ro.redeul.google.go.intentions.statements.BaseBoolStatement.satisfiedBy(BaseBoolStatement.java:38)
    at ro.redeul.google.go.intentions.Intention.findMatchingElement(Intention.java:27)
    at ro.redeul.google.go.intentions.Intention.isAvailable(Intention.java:19)
    at com.intellij.codeInsight.intention.impl.config.IntentionActionWrapper.isAvailable(IntentionActionWrapper.java:56)
    at com.intellij.codeInsight.intention.impl.ShowIntentionActionsHandler.isAvailableHere(ShowIntentionActionsHandler.java:113)
    at com.intellij.codeInsight.intention.impl.ShowIntentionActionsHandler.availableFor(ShowIntentionActionsHandler.java:104)
    at com.intellij.codeInsight.daemon.impl.ShowIntentionsPass$3.process(ShowIntentionsPass.java:276)
    at com.intellij.codeInsight.daemon.impl.ShowIntentionsPass$3.process(ShowIntentionsPass.java:273)
    at com.intellij.codeInsight.intention.impl.ShowIntentionActionsHandler.chooseBetweenHostAndInjected(ShowIntentionActionsHandler.java:138)
    at com.intellij.codeInsight.daemon.impl.ShowIntentionsPass.getActionsToShow(ShowIntentionsPass.java:272)
    at com.intellij.codeInsight.daemon.impl.ShowIntentionsPass.getIntentionActionsToShow(ShowIntentionsPass.java:212)
    at com.intellij.codeInsight.daemon.impl.ShowIntentionsPass.doCollectInformation(ShowIntentionsPass.java:186)
    at com.intellij.codeHighlighting.TextEditorHighlightingPass.collectInformation(TextEditorHighlightingPass.java:61)
    at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass$1$1.run(PassExecutorService.java:380)
    at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1154)
    at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass$1.run(PassExecutorService.java:371)
    at com.intellij.openapi.progress.ProgressManager.executeProcessUnderProgress(ProgressManager.java:209)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:212)
    at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.doRun(PassExecutorService.java:368)
    at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.run(PassExecutorService.java:344)
    at com.intellij.concurrency.JobLauncherImpl$VoidForkJoinTask.exec(JobLauncherImpl.java:193)
    at jsr166e.ForkJoinTask.doExec(ForkJoinTask.java:260)
    at jsr166e.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:858)
    at jsr166e.ForkJoinPool.scan(ForkJoinPool.java:1687)
    at jsr166e.ForkJoinPool.runWorker(ForkJoinPool.java:1642)
    at jsr166e.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:109)
mtoader commented 10 years ago

No triggering code. So closing this for now.