The Eclipse IDE had become unusable. With each Save, the cursor would turn into a beach ball for several seconds. Startup messages pointed to a culprit: Mylyn.
java.lang.IllegalArgumentException: The feature 'application' is not a valid feature
...
Root exception:
org.eclipse.osgi.framework.internal.core.AbstractBundle$BundleStatusException
...
MESSAGE While loading class "org.eclipse.mylyn.tasks.ui.TasksUiPlugin", thread
"Thread[main,6,main]" timed out waiting (5000ms) for thread "Thread[Worker-3,5,main]"
to finish starting bundle "update@plugins/org.eclipse.mylyn.tasks.ui_2.0.0.v20070627-1400.jar [399]".
To avoid deadlock, thread "Thread[main,6,main]" is proceeding but
"org.eclipse.mylyn.tasks.ui.TasksUiPlugin" may not be fully initialized.
After reading numerous posts on the topic, I tried
many different fixes. Finally, I read the words of
Eugene Kuleshov: "
Another option is disable Mylyn's hyperlink detector wich you can do at Window / Preferences / General / Editors / Text Editors / Hyperlinking."
What worked
- Open Eclipse Preferences (Apple-,).
- Type filter text "hyperlink", or navigate to General : Editors : Text Editors : Hyperlinking.
- Deselect checkboxes "Mylyn Tasks" and "Mylyn URLs".
- Click Apply, then OK.
- Restart Eclipse.
Results
Eclipse has faster startup, scrolling, and search, takes up less memory, saves without beachball delays, and supports my favorite plugins nicely. Turning off Mylyn hyperlinking makes my days more productive.
Other Fixes Tried
- Removing or disabling Mylyn did not work. It seems there are circular dependencies.
- Removed or disabled plugins, including Aptana and JSEclipse.
- Upgraded to 4GB of RAM. Already had 2.6GHz MacBook Pro with 180Gb HD, and Mac OS X Leopard (10.5.2).
- Freed up 80GB of hard disk space.
- Increased Eclipse memory settings, and found out along the way that Eclipse has a Mac OSX bug that prevents Java VM detection. In the thread "--launcher.XXMaxPermSize: Can't identify Sun VM" you'll find no fewer than 34 posts, and no resolution, as of 2008-04-21. "java.lang.OutOfMemoryError: PermGen space" was the original complaint.
- Turned off Eclipse spell-checking. General : Editors : Text Editors : Spelling. This eliminated the yellow squiggly highlights under variable names and reserved words such as "var", and sped up editing. Typically 100 such warnings in a 600-line JavaScript file. With six files open, memory footprint included Real Memory: 347MB, Vmem: 2.08GB. Without spellchecking, 214MB and 1.95GB.
- Ran JBoss at the command line, instead of in Eclipse.
- Turned Aptana code completion (contextual help) delay up to 9999 milliseconds.
Labels: beach ball, beachball, eclipse, mac osx, mylyn