开发者

Eclipse Galileo won't start after OS X update to 10.6.3

I have just updated os x to 10.6.3 and no Eclipse won't start the logs show the following error, but I can't figure it out. Can anyone shed any light?

!SESSION 2010-03-30 10:06:38.244 -----------------------------------------------
eclipse.buildId=M20090917-0800
java.version=1.6.0_17
java.vendor=Apple Inc.
BootLoader constants: OS=macosx, ARCH=x86, WS=cocoa, NL=en_US
Framework arguments:  -product org.eclipse.epp.package.php.product -keyring /Users/gav/.eclipse_keyring -showlocation
Command-line arguments:  -os macosx -ws cocoa -arch x86 -product org.eclipse.epp.package.php.product -keyring /Users/gav/.eclipse_keyring -showlocation

!ENTRY org.eclipse.ui.workbench 2 0 2010-03-30 10:06:40.139
!MESSAGE A handler conflict occurred.  This may disable some commands.
!SUBENTRY 1 org.eclipse.ui.workbench 2 0 2010-03-30 10:06:40.139
!MESSAGE Conflict for 'com.aptana.ide.editors.views.actions.actionKeyCommand':
HandlerActivation(commandId=com.aptana.ide.editors.views.actions.actionKeyCommand,
 handler=com.aptana.ide.editors.views.actions.ActionKeyCommandHandler,
 expression=,sourcePriority=0)
HandlerActivation(commandId=com.aptana.ide.editors.views.actions.actionKeyCommand,
 handler=com.aptana.ide.editors.views.actions.ActionKeyCommandHandler,
 expression=,sourcePriority=0)

!ENTRY org.eclipse.ui 4 0 2010-03-30 10:06:40.964
!MESSAGE Unhandled event loop exception
!STACK 0
java.lang.NullPointerException
 at org.eclipse.swt.graphics.Device.getFontList(Device.java:369)
 at org.eclipse.jface.resource.FontRegistry.filterData(FontRegistry.java:465)
 at org.eclipse.jface.resource.FontRegistry.createFont(FontRegistry.java:499)
 at org.eclipse.jface.resource.FontRegistry.defaultFontRecord(FontRegistry.java:563)
 at org.eclipse.jface.resource.FontRegistry.defaultFontData(FontRegistry.java:575)
 at org.eclipse.jface.resource.FontRegistry.getFontData(FontRegistry.java:591)
 at org.eclipse.ui.internal.themes.ThemeElementHelper.installFont(ThemeElementHelper.java:116)
 at org.eclipse.ui.internal.themes.ThemeElementHelper.populateRegistry(ThemeElementHelper.java:59)
 at org.eclipse.ui.internal.Workbench$33.runWithException(Workbench.java:1482)
 at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:31)
 at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
 at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:134)
 at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3405)
 at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3102)
 at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2316)
 at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2221)
 at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500)
 at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
 at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:493)
 at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
 at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113)
 at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194)
 at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
 at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
 at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:368)
 at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMe开发者_StackOverflowthodAccessorImpl.java:39)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:597)
 at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:559)
 at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)
 at org.eclipse.equinox.launcher.Main.run(Main.java:1311)

It looks like the update may have upgraded the Java version, possibly :S but I don't know if this can be rolled back even if it did update it.

java version "1.6.0_17"
Java(TM) SE Runtime Environment (build 1.6.0_17-b04-248-10M3025)
Java HotSpot(TM) 64-Bit Server VM (build 14.3-b01-101, mixed mode)

Thanks in advance!


Following link may help , that also tells about some similar problem

https://aptanastudio.tenderapp.com/discussions/problems/331-apatnaeclipse-fail-to-start-on-ma-os-1061


I had the same problem with eclipse after updating to 10.6.3.

Deleting those files indicated by sreejith didn't work for me, but mind you I didn't restart my Mac. Instead I went looking for more advice and found some in the Apple Support forums which said to delete those files but to also issue the two following commands to clear the font caches

"atsutil databases -removeUser"

"sudo atsutil databases -remove"

These alone didn't work for me. I did a bit more googling and found a website that explained how to clear font caches in Leopard:

http://www.macworld.com/article/139383/2009/03/fontcacheclear.html

It repeats the two "atsutil" commands but adds another one which restarts fontd:

"atsutil server -shutdown"

and another to check that fontd has respawned:

"atsutil server -ping"

This is what finally got eclipse working again for me - without having to restart!


The four commands did not work for me. :-(

I had to launch Font Book and resolve all the duplicate fonts. Steps:

1) Select All Fonts

2) Select all the fonts from the list at rights

3) Right click and select Resolve Duplicates

4) If there are still little yellow triangles next to some of the font family names open up those font families and disable the individual fonts right above the ones that have the warning sign next to them.

5) Once there are no more warning signs close Font Book and open Eclipse.

I hope this helps.

-Alex

Problem Details:

It looks like 10.6.3 added a ton of duplicate fonts. These duplicate fonts as far as I can tell were what was causing issues with the native calls that java was making to get the fonts in a font family. See code from Eclipse below:

NSArray fonts = NSFontManager.sharedFontManager().availableMembersOfFontFamily(nsFamily);
int fontCount = (int)/*64*/fonts.count(); //this line was giving the null pointer which means the variable fonts was null. This indicates that there is an issue with the FontManager


There's a more graceful way to do it than just remove files manually. See How to fix FDT (or any other Eclipse-based IDE) after Mac OS X 10.6.3 upgrade for step by step instructions.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜