Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 363106 - Internal Error: No more handles
Summary: Internal Error: No more handles
Status: CLOSED DUPLICATE of bug 402983
Alias: None
Product: Platform
Classification: Eclipse Project
Component: UI (show other bugs)
Version: 4.2   Edit
Hardware: PC Windows 7
: P3 major (vote)
Target Milestone: ---   Edit
Assignee: Platform-UI-Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-11-07 17:37 EST by Florian Quadt CLA
Modified: 2013-06-17 03:00 EDT (History)
7 users (show)

See Also:


Attachments
stacktrace of "out of handles" (11.82 KB, text/plain)
2011-11-07 17:39 EST, Florian Quadt CLA
no flags Details
Something like this? (178.01 KB, image/png)
2011-11-21 13:33 EST, Oleg Besedin CLA
no flags Details
eclipse4.3 RC3 error log (10.12 KB, text/plain)
2013-06-06 10:29 EDT, Steve Hanawalt CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Florian Quadt CLA 2011-11-07 17:37:27 EST
Build Identifier:  I20110916-1615

I'm currently experimenting with e4 m2 and m3 (nice work) and encountered several "out of handles" (org.eclipse.e4.core.di.InjectionException: org.eclipse.swt.SWTError).
This especially happens when splitting the java-editor in multiple parts and rearrange its contents. After error occured the Ctrl-key stops working, but I can still edit files.
You'll find the stacktrace in the comment below.

I have EGit and E4Tools installed.

Reproducible: Sometimes

Steps to Reproduce:
1. split editor in at least two parts. 
2. move and resize the editor-part a few times.
3. error should occur.
Comment 1 Florian Quadt CLA 2011-11-07 17:39:52 EST
Created attachment 206556 [details]
stacktrace of "out of handles"

here is the stacktrace
Comment 2 Remy Suen CLA 2011-11-18 10:40:22 EST
I haven't seen these problems during regular use of the Eclipse 4 SDKs. I presume you get this on a regular basis. Do your coworkers have the same problem?
Comment 3 Florian Quadt CLA 2011-11-19 04:54:34 EST
(In reply to comment #2)
> I haven't seen these problems during regular use of the Eclipse 4 SDKs. I
> presume you get this on a regular basis. Do your coworkers have the same
> problem?

Actually I'm the only one experimenting with e4.
Maybe it's platform / machine-specific. I'll try this on another machine.

My current machine's Java Version: 1.7.0-b147 64-bit

The error occured frequently (approximately 2 times in an hour (including a reboot)), but happens a lot more, when using the resize buttons in the editor often. It seems that it does only happens when I had used resize before.
I assumed that this handle error depends on the system handles and found some descriptions for "out of handles" with rcp.
I'm not familiar with the handle-usage in windows with swt, but here are a few other observations using process explorer:

eclipse.exe:
- number of handles: around 40
- user handles: < 10
- GDI handles: < 10
javavm wherein eclipse runs:
- peak handles: 515
- user handles: ~ 270
- GDI handles: ~ 370

This seems not much at all in comparison with the description of similar cases. When the error occures, there is no significant increase in handles. Is there another tooling that I can use to find out more?

Here are some more details to reproduce the error:
1. open at least 3 files in java-editor
2. split the editor horizontally in 3 parts
3. use resize buttons 4-10 times
4. try to edit one of the open files
Once this error had occured, it only goes away with a reboot.

I hope that helps.
Comment 4 Remy Suen CLA 2011-11-21 10:22:25 EST
I'm using a 64-bit 1.7.0_01-b08 on Windows 7 and do not have this problem. Dean or Oleg, can you reproduce this problem on Windows 7?
Comment 5 Oleg Besedin CLA 2011-11-21 13:33:11 EST
I can't reproduce it on Windows 7 assuming "split editors" means having multiple editors visible like in the attachement.

Florian, is that what you meant by "split editor"? May be there are some specific steps that we need to duplicate this?
Comment 6 Oleg Besedin CLA 2011-11-21 13:33:53 EST
Created attachment 207324 [details]
Something like this?
Comment 7 Florian Quadt CLA 2011-11-22 20:08:11 EST
(In reply to comment #6)
> Created attachment 207324 [details]
> Something like this?

Yes,
exactly. I hope I can test today (in approx. 10h) on another pc.
Comment 8 Dani Megert CLA 2013-04-18 05:29:48 EDT
If someone can reproduce it, then please provide the steps and reopen the bug.
Comment 9 Steve Hanawalt CLA 2013-06-05 18:49:19 EDT
I am seeing this problem.  Happens with both 32-bit and 64-bit Juno C/C++ version

At first thought it might be limited to my workspace, so I tried creating a new one and I still see it. Followed these steps:

Create new workspace (named it testing)
Create new project: General->Project (named it test)
Create new file: (named it test.txt)

Select Window->New Editor
Drag the new copy of test.txt so that you have to editors one above the other
Try to work (type/scroll/whatever) in the recently dragged window.

Error happens almost immediately with this output:

eclipse.buildId=M20130204-1200
java.version=1.7.0_21
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_US
Framework arguments:  -product org.eclipse.epp.package.cpp.product -product org.eclipse.epp.package.cpp.product
Command-line arguments:  -os win32 -ws win32 -arch x86 -product org.eclipse.epp.package.cpp.product -data C:\Users\swh\Desktop\testws -product org.eclipse.epp.package.cpp.product

Error
Wed Jun 05 17:45:51 CDT 2013
Unhandled event loop exception

org.eclipse.swt.SWTError: No more handles
	at org.eclipse.swt.SWT.error(SWT.java:4387)
	at org.eclipse.swt.SWT.error(SWT.java:4276)
	at org.eclipse.swt.SWT.error(SWT.java:4247)
	at org.eclipse.swt.widgets.Widget.error(Widget.java:468)
	at org.eclipse.swt.widgets.Control.createHandle(Control.java:704)
	at org.eclipse.swt.widgets.Label.createHandle(Label.java:199)
	at org.eclipse.swt.widgets.Control.createWidget(Control.java:744)
	at org.eclipse.swt.widgets.Control.<init>(Control.java:112)
	at org.eclipse.swt.widgets.Label.<init>(Label.java:101)
	at org.eclipse.ui.texteditor.StatusLineContributionItem.fill(StatusLineContributionItem.java:182)
	at org.eclipse.jface.action.SubContributionItem.fill(SubContributionItem.java:59)
	at org.eclipse.jface.action.StatusLineManager.update(StatusLineManager.java:327)
	at org.eclipse.ui.internal.WorkbenchPage.updateActivations(WorkbenchPage.java:265)
	at org.eclipse.ui.internal.WorkbenchPage.access$15(WorkbenchPage.java:243)
	at org.eclipse.ui.internal.WorkbenchPage$E4PartListener.partActivated(WorkbenchPage.java:172)
	at org.eclipse.e4.ui.internal.workbench.PartServiceImpl$2.run(PartServiceImpl.java:193)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.firePartActivated(PartServiceImpl.java:191)
	at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.activate(PartServiceImpl.java:596)
	at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.activate(PartServiceImpl.java:549)
	at org.eclipse.e4.ui.internal.workbench.swt.AbstractPartRenderer.activate(AbstractPartRenderer.java:105)
	at org.eclipse.e4.ui.workbench.renderers.swt.ContributedPartRenderer$1.handleEvent(ContributedPartRenderer.java:61)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1077)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1058)
	at org.eclipse.swt.widgets.Shell.setActiveControl(Shell.java:1447)
	at org.eclipse.swt.widgets.Shell.WM_MOUSEACTIVATE(Shell.java:2328)
	at org.eclipse.swt.widgets.Control.windowProc(Control.java:4572)
	at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:341)
	at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.java:1627)
	at org.eclipse.swt.widgets.Shell.windowProc(Shell.java:2069)
	at org.eclipse.swt.widgets.Display.windowProc(Display.java:4989)
	at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
	at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2541)
	at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:80)
	at org.eclipse.swt.widgets.Control.windowProc(Control.java:4623)
	at org.eclipse.swt.widgets.Display.windowProc(Display.java:4989)
	at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
	at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2541)
	at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:80)
	at org.eclipse.swt.widgets.Control.windowProc(Control.java:4623)
	at org.eclipse.swt.widgets.Display.windowProc(Display.java:4989)
	at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
	at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2541)
	at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:80)
	at org.eclipse.swt.widgets.Control.windowProc(Control.java:4623)
	at org.eclipse.swt.widgets.Display.windowProc(Display.java:4989)
	at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
	at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2541)
	at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:80)
	at org.eclipse.swt.widgets.Control.windowProc(Control.java:4623)
	at org.eclipse.swt.widgets.Display.windowProc(Display.java:4989)
	at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
	at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2541)
	at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:80)
	at org.eclipse.swt.widgets.Control.windowProc(Control.java:4623)
	at org.eclipse.swt.widgets.Display.windowProc(Display.java:4989)
	at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
	at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2541)
	at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:80)
	at org.eclipse.swt.widgets.Control.windowProc(Control.java:4623)
	at org.eclipse.swt.widgets.Display.windowProc(Display.java:4989)
	at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
	at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2541)
	at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:80)
	at org.eclipse.swt.widgets.Control.windowProc(Control.java:4623)
	at org.eclipse.swt.widgets.Display.windowProc(Display.java:4989)
	at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
	at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2541)
	at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:80)
	at org.eclipse.swt.widgets.Control.windowProc(Control.java:4623)
	at org.eclipse.swt.widgets.Display.windowProc(Display.java:4989)
	at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
	at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2541)
	at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:80)
	at org.eclipse.swt.widgets.Control.windowProc(Control.java:4623)
	at org.eclipse.swt.widgets.Display.windowProc(Display.java:4989)
	at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
	at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2541)
	at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:80)
	at org.eclipse.swt.widgets.Control.windowProc(Control.java:4623)
	at org.eclipse.swt.widgets.Display.windowProc(Display.java:4989)
	at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
	at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2541)
	at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:80)
	at org.eclipse.swt.widgets.Control.windowProc(Control.java:4623)
	at org.eclipse.swt.widgets.Display.windowProc(Display.java:4989)
	at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
	at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2541)
	at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:80)
	at org.eclipse.swt.widgets.Control.windowProc(Control.java:4623)
	at org.eclipse.swt.widgets.Display.windowProc(Display.java:4989)
	at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
	at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2541)
	at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:80)
	at org.eclipse.swt.widgets.Control.windowProc(Control.java:4623)
	at org.eclipse.swt.widgets.Display.windowProc(Display.java:4989)
	at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
	at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2541)
	at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:80)
	at org.eclipse.swt.widgets.Control.windowProc(Control.java:4623)
	at org.eclipse.swt.widgets.Display.windowProc(Display.java:4989)
	at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
	at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2541)
	at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:80)
	at org.eclipse.swt.widgets.Control.windowProc(Control.java:4623)
	at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:341)
	at org.eclipse.swt.widgets.Display.windowProc(Display.java:4989)
	at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
	at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2541)
	at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:80)
	at org.eclipse.swt.widgets.Control.windowProc(Control.java:4623)
	at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:341)
	at org.eclipse.swt.widgets.Display.windowProc(Display.java:4989)
	at org.eclipse.swt.internal.win32.OS.PeekMessageW(Native Method)
	at org.eclipse.swt.internal.win32.OS.PeekMessage(OS.java:3129)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3753)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1053)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:942)
	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:86)
	at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:588)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:543)
	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:353)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:629)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1438)
Comment 10 Dani Megert CLA 2013-06-06 04:40:01 EDT
(In reply to comment #9)
> I am seeing this problem.  Happens with both 32-bit and 64-bit Juno C/C++
> version
> 
> At first thought it might be limited to my workspace, so I tried creating a
> new one and I still see it. Followed these steps:
> 
> Create new workspace (named it testing)
> Create new project: General->Project (named it test)
> Create new file: (named it test.txt)
> 
> Select Window->New Editor
> Drag the new copy of test.txt so that you have to editors one above the other
> Try to work (type/scroll/whatever) in the recently dragged window.
> 
> Error happens almost immediately with this output:

Can you try with our latest 4.3 RC4 candidate:
http://download.eclipse.org/eclipse/downloads/drops4/I20130605-2000/
?
Comment 11 Steve Hanawalt CLA 2013-06-06 10:29:06 EDT
Created attachment 232045 [details]
eclipse4.3 RC3 error log
Comment 12 Steve Hanawalt CLA 2013-06-06 10:29:38 EDT
Still happens with Eclipse 4.3 RC3.  See attachment
Comment 13 Steve Hanawalt CLA 2013-06-06 11:01:45 EDT
It appears that the problem is related to Actual Multiple Monitors.  So far, I haven't had it happen with that disabled.  I file a bug on their site.
Comment 14 Dani Megert CLA 2013-06-17 03:00:40 EDT
.

*** This bug has been marked as a duplicate of bug 402983 ***