User Experience Engineering

Monday, April 28, 2008

 

Ban the Beachball : Fix Eclipse on Mac OS X

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.
Deselect Mylyn hyperlinkingAfter 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

  1. Open Eclipse Preferences (Apple-,).
  2. Type filter text "hyperlink", or navigate to General : Editors : Text Editors : Hyperlinking.
  3. Deselect checkboxes "Mylyn Tasks" and "Mylyn URLs".
  4. Click Apply, then OK.
  5. 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: , , , ,


Comments:
Glad to find this post! I had a similar issue where I'd get a beach ball when twisting open java project source directories in the Package Explorer. It typically only happened when I first did this after a launch, but would often have to wait 30 seconds or more. It would also occur at other strange times.

I'm using Ganymede (3.4) and the checkboxes are named slightly differently. I disabled "Tasks" and "Task URLs" and the delays have gone away (so far, anyway). I've got Java 1.4, 1.5 and 1.6 and am running 10.5.4.

Thanks again,
. John
 
John,
I'm glad that it helped!
--Monte
 
I think this finally solved the abysmal performance of Eclipse on OS X. I had already tried other suggestions too such as disabling spell checking, increase memory allocation, etc.

Cliff
www.jspell.com
 
Post a Comment

<< Home

Archives

March 2006   May 2006   July 2006   August 2006   January 2007   March 2007   April 2007   August 2007   March 2008   April 2008   August 2008   April 2010   May 2010   July 2010   September 2010   April 2011   November 2012   March 2013   December 2013  

This page is powered by Blogger. Isn't yours?