我有一个新的开发箱(mountain lion osx 10.8.1),我正在尝试使用 erlide 插件设置 eclipse。我安装了不同版本的 erlang,如下所示:
$ pwd
/Users/abhinavsingh
abhinav:~ abhinavsingh$ ls Builds/
R14B03 R14B04 R15B01 R15B02
在 下Eclipse --> Preferences --> Erlang --> Installed Runtime
,我有以下运行时设置:
Name: erl1404
Directory: /Users/abhinavsingh/Builds/R14B04/lib/erlang
Version: R14B04
当我切换到 Erlang 透视图时,我可以在里面看到以下日志erlide.log
:
14:51:00,054 F: (ErlangCore.java:77) : Starting CORE Thread[main,6,main]
14:51:00,056 I: (ErlangCoreLogger.java:43) : *** starting Erlide v0.17.2.201209170837 (core=0.17.2.201209170837) *** (MacRoman)
14:51:00,060 F: (ErlangCore.java:94) : Started CORE
14:51:00,062 F: (ErlideUIPlugin.java:148) : Starting UI Thread[main,6,main]
14:51:00,063 F: (ErlideUIPlugin.java:155) : Started UI
14:51:00,079 F: (RuntimeInfoManager.java:205) : set erlide runtime: erl1404 R14B04
这很好,但现在当我继续尝试创建项目或单击进程列表视图时,erlide.log
文件被以下日志消息轰炸,使 eclipse 无法使用:
14:43:01,564 F: (BackendFactory.java:40) : Create ide backend
14:43:01,616 F: (BackendFactory.java:53) : Create backend 47e3e_abhinavsingh_f3a3af_erlide
14:43:01,618 F: (BackendUtils.java:188) : detected longName=192.168.1.21 shortName=abhinav.local
14:43:01,660 F: (ErlangLaunchDelegate.java:84) : doLaunch runtime erl1404 (erl1404)
14:43:01,661 F: (ErlangLaunchDelegate.java:86) : doLaunch cookie erlide (erlide)
14:43:01,662 I: (GenericBackendData.java:51) : Backend data:run mode, with attributes::
14:43:01,662 I: (GenericBackendData.java:61) : org.eclipse.debug.ui.ATTR_CONSOLE_ENCODING: ISO-8859-1
14:43:01,663 I: (GenericBackendData.java:61) : *..cookie : erlide
14:43:01,663 I: (GenericBackendData.java:61) : *..extra_args :
14:43:01,663 I: (GenericBackendData.java:61) : *..has_backend : true
14:43:01,664 I: (GenericBackendData.java:61) : *..longName : false
14:43:01,664 I: (GenericBackendData.java:61) : *..managed : true
14:43:01,665 I: (GenericBackendData.java:61) : *..nodeName : 47e3e_abhinavsingh_f3a3af_erlide
14:43:01,665 I: (GenericBackendData.java:61) : *..runtime : erl1404
14:43:01,665 I: (GenericBackendData.java:61) : process_factory_id : org.erlide.core.ertsProcessFactory
14:43:01,666 I: (GenericBackendData.java:66) : ---------------
14:43:01,667 F: (ErlangLaunchDelegate.java:159) : START node :> [/Users/abhinavsingh/Builds/R14B04/lib/erlang/bin/erl, -sname, 47e3e_abhinavsingh_f3a3af_erlide, -setcookie, erlide] *** /Users/abhinavsingh/Downloads/eclipse/Eclipse.app/Contents/MacOS
14:43:01,709 F: (ErlangLaunchDelegate.java:178) : process is running
14:43:01,754 F: (ErtsProcess.java:27) : # create ErtsProcess: 47e3e_abhinavsingh_f3a3af_erlide
14:43:01,756 F: (ErlangLaunchDelegate.java:138) : Started erts: 47e3e_abhinavsingh_f3a3af_erlide >> 47e3e_abhinavsingh_f3a3af_erlide
14:43:01,925 F: (ErlRuntime.java:292) : using cookie 'erlide...'6 (info: 'erlide')
14:43:01,954 F: (Backend.java:240) : 47e3e_abhinavsingh_f3a3af_erlide@abhinav.local: waiting connection to peer...
14:43:02,085 F: (ErlRuntime.java:108) : # ping...47e3e_abhinavsingh_f3a3af_erlide@abhinav.local main
14:43:02,390 F: (ErlRuntime.java:108) : # ping...47e3e_abhinavsingh_f3a3af_erlide@abhinav.local main
14:43:02,704 F: (ErlRuntime.java:108) : # ping...47e3e_abhinavsingh_f3a3af_erlide@abhinav.local main
14:43:03,008 F: (ErlRuntime.java:108) : #
...
...
...
14:43:17,184 S: (Backend.java:403) : error starting code server for erl1404: timeout in erlang:whereis/1
14:43:17,184 S: (Backend.java:248) : Could not connect to backend! Please check runtime settings.
14:43:17,194 F: (ErlRuntime.java:108) : # ping...47e3e_abhinavsingh_f3a3af_erlide@abhinav.local main
14:43:17,497 F: (ErlRuntime.java:108) : # ping...47e3e_abhinavsingh_f3a3af_erlide@abhinav.local main
14:43:17,800 F: (ErlRuntime.java:108) : # ping...47e3e_abhinavsingh_f3a3af_erlide@abhinav.local main
14:43:18,103 F: (ErlRuntime.java:108) : #
...
...
...
14:43:47,322 F: (CodeManager.java:221) : loading org.erlide.kernel.builder for Runtime<erl1404 (/Users/abhinavsingh/Builds/R14B04/lib/erlang) R14B04 []>
14:43:47,323 F: (CodeManager.java:113) : loading plugin org.erlide.kernel.builder in erl1404
14:43:47,345 F: (ErlRuntime.java:108) : # ping...47e3e_abhinavsingh_f3a3af_erlide@abhinav.local main
14:43:47,648 F: (ErlRuntime.java:108) : # ping...47e3e_abhinavsingh_f3a3af_erlide@abhinav.local main
14:43:47,952 F: (ErlRuntime.java:108) : # ping...47e3e_abhinavsingh_f3a3af_erlide@abhinav.local main
14:43:48,255 F: (ErlRuntime.java:108) : #
...
...
...
14:44:02,410 W: (BackendHelper.java:166) : timeout in code:is_sticky/1
org.erlide.jinterface.rpc.RpcTimeoutException: timeout in code:is_sticky/1
at org.erlide.jinterface.rpc.RpcHelper.getRpcResult(RpcHelper.java:239)
at org.erlide.jinterface.internal.rpc.RpcFutureImpl.get(RpcFutureImpl.java:55)
at org.erlide.jinterface.rpc.RpcHelper.rpcCall(RpcHelper.java:107)
at org.erlide.backend.internal.ErlRuntime.makeCall(ErlRuntime.java:181)
at org.erlide.backend.internal.Backend.call(Backend.java:200)
at org.erlide.backend.internal.Backend.call(Backend.java:192)
at org.erlide.backend.internal.Backend.call(Backend.java:185)
at org.erlide.backend.BackendHelper.loadBeam(BackendHelper.java:156)
at org.erlide.backend.internal.CodeManager.loadBeam(CodeManager.java:107)
at org.erlide.backend.internal.CodeManager.loadPluginCode(CodeManager.java:143)
at org.erlide.backend.internal.CodeManager.registerBundle(CodeManager.java:223)
at org.erlide.backend.internal.CodeManager.register(CodeManager.java:83)
at org.erlide.backend.internal.Backend.registerCodeBundle(Backend.java:458)
at org.erlide.backend.internal.Backend.initialize(Backend.java:820)
at org.erlide.backend.internal.BackendFactory.createBackend(BackendFactory.java:77)
at org.erlide.backend.internal.BackendFactory.createIdeBackend(BackendFactory.java:41)
at org.erlide.backend.internal.BackendManager.getIdeBackend(BackendManager.java:186)
at org.erlide.ui.views.processlist.ProcessListView.getBackend(ProcessListView.java:364)
at org.erlide.ui.views.processlist.ProcessListView$ViewContentProvider.<init>(ProcessListView.java:84)
at org.erlide.ui.views.processlist.ProcessListView.createPartControl(ProcessListView.java:220)
at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.createPartControl(CompatibilityPart.java:129)
at org.eclipse.ui.internal.e4.compatibility.CompatibilityView.createPartControl(CompatibilityView.java:155)
at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.create(CompatibilityPart.java:300)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:56)
at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:857)
at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:837)
at org.eclipse.e4.core.internal.di.InjectorImpl.inject(InjectorImpl.java:111)
at org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:318)
at org.eclipse.e4.core.internal.di.InjectorImpl.make(InjectorImpl.java:240)
at org.eclipse.e4.core.contexts.ContextInjectionFactory.make(ContextInjectionFactory.java:161)
at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.createFromBundle(ReflectionContributionFactory.java:102)
at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.doCreate(ReflectionContributionFactory.java:71)
at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.create(ReflectionContributionFactory.java:53)
at org.eclipse.e4.ui.workbench.renderers.swt.ContributedPartRenderer.createWidget(ContributedPartRenderer.java:141)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createWidget(PartRenderingEngine.java:889)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:623)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$6.run(PartRenderingEngine.java:511)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:496)
at org.eclipse.e4.ui.workbench.renderers.swt.ElementReferenceRenderer.createWidget(ElementReferenceRenderer.java:74)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createWidget(PartRenderingEngine.java:889)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:623)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:725)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$2(PartRenderingEngine.java:696)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$7.run(PartRenderingEngine.java:690)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:675)
at org.eclipse.e4.ui.workbench.renderers.swt.StackRenderer.showTab(StackRenderer.java:1042)
at org.eclipse.e4.ui.workbench.renderers.swt.LazyStackRenderer$1.handleEvent(LazyStackRenderer.java:67)
at org.eclipse.e4.ui.services.internal.events.UIEventHandler$1.run(UIEventHandler.java:41)
at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:180)
at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:150)
at org.eclipse.swt.widgets.Display.syncExec(Display.java:4605)
at org.eclipse.e4.ui.internal.workbench.swt.E4Application$1.syncExec(E4Application.java:187)
at org.eclipse.e4.ui.services.internal.events.UIEventHandler.handleEvent(UIEventHandler.java:38)
at org.eclipse.equinox.internal.event.EventHandlerWrapper.handleEvent(EventHandlerWrapper.java:197)
at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:197)
at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:1)
at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
at org.eclipse.equinox.internal.event.EventAdminImpl.dispatchEvent(EventAdminImpl.java:135)
at org.eclipse.equinox.internal.event.EventAdminImpl.sendEvent(EventAdminImpl.java:78)
at org.eclipse.equinox.internal.event.EventComponent.sendEvent(EventComponent.java:39)
at org.eclipse.e4.ui.services.internal.events.EventBroker.send(EventBroker.java:81)
at org.eclipse.e4.ui.internal.workbench.UIEventPublisher.notifyChanged(UIEventPublisher.java:57)
at org.eclipse.emf.common.notify.impl.BasicNotifierImpl.eNotify(BasicNotifierImpl.java:374)
at org.eclipse.e4.ui.model.application.ui.impl.ElementContainerImpl.setSelectedElement(ElementContainerImpl.java:171)
at org.eclipse.e4.ui.workbench.renderers.swt.StackRenderer$7.widgetSelected(StackRenderer.java:848)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:248)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4134)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1458)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1481)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1466)
at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1271)
at org.eclipse.swt.custom.CTabFolder.setSelection(CTabFolder.java:3023)
at org.eclipse.swt.custom.CTabFolder.onMouse(CTabFolder.java:1730)
at org.eclipse.swt.custom.CTabFolder$1.handleEvent(CTabFolder.java:270)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4134)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1458)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1481)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1466)
at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1271)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3980)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3619)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1022)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:916)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:86)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:585)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:540)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
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:353)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.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:629)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584)
at org.eclipse.equinox.launcher.Main.run(Main.java:1438)
14:44:02,414 S: (CodeManager.java:146) : Could not load erlide_builder
14:44:02,422 F: (ErlRuntime.java:108) : # ping...47e3e_abhinavsingh_f3a3af_erlide@abhinav.local main
14:44:02,726 F: (ErlRuntime.java:108) : # ping...47e3e_abhinavsingh_f3a3af_erlide@abhinav.local main
14:44:03,029 F: (ErlRuntime.java:108) : # ping...47e3e_abhinavsingh_f3a3af_erlide@abhinav.local main
14:44:03,332 F: (ErlRuntime.java:108) : # ping...47e3e_abhinavsingh_f3a3af_erlide@abhinav.local main
14:44:03,636 F: (ErlRuntime.java:108) : #
...
...
...
虽然这一切都在进行,但我试图检查我的开发箱上正在运行哪些 erlang 节点,我发现了这一点:
$ ps aux | grep erl
abhinavsingh 85175 0.2 0.0 2432768 616 s004 R+ 2:44PM 0:00.00 grep erl
abhinavsingh 85164 0.1 0.3 2495764 12052 ?? S 2:43PM 0:00.40 /Users/abhinavsingh/Builds/R14B04/lib/erlang/erts-5.8.5/bin/beam.smp -- -root /Users/abhinavsingh/Builds/R14B04/lib/erlang -progname erl -- -home /Users/abhinavsingh -- -sname 47e3e_abhinavsingh_f3a3af_erlide -setcookie erlide
abhinavsingh 76967 0.0 0.0 2432804 368 ?? S 4:31AM 0:00.74 /Users/abhinavsingh/Builds/R14B04/lib/erlang/erts-5.8.5/bin/epmd -daemon
abhinavsingh 85111 0.0 0.0 2432756 516 s003 S+ 2:36PM 0:00.01 tail -f erlide.log
Now I am not sure what can be done here to get this up and running. I was planning to have multiple erlang runtimes inside erlide since I will need different run configuration for my different projects. Unfortunately, I am stuck here at the very first step.
Any help, pointers will be greatly appreciated.