IDEA - 8.1.3 -- frustrating plugin/IDEA core problems
This morning I reinstalled IDEA-8 (well essentially deleted the $HOME/.IntelliJIdea8x directory) because of frustrating problems with starting Tomcat6 from IDEA - something that worked perfectly well before.
Anyway after installing some of my usual favorite plugins e.g. Hungry Backspace, IntelliJAD8, Code Navigator, KeyPromoter, etc. I got a stacktrace and the red icon kept getting in my face. After a lot of frustration, I gave up and unistalled most of the non-core IDEA plugins (those that are from developers external to JetBrains).
Would someone please be so kind as to take a look at the following stacktrace and attached screendump and let me know what plugin it is coming from, so that I can forget about using it? I'm using Ubuntu Linux 9.04 with IDEA 8.1.3. Thanks in advance.
null
java.lang.AbstractMethodError
at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass$1.compare(GeneralHighlightingPass.java:2)
at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass$1.compare(GeneralHighlightingPass.java:3)
at java.util.Arrays.mergeSort(Arrays.java:1270)
at java.util.Arrays.sort(Arrays.java:1210)
at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.a(GeneralHighlightingPass.java:203)
at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.collectInformationWithProgress(GeneralHighlightingPass.java:63)
at com.intellij.codeInsight.daemon.impl.ProgressableTextEditorHighlightingPass.doCollectInformation(ProgressableTextEditorHighlightingPass.java:15)
at com.intellij.codeHighlighting.TextEditorHighlightingPass.collectInformation(TextEditorHighlightingPass.java:13)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass$1$1.run(PassExecutorService.java:2)
at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:343)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass$1.run(PassExecutorService.java:2)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:13)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.run(PassExecutorService.java:21)
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:619)
java.lang.AbstractMethodError
at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass$1.compare(GeneralHighlightingPass.java:2)
at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass$1.compare(GeneralHighlightingPass.java:3)
at java.util.Arrays.mergeSort(Arrays.java:1270)
at java.util.Arrays.sort(Arrays.java:1210)
at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.a(GeneralHighlightingPass.java:203)
at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.collectInformationWithProgress(GeneralHighlightingPass.java:63)
at com.intellij.codeInsight.daemon.impl.ProgressableTextEditorHighlightingPass.doCollectInformation(ProgressableTextEditorHighlightingPass.java:15)
at com.intellij.codeHighlighting.TextEditorHighlightingPass.collectInformation(TextEditorHighlightingPass.java:13)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass$1$1.run(PassExecutorService.java:2)
at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:343)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass$1.run(PassExecutorService.java:2)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:13)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.run(PassExecutorService.java:21)
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:619)
java.lang.AbstractMethodError
at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass$1.compare(GeneralHighlightingPass.java:2)
at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass$1.compare(GeneralHighlightingPass.java:3)
at java.util.Arrays.mergeSort(Arrays.java:1270)
at java.util.Arrays.sort(Arrays.java:1210)
at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.a(GeneralHighlightingPass.java:203)
at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.collectInformationWithProgress(GeneralHighlightingPass.java:63)
at com.intellij.codeInsight.daemon.impl.ProgressableTextEditorHighlightingPass.doCollectInformation(ProgressableTextEditorHighlightingPass.java:15)
at com.intellij.codeHighlighting.TextEditorHighlightingPass.collectInformation(TextEditorHighlightingPass.java:13)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass$1$1.run(PassExecutorService.java:2)
at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:343)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass$1.run(PassExecutorService.java:2)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:13)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.run(PassExecutorService.java:21)
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:619)
Attachment(s):
Screenshot-IDE Fatal Errors.png
请先登录再写评论。
the error is due to some plugin doing some additional highlighting in editor
does it happen while editing certain files? this could help nail down the problem..
Yann - thank you very much for your response. The error came up as soon as IDEA wa started. I finally gave up and deleted the entire $HOME/.IntelliJIdea8x directory and that helped a whole lot. However, I had to reinstall all the non-core IDEA plugins that I use daily i.e. Code Navigator, Hungry Backspace, Key Promoter etc.
I really, really wish that JetBrains audits all external plugins and basically act as gatekeeper to only allow plugins that are well behaved to be installed. In other words, I really feel that JetBrains should have a strong, automated QA process to verify that all plugins work well in a number of use cases for each new release.
VK> I really, really wish that JetBrains audits all external plugins and
VK> basically act as gatekeeper to only allow plugins that are well
VK> behaved to be installed. In other words, I really feel that
VK> JetBrains should have a strong, automated QA process to verify that
VK> all plugins work well in a number of use cases for each new release.
How do you suggest they automatically QA arbitrary (and often complex) code
submitted by 3rd parties? Sounds like a huge (and probably impossible) job.
The exception handling generally does a pretty good job of identifying the
problem plugin already don't you think? Sure there's the odd case where things
slip through the cracks, but I can't imagine the benefits from trying to
automatically validate plugins would justify the huge effort involved in
doing so.
Hello Chris,
VK>> I really, really wish that JetBrains audits all external plugins
VK>> and basically act as gatekeeper to only allow plugins that are well
VK>> behaved to be installed. In other words, I really feel that
VK>> JetBrains should have a strong, automated QA process to verify that
VK>> all plugins work well in a number of use cases for each new
VK>> release.
VK>>
What can actually be done automatically is checking the API compatibility
- i.e. whether a plugin calls some methods that no longer exist, or doesn't
implement some interface method that was added. I hope that we will support
such checking some time in the future.
--
Dmitry Jemerov
Development Lead
JetBrains, Inc.
http://www.jetbrains.com/
"Develop with Pleasure!"