[jbosstools-issues] [JBoss JIRA] (JBIDE-14356) GC overhead limit exceeded when adding fileset to LiveReload Server

Rob Stryker (JIRA) jira-events at lists.jboss.org
Thu May 16 05:23:07 EDT 2013


     [ https://issues.jboss.org/browse/JBIDE-14356?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Rob Stryker resolved JBIDE-14356.
---------------------------------

    Resolution: Done


pushed to master... freezing workspace is pretty critical. 

Made 2 changes.  Fileset / xpath options only appear for approved server types, and, the implementation of the dialog has been fixed to run with jobs and progress monitors, such that as the user types, it cancels previous jobs. 
                
> 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: Bug
>          Components: livereload
>            Reporter: Stian Thorgersen
>            Assignee: Rob Stryker
>             Fix For: 4.1.0.Beta1
>
>
> 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


More information about the jbosstools-issues mailing list