Reputation: 1329
I have recently installed ubuntu 16.04 (updated automatically to this version) and I usually develop in Java, and I know eclipse, so I installed it, all fine.
I configured everything needed (Java path, JDK...nothing special), works fine, except for the Eclipse UI.
The UI freezes every time I create a project (Although the project is created correctly), every time I run any program (Although the program runs as it should (not always correctly xD, but thats my fault)), and with many other tasks.
Any idea why this can happen? And even better, how to solve it?
I also double checked what JRE I´m using (As I found people having problems with open source software), I use oracle´s version (Not sure about the name right now, sorry, version 8). Everything on it´s 64 bit version.
Edit: I forgot to mention I use Mars version. Also, I just installed NetBeans (8.1), exact same problem, then I thought it was graphics drivers problems, installed that again, still have the same problem. No idea what to try now.
UPDATE: Checked log file. I see nothing strange, but might be missing something:
!SESSION 2015-12-04 13:24:38.930 -----------------------------------------------
eclipse.buildId=4.5.1.M20150904-0015
java.version=1.8.0_66
java.vendor=Oracle Corporation
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=es_ES
Command-line arguments: -os linux -ws gtk -arch x86_64
!ENTRY org.eclipse.core.resources 2 10035 2015-12-04 13:24:40.542
!MESSAGE The workspace exited with unsaved changes in the previous session; refreshing workspace to recover changes.
UPDATE 2: I just run the commands @dan suggested. Here is the result
"main" #1 prio=6 os_prio=0 tid=0x00007f0ec000a000 nid=0x26e0 runnable [0x00007f0ec9a18000]
java.lang.Thread.State: RUNNABLE
at org.eclipse.swt.internal.gtk.OS._gtk_widget_get_allocation(Native Method)
at org.eclipse.swt.internal.gtk.OS.gtk_widget_get_allocation(OS.java:14234)
at org.eclipse.swt.widgets.Control.getBounds(Control.java:832)
at org.eclipse.jface.fieldassist.ControlDecoration.getDecorationRectangle(ControlDecoration.java:1185)
at org.eclipse.jface.fieldassist.ControlDecoration$3.paintControl(ControlDecoration.java:635)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:230)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4481)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1329)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1353)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1338)
at org.eclipse.swt.widgets.Control.gtk_draw(Control.java:3219)
at org.eclipse.swt.widgets.Canvas.gtk_draw(Canvas.java:171)
at org.eclipse.swt.widgets.Shell.gtk_draw(Shell.java:1306)
at org.eclipse.swt.widgets.Widget.windowProc(Widget.java:1942)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:5590)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4717)
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:9279)
at org.eclipse.swt.widgets.Display.eventProc(Display.java:1225)
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:2425)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3428)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.block(ModalContext.java:172)
at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:387)
at org.eclipse.jface.wizard.WizardDialog.run(WizardDialog.java:1002)
at org.eclipse.jdt.internal.ui.wizards.NewElementWizard.performFinish(NewElementWizard.java:134)
at org.eclipse.jdt.internal.ui.wizards.NewClassCreationWizard.performFinish(NewClassCreationWizard.java:80)
at org.eclipse.jface.wizard.WizardDialog.finishPressed(WizardDialog.java:799)
at org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDialog.java:429)
at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:619)
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:4481)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1329)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3819)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3430)
at org.eclipse.jface.window.Window.runEventLoop(Window.java:827)
at org.eclipse.jface.window.Window.open(Window.java:803)
at org.eclipse.ui.internal.navigator.wizards.WizardShortcutAction.run(WizardShortcutAction.java:99)
at org.eclipse.jface.action.Action.runWithEvent(Action.java:473)
at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:595)
at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:511)
at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:420)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4481)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1329)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3819)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3430)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:1127)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1018)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:156)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:654)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:598)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:139)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:669)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:608)
at org.eclipse.equinox.launcher.Main.run(Main.java:1515)
at org.eclipse.equinox.launcher.Main.main(Main.java:1488)
Locked ownable synchronizers:
- None
Upvotes: 12
Views: 13438
Reputation: 37
In eclipse.ini increasing heap to 1GB seems to slove the issue for me. You can see how much heap is utilized when enabled heap usage in Go to Window>Preferences>General
Info displays at the bottom of UI
eclipse.ini changes
Hope this will help. (Mine was 256m and increased to 1024m -- some time I can see it goes over 600m)
Upvotes: 0
Reputation: 1
I think this problem occurs with earlier version of Eclipse. I tried with Eclipse Mars for Java and J2ee both. I checked in the Neon version; this issue is not occurring. Eclipse is not freezing.
Upvotes: 0
Reputation: 3938
Opened https://bugs.eclipse.org/bugs/show_bug.cgi?id=492829 to track this as likely bug in SWT / GTK3 interaction.
Upvotes: 3
Reputation: 1329
I already found the problem. As Zoltán and Dan pointed out, GTK was the problem.
Solution: (Only tested on Eclipse):
This fixed the problem for me.
Upvotes: 10
Reputation: 13858
The Eclipse UI on Linux is by default using GTK 3 to display contents, but I have found that there are often issues. I am not exactly sure whether this is the source of the issue, but you could check it by disabling the GTK 3 support using an environment variable setting: export SWT_GTK3=0
. However, until you have found out, this is the source of the issue, I would not turn it on permanently.
Upvotes: 14
Reputation: 13272
You should generate a java thread dump of the eclipse process, like:
Establish the process id:
jps -lv
Identify the line that is representing the eclipse instance and remember the first number on the line, the process id.
Trigger the thread dump, using the process id:
jstack -l process_id > jstack.out
This way you will get a stack trace for each thread that is alive in that JVM
at that moment. From here you should be able to identify why your program is not running.
Upvotes: 7