-
Bug
-
Resolution: Done
-
Major
-
None
When creating a LiveReload Server and adding a fileset Eclipse hangs consuming a lot of CPU. Eventually the error message "Unhandled event loop exception / GC overhead limit exceeded" is displayed.
From the stack trace while this is going the only interesting thread is:
"main" prio=10 tid=0x00007ff9a0009800 nid=0x22c2 runnable [0x00007ff9a81fe000] java.lang.Thread.State: RUNNABLE at org.eclipse.swt.internal.gtk.OS._gtk_main_do_event(Native Method) at org.eclipse.swt.internal.gtk.OS.gtk_main_do_event(OS.java:8654) at org.eclipse.swt.widgets.Display.eventProc(Display.java:1243) at org.eclipse.swt.internal.gtk.OS._g_main_context_iteration(Native Method) at org.eclipse.swt.internal.gtk.OS.g_main_context_iteration(OS.java:2283) at org.eclipse.swt.widgets.Shell.setVisible(Shell.java:2153) at org.eclipse.swt.widgets.Shell.open(Shell.java:1546) at org.eclipse.jface.window.Window.open(Window.java:798) at org.eclipse.ui.internal.statushandlers.InternalDialog.open(InternalDialog.java:327) at org.eclipse.ui.internal.statushandlers.WorkbenchStatusDialogManagerImpl.doAddStatusAdapter(WorkbenchStatusDialogManagerImpl.java:270) at org.eclipse.ui.internal.statushandlers.WorkbenchStatusDialogManagerImpl.addStatusAdapter(WorkbenchStatusDialogManagerImpl.java:197) at org.eclipse.ui.statushandlers.WorkbenchStatusDialogManager.addStatusAdapter(WorkbenchStatusDialogManager.java:156) at org.eclipse.ui.statushandlers.WorkbenchErrorHandler.showStatusAdapter(WorkbenchErrorHandler.java:101) at org.eclipse.ui.statushandlers.WorkbenchErrorHandler.handle(WorkbenchErrorHandler.java:57) at org.eclipse.ui.internal.ide.IDEWorkbenchErrorHandler.handle(IDEWorkbenchErrorHandler.java:106) at org.eclipse.ui.internal.WorkbenchErrorHandlerProxy.handle(WorkbenchErrorHandlerProxy.java:36) at org.eclipse.ui.statushandlers.StatusManager.handle(StatusManager.java:189) at org.eclipse.ui.statushandlers.StatusManager.handle(StatusManager.java:231) at org.eclipse.ui.statushandlers.StatusManager.handle(StatusManager.java:242) at org.eclipse.ui.application.WorkbenchAdvisor.eventLoopException(WorkbenchAdvisor.java:326) at org.eclipse.ui.internal.ExceptionHandler.handleException(ExceptionHandler.java:65) at org.eclipse.jface.window.Window.runEventLoop(Window.java:830) at org.eclipse.jface.window.Window.open(Window.java:802) at org.jboss.ide.eclipse.archives.webtools.filesets.FilesetActionProvider$1.run(FilesetActionProvider.java:202) at org.eclipse.jface.action.Action.runWithEvent(Action.java:499) at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:584) at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:501) at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:411) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1392) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3717) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3338) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1108) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:992) at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:137) at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:600) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:555) 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:354) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:181) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:636) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:591) at org.eclipse.equinox.launcher.Main.run(Main.java:1450) at org.eclipse.equinox.launcher.Main.main(Main.java:1426)
I'm running:
- Eclipse Kepler M6 with JBoss Tools 4.1 Alpha 2
- OpenJDK 1.7.0_21
- Ubuntu 13.04
To reproduce create a new LiveReload server. Expand it, right click on 'Filesets' and select 'Create New File Filter'. Then write '/' in 'Root Directory'. Observe that Eclipse now consumes ~100% cpu on all available cores. Wait for a few minutes and the error message mentioned earlier should be displayed