Open jukzi opened 2 hours ago
No more handles means the OS is out of resources for more widgets. Most likely an SWT widget is recreated over and over without unused ones being disposed. You may want to try Sleak (https://github.com/eclipse-platform/eclipse.platform.swt/blob/master/bundles/org.eclipse.swt.tools.spies/src/org/eclipse/swt/tools/views/SleakView.java ) and there is an old article on using it https://www.eclipse.org/articles/swt-design-2/sleak.htm . I haven't used it in years so I'm not sure of current state of the tool.
Long story short - it's most likely a missing dispose()
somewhere.
If you can monitor the running application on your machine, using Sleak can help.
Here there are 12k resource trackers, which means that there are 12k resources; tracker element and their "nest" object will show which objects are locking the resources/missing the dispose()
.
Why would i have a thousend fonts in my heap? Beside that i don't get where i can see useful information in the dump:
If anybody wants to look: https://securetransfer.ssi-schaefer.com/webdownload?deliveryUuid=b2398f9c-3c49-4310-a8e5-cf39f47f21bc
BTW the Exception was:
org.eclipse.swt.SWTError: No more handles
at org.eclipse.swt.SWT.error(SWT.java:4948)
at org.eclipse.swt.SWT.error(SWT.java:4837)
at org.eclipse.swt.SWT.error(SWT.java:4808)
at org.eclipse.swt.widgets.Widget.error(Widget.java:500)
at org.eclipse.swt.widgets.Control.createHandle(Control.java:675)
at org.eclipse.swt.widgets.Scrollable.createHandle(Scrollable.java:146)
at org.eclipse.swt.widgets.Composite.createHandle(Composite.java:300)
at org.eclipse.swt.widgets.Control.createWidget(Control.java:701)
at org.eclipse.swt.widgets.Scrollable.createWidget(Scrollable.java:161)
at org.eclipse.swt.widgets.Control.<init>(Control.java:121)
at org.eclipse.swt.widgets.Scrollable.<init>(Scrollable.java:85)
at org.eclipse.swt.widgets.Composite.<init>(Composite.java:103)
at org.eclipse.swt.widgets.Canvas.<init>(Canvas.java:81)
at org.eclipse.jface.text.source.AnnotationRulerColumn$3.<init>(AnnotationRulerColumn.java:338)
at org.eclipse.jface.text.source.AnnotationRulerColumn.createCanvas(AnnotationRulerColumn.java:338)
at org.eclipse.jface.text.source.AnnotationRulerColumn.createControl(AnnotationRulerColumn.java:256)
at org.eclipse.ui.internal.texteditor.AnnotationColumn.createControl(AnnotationColumn.java:70)
at org.eclipse.jface.text.source.CompositeRuler.addDecorator(CompositeRuler.java:544)
at org.eclipse.ui.texteditor.AbstractTextEditor$ColumnSupport$1.run(AbstractTextEditor.java:1632)
Would be better if the excpetion would just log a histogram of the resource stacktraces.
I have a Heapdump - how do i figure out what leaked?