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
4 comments
Comment actions Permalink

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..

0
Comment actions Permalink

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.

0
Comment actions Permalink

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.


0
Comment actions Permalink

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>>

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.


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!"


0

Please sign in to leave a comment.