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
Please sign in to leave a comment.
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!"