[
https://issues.jboss.org/browse/JBIDE-14356?page=com.atlassian.jira.plugi...
]
Rob Stryker commented on JBIDE-14356:
-------------------------------------
Every time you type in the UI, it is fetchng what paths match that pattern. In this case,
it is making an array of all 'matching' paths, which includes every file on your
filesystem. Thus, it fails.
It does not do this via a job, and it does not do this with a progress monitor, so ti
cannot be canceled. The preview is automatically refreshed. This is an API deficiency.
GC overhead limit exceeded when adding fileset to LiveReload Server
-------------------------------------------------------------------
Key: JBIDE-14356
URL:
https://issues.jboss.org/browse/JBIDE-14356
Project: Tools (JBoss Tools)
Issue Type: Feature Request
Components: livereload
Reporter: Stian Thorgersen
Assignee: Rob Stryker
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:
{code}
"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)
{code}
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
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:
http://www.atlassian.com/software/jira