Bug 386648 - [EditorMgmt] "No editor descriptor for id org.eclipse.ui.internal.emptyEditorTab" after workbench crash
Summary: [EditorMgmt] "No editor descriptor for id org.eclipse.ui.internal.emptyEditor...
Status: REOPENED
Alias: None
Product: Platform
Classification: Eclipse Project
Component: UI (show other bugs)
Version: 4.2   Edit
Hardware: PC Linux
: P3 normal with 2 votes (vote)
Target Milestone: ---   Edit
Assignee: Platform UI Triaged CLA
QA Contact:
URL:
Whiteboard: stalebug
Keywords:
Depends on:
Blocks:
 
Reported: 2012-08-05 15:13 EDT by Jeff Steinkamp CLA
Modified: 2022-03-04 13:43 EST (History)
16 users (show)

See Also:


Attachments
screenshot of error (128.88 KB, image/png)
2012-09-20 18:35 EDT, Casey Hickerson CLA
no flags Details
.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi (417.29 KB, text/x-xmi)
2013-04-20 09:16 EDT, Kai Moritz CLA
no flags Details
The Eclipse workbench does not look good (86.21 KB, image/png)
2013-10-23 07:41 EDT, David Tonhofer CLA
no flags Details
Dump details (10.90 KB, text/plain)
2013-10-23 07:49 EDT, David Tonhofer CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jeff Steinkamp CLA 2012-08-05 15:13:32 EDT
Upon launch of eclipse, the workbench gets about a 1/4 of the way through it's initilization, then the IDE opens with the following error.

No editor descriptor for id org.eclipse.ui.internal.emptyEditorTab
nothing else in the log file that I can find.
Comment 1 Paul Webster CLA 2012-08-05 16:35:19 EDT
Please attach the log file it generates from <workspace>/.metadata/.log

PW
Comment 2 Eduardo Yáñez Parareda CLA 2012-08-10 03:36:56 EDT
Hi Jeff, have you installed the Aptana's plugin. This is happening to me too, but as I see at the stacktraces, it seems a problem with that plugin...

!SESSION 2012-08-10 09:20:49.070 -----------------------------------------------
eclipse.buildId=I20120608-1400
java.version=1.7.0_05
java.vendor=Oracle Corporation
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US
Framework arguments:  -product org.eclipse.epp.package.jee.product -Xverify:none
Command-line arguments:  -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.jee.product -Xverify:none

!ENTRY org.eclipse.jface 2 0 2012-08-10 09:21:54.686
!MESSAGE Keybinding conflicts occurred.  They may interfere with normal accelerator operation.
!SUBENTRY 1 org.eclipse.jface 2 0 2012-08-10 09:21:54.686
!MESSAGE A conflict occurred for ALT+SHIFT+D R:
Binding(ALT+SHIFT+D R,
	ParameterizedCommand(Command(org.eclipse.wst.server.launchShortcut.debug,Debug on Server,
		Debug the current selection on a server,
		Category(org.eclipse.debug.ui.category.run,Run/Debug,Run/Debug command category,true),
		org.eclipse.ui.internal.MakeHandlersGo@28112c22,
		,,true),null),
	org.eclipse.ui.defaultAcceleratorConfiguration,
	org.eclipse.ui.contexts.window,,,system)
Binding(ALT+SHIFT+D R,
	ParameterizedCommand(Command(com.aptana.ruby.debug.ui.RubyShortcut.debug,Debug Ruby Application,
		Debug Ruby Application,
		Category(org.eclipse.debug.ui.category.run,Run/Debug,Run/Debug command category,true),
		org.eclipse.ui.internal.MakeHandlersGo@7f6880ba,
		,,true),null),
	org.eclipse.ui.defaultAcceleratorConfiguration,
	org.eclipse.ui.contexts.window,,,system)
!SUBENTRY 1 org.eclipse.jface 2 0 2012-08-10 09:21:54.686
!MESSAGE A conflict occurred for ALT+CTRL+D:
Binding(ALT+CTRL+D,
	ParameterizedCommand(Command(org.eclipse.team.svn.ui.command.UpdateToRevisionCommand,Update to Revision,
		,
		Category(org.eclipse.team.svn.ui.command.category,SVN,null,true),
		org.eclipse.ui.internal.MakeHandlersGo@25db74af,
		,,true),null),
	org.eclipse.ui.defaultAcceleratorConfiguration,
	org.eclipse.ui.contexts.window,,,system)
Binding(ALT+CTRL+D,
	ParameterizedCommand(Command(com.aptana.deploy.commands.deployApp,Deploy App,
		,
		Category(org.eclipse.core.commands.categories.autogenerated,Uncategorized,Commands that were either auto-generated or have no category,true),
		org.eclipse.ui.internal.MakeHandlersGo@6ac9a093,
		,,true),null),
	org.eclipse.ui.defaultAcceleratorConfiguration,
	org.eclipse.ui.contexts.window,,,system)
!SUBENTRY 1 org.eclipse.jface 2 0 2012-08-10 09:21:54.686
!MESSAGE A conflict occurred for CTRL+SHIFT+U:
Binding(CTRL+SHIFT+U,
	ParameterizedCommand(Command(org.eclipse.jdt.ui.edit.text.java.search.occurrences.in.file.quickMenu,Show Occurrences in File Quick Menu,
		Shows the Occurrences in File quick menu,
		Category(org.eclipse.search.ui.category.search,Search,Search command category,true),
		org.eclipse.ui.internal.MakeHandlersGo@5b4d49aa,
		,,true),null),
	org.eclipse.ui.defaultAcceleratorConfiguration,
	org.eclipse.ui.contexts.window,,,system)
Binding(CTRL+SHIFT+U,
	ParameterizedCommand(Command(com.aptana.ide.syncing.ui.commands.upload,Upload...,
		,
		Category(com.aptana.ide.syncing.ui.commands.category,File Transfer,File Transfer Commands,true),
		org.eclipse.ui.internal.MakeHandlersGo@2f1f66ba,
		,,true),null),
	org.eclipse.ui.defaultAcceleratorConfiguration,
	org.eclipse.ui.contexts.window,,,system)
!SUBENTRY 1 org.eclipse.jface 2 0 2012-08-10 09:21:54.686
!MESSAGE A conflict occurred for ALT+CTRL+R:
Binding(ALT+CTRL+R,
	ParameterizedCommand(Command(org.eclipse.team.svn.ui.command.CompareWithRevisionCommand,URL...,
		,
		Category(org.eclipse.team.svn.ui.command.category,SVN,null,true),
		org.eclipse.ui.internal.MakeHandlersGo@36915581,
		,,true),null),
	org.eclipse.ui.defaultAcceleratorConfiguration,
	org.eclipse.ui.contexts.window,,,system)
Binding(ALT+CTRL+R,
	ParameterizedCommand(Command(org.python.pydev.debug.setnext,Set Next Statement,
		,
		Category(org.python.pydev.ui.category.run,PyDev - Run,Python run category,true),
		org.eclipse.ui.internal.MakeHandlersGo@7f84a423,
		,,true),null),
	org.eclipse.ui.defaultAcceleratorConfiguration,
	org.eclipse.ui.contexts.window,,,system)
!SUBENTRY 1 org.eclipse.jface 2 0 2012-08-10 09:21:54.686
!MESSAGE A conflict occurred for ALT+SHIFT+X R:
Binding(ALT+SHIFT+X R,
	ParameterizedCommand(Command(org.eclipse.wst.server.launchShortcut.run,Run on Server,
		Run the current selection on a server,
		Category(org.eclipse.debug.ui.category.run,Run/Debug,Run/Debug command category,true),
		org.eclipse.ui.internal.MakeHandlersGo@5d34373c,
		,,true),null),
	org.eclipse.ui.defaultAcceleratorConfiguration,
	org.eclipse.ui.contexts.window,,,system)
Binding(ALT+SHIFT+X R,
	ParameterizedCommand(Command(com.aptana.ruby.debug.ui.RubyShortcut.run,Run Ruby Application,
		Run Ruby Application,
		Category(org.eclipse.debug.ui.category.run,Run/Debug,Run/Debug command category,true),
		org.eclipse.ui.internal.MakeHandlersGo@f1673f2,
		,,true),null),
	org.eclipse.ui.defaultAcceleratorConfiguration,
	org.eclipse.ui.contexts.window,,,system)
!SUBENTRY 1 org.eclipse.jface 2 0 2012-08-10 09:21:54.686
!MESSAGE A conflict occurred for CTRL+SHIFT+D:
Binding(CTRL+SHIFT+D,
	ParameterizedCommand(Command(org.eclipse.jdt.debug.ui.commands.Display,Display,
		Display result of evaluating selected text,
		Category(org.eclipse.debug.ui.category.run,Run/Debug,Run/Debug command category,true),
		org.eclipse.ui.internal.MakeHandlersGo@b161c9b,
		,,true),null),
	org.eclipse.ui.defaultAcceleratorConfiguration,
	org.eclipse.ui.contexts.dialogAndWindow,,,system)
Binding(CTRL+SHIFT+D,
	ParameterizedCommand(Command(com.aptana.ide.syncing.ui.commands.download,Download...,
		,
		Category(com.aptana.ide.syncing.ui.commands.category,File Transfer,File Transfer Commands,true),
		org.eclipse.ui.internal.MakeHandlersGo@58b009cc,
		,,true),null),
	org.eclipse.ui.defaultAcceleratorConfiguration,
	org.eclipse.ui.contexts.window,,,system)
Binding(CTRL+SHIFT+D,
	ParameterizedCommand(Command(org.radrails.rails.ui.command.debug.server,Debug Server,
		,
		Category(org.radrails.rails.ui.category,Rails,null,true),
		org.eclipse.ui.internal.MakeHandlersGo@d535d91,
		,,true),null),
	org.eclipse.ui.defaultAcceleratorConfiguration,
	org.eclipse.ui.contexts.window,,,system)
Comment 3 Paul Webster CLA 2012-08-13 12:55:40 EDT
The key conflicts are just warnings, they won't effect your emptyEditorTab problem.

Does anyone have stack trace that starts with the problem message?

PW
Comment 4 Eduardo Yáñez Parareda CLA 2012-08-14 02:53:12 EDT
Well, what I've posted was the Eclipse log from the start up without doing anything more, so no more logs messages were shown than those.
Comment 5 Paul Webster CLA 2012-08-14 08:05:55 EDT
(In reply to comment #4)
> Well, what I've posted was the Eclipse log from the start up without doing
> anything more, so no more logs messages were shown than those.

Sorry, if the error is not in the error log, where does it display?

If you can't copy it, could you snap a screen-capture?

PW
Comment 6 Casey Hickerson CLA 2012-09-20 18:35:23 EDT
Created attachment 221327 [details]
screenshot of error

This screenshot was taken after encountering the bug described.
Comment 7 Casey Hickerson CLA 2012-09-20 18:50:48 EDT
I encountered the same error upon launching Eclipse on Mac OS X 10.8.1. The log file doesn't appear to contain anything pertinent; just in case, I've included it below. I previously attached a screenshot of the error. (Apologies for attaching it out of order.)

With reference to Eduardo's comment, I haven't installed Aptana. 

Casey



!SESSION 2012-09-20 15:06:25.648 -----------------------------------------------
eclipse.buildId=I20120608-1400
java.version=1.6.0_35
java.vendor=Apple Inc.
BootLoader constants: OS=macosx, ARCH=x86_64, WS=cocoa, NL=en_US
Framework arguments:  -keyring /Users/crhickerson/.eclipse_keyring -showlocation
Command-line arguments:  -os macosx -ws cocoa -arch x86_64 -keyring /Users/crhickerson/.eclipse_keyring -showlocation

!ENTRY org.eclipse.core.net 1 0 2012-09-20 15:06:47.023
!MESSAGE System property http.nonProxyHosts has been set to local|*.local|169.254/16|*.169.254/16 by an external source. This value will be overwritten using the values from the preferences
Comment 8 G. M. CLA 2013-02-27 05:20:00 EST
Hi,

I have got a similar problem: when I close Eclipse (Juno) and re-open it, many times (but not always, and totally randomly), it opens up almost correctly, but all the editors that were opened just show this famous "No editor descriptor for id org.eclipse.ui.internal.emptyEditorTab", instead of the content of the file they (are still labelled to) refer to.

And of course nothing in the logs.

FYI, I use the emacs key bindings with CTRL-X CTRLC binded to Exit. I have noticed that when I use this key combination to quit Eclipse, I don't see any DialogBox show 'Saving Workspace' and the problem occurs almost every time, whereas when I use the menu entry File->Exit, I see the DialogBox and most of the time do not have any problem...

In case this can help...


GM
Comment 9 Paul Webster CLA 2013-03-01 07:17:02 EST
(In reply to comment #8)
Hi.

The next time it happens, could you please attach your .metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi 

PW
Comment 10 Kai Moritz CLA 2013-04-20 09:15:41 EDT
I had the same issue.
Closing eclipse and removing .metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi solved it!

As requested, I will attache the workbench.xmi, which raised the bug.
Comment 11 Kai Moritz CLA 2013-04-20 09:16:39 EDT
Created attachment 229930 [details]
.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi
Comment 12 Udo Walker CLA 2013-10-18 08:37:17 EDT
Any ideas here?

The editor descriptor EMPTY_EDITOR_ID = "org.eclipse.ui.internal.emptyEditorTab" is created in the method addSystemEditors(HashMap map) {} in org.eclipse.ui.internal.registry.EditorRegistry.

For what is this descriptor meant to be used to?

When I get the mentioned error what did I do wrong implementing my own editor?
Comment 13 Udo Walker CLA 2013-10-18 08:49:18 EDT
The error message appears in my case when I still have an instance of my editor open and I kill the Eclipse instance and restart Eclipse.

I do not get it if I close the Eclipse instance normally.

When I had a file opened with my editor Eclipse does not open the file in my editor anymore if I close Eclipse normally and restart Eclipse. For the standard Eclipse XML editor this works as expected.

I think I implemented some part of the API not correctly for my file based editor so that I get the mentioned error message. The standard Eclipse editors never get the error message because they are implemented correctly?

I still use Eclipse 3.x API for my editor.
Comment 14 David Tonhofer CLA 2013-10-23 07:41:24 EDT
Created attachment 236794 [details]
The Eclipse workbench does not look good

I'm seeing this too in 

Kepler Service Release 1
Build id: 20130919-0819

on Fedora 18 

GRECLIPSE installed.

How it happened:

Accidentally try to open 40 Meg XML file in workspace (not versioned)

This fails (abysmally long load, Eclipse hangs).

Kill Eclipse.

Restart.

No error messages in log, but " No editor descriptor for id org.eclipse.ui.internal.emptyEditorTab"

Additionally, the workspace rendering is mangled.

Apparently Eclipse still tries to open the .xml file... :-(
Comment 15 David Tonhofer CLA 2013-10-23 07:49:18 EDT
Created attachment 236795 [details]
Dump details

I forget to say that the above indeed showed "No editor descriptor for id org.eclipse.ui.internal.emptyEditorTab", but I don't know where the message went. 

Anyway, "details" shows that there was an OutOfMemory exception (as expected and attached). 

Closing all the views, then restarting Eclipse gets it back on track.
Comment 16 Chris Williams CLA 2013-10-30 11:53:19 EDT
I'm a developer on Aptana and we see this occasionally happening for users - though as developers we tend to run into this a lot. It'll happen if you have our "Dashboard" editor open (which is really just a web browser editor) and then the IDE crashes (or if you're developing under Eclipse like us, just kill the process abnormally, like say running in debug mode, changing code and then choosing to terminate when hot code swap dialog pops up). We'll end up with two "Dashboard" editor tabs on the next restart, one of which has this white area with the error label. (We auto-open a "Dashboard" on startup, so we should only every have one of these and it should be "good").

The relevant portion of the xmi file is:
 <children xsi:type="basic:Part" xmi:id="_HSQ1SkF4EeOD4qAZsT5jmA" elementId="org.eclipse.e4.ui.compatibility.editor" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor" label="Dashboard" iconURI="platform:/plugin/com.appcelerator.titanium.ui.override/icons/titanium_16.png" tooltip="Titanium Studio Dashboard" closeable="true">
      <tags>Editor</tags>
      <tags>removeOnHide</tags>
    </children>

The editor is a web browser editor and is not meant to be persistable (so ideally it wouldn't get recreated on restart).

I can hack around this by running the following code in the UI during startup to clean up the busted editors:

// If there are existing busted portal/dashboard tabs, remove them
				IWorkbenchPage activePage = workbenchWindow.getActivePage();
				IEditorReference[] refs = activePage.getEditorReferences();
				for (IEditorReference ref : refs)
				{
					String editorId = ref.getId();
					if (EditorRegistry.EMPTY_EDITOR_ID.equals(editorId))
					{
						activePage.closeEditors(new IEditorReference[] { ref }, false);
					}
				}
Comment 17 Vishal Sirohi CLA 2015-05-08 17:02:13 EDT
Hi,

close all files and restart eclipse.

 I have been getting the similar error ( a little different) : No editor descriptor for id org.eclipse.vjet.ui.VjetJsEditor

The problem was I had a js plugin installed in eclipse and my js file was associated with VJET editor. This is what the case seems to be here as well.  you see this error once you installed the plugin. 

All you have to do is fix you file associations :
preferences->General->Editors->file Associations. 
click on the file type you are seeing this error with and choose the appropriate editor.

Now close all files and restart eclipse. this should work.

Thanks,
Vishal
Comment 18 Markus Keller CLA 2016-02-01 09:44:14 EST
Steps to reproduce in pure Eclipse SDK 4.6.0.I20160128-2000:

- Preferences: Set "Workspace save interval" to 1 minute
- paste to Package Explorer:

package p;
public class C {
	public static void main(String[] args) {
		System.out.println("Hi");
	}
}

- select C.java in Package Explorer, and duplicate with Ctrl+C, Ctrl+V, Enter
- select C.java and C2.java
- context menu > Compare With > Each Other
- wait for 1 minute (until workbench save interval has passed)
- kill the Eclipse process

=> When you start the same workspace again, the compare editor tab is restored (icon and tab text), but the content is an error editor.

Expected: Tabs for non-restorable editors should be closed after a crash (like on normal shutdown).

Error editor contents:
"No editor descriptor for id org.eclipse.ui.internal.emptyEditorTab"

Details:
java.lang.Exception
	at org.eclipse.ui.internal.EditorReference.createErrorPart(EditorReference.java:340)
	at org.eclipse.ui.internal.EditorReference.createPart(EditorReference.java:321)
	at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.createPart(CompatibilityPart.java:279)
	at org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor.createPart(CompatibilityEditor.java:63)
	at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.create(CompatibilityPart.java:317)
	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.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:54)
	at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:966)
	at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:931)
	at org.eclipse.e4.core.internal.di.InjectorImpl.inject(InjectorImpl.java:151)
	at org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:375)
	at org.eclipse.e4.core.internal.di.InjectorImpl.make(InjectorImpl.java:294)
	at org.eclipse.e4.core.contexts.ContextInjectionFactory.make(ContextInjectionFactory.java:162)
	at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.createFromBundle(ReflectionContributionFactory.java:105)
	at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.doCreate(ReflectionContributionFactory.java:74)
	at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.create(ReflectionContributionFactory.java:56)
	at org.eclipse.e4.ui.workbench.renderers.swt.ContributedPartRenderer.createWidget(ContributedPartRenderer.java:129)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createWidget(PartRenderingEngine.java:972)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:648)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:754)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$0(PartRenderingEngine.java:725)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$2.run(PartRenderingEngine.java:719)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:703)
	at org.eclipse.e4.ui.workbench.renderers.swt.StackRenderer.showTab(StackRenderer.java:1306)
	at org.eclipse.e4.ui.workbench.renderers.swt.LazyStackRenderer.postProcess(LazyStackRenderer.java:103)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:666)
...
Comment 19 Sam Davis CLA 2016-02-16 15:32:07 EST
I'm running into this problem but when I close the error editor, Eclipse freezes and doesn't seem like it will come back. I was only able to fix the problem by killing and restarting Eclipse and then, as soon as it opened, pressing ctrl+shift+w to close all editors.
Comment 20 Brandon Dong CLA 2016-04-21 16:58:41 EDT
Hello, I had some similar problems when terminating the eclipse instance and restarting with empty editor tabs.

I did some debugging through eclipse code and think I've found at least what's creating the error part. In WorkbenchPage.setup, it calls createEditorReferenceForPart with the editor id of "org.eclipse.e4.ui.compatibility.editor". 

Unfortunately, the id is not found in the registry and descriptor is set to null. The correct id of the editor page can be found in MPart part's tags but the code doesn't seem to be using that. Following in the EditorReference constructor, descriptorId is set to "org.eclipse.ui.internal.emptyEditorTab".

Then later, when EditorReference.createPart is called, since descriptor is null, createErrorPart is called, using the descriptorId we had set earlier leading to the creation of the error page with the very confusing error message.

Hopefully this helps if someone is looking into this problem. I'm having trouble finding the cause of this problem or a consistent way to reproduce it.
Comment 21 Ed Willink CLA 2018-12-13 05:01:14 EST
I hit the same problem after (re)starting Eclipse after Windows did a forced update of my machine. The restarted Compare Editor shows "No editor descriptor for id org.eclipse.ui.internal.emptyEditorTab" and a similar stack trace.

(It is possible that the Compare Editor had oreviously gone bad/stale as a result of regeneration of one of the compared files.)
Comment 22 Eclipse Genie CLA 2022-03-04 12:51:13 EST
This bug hasn't had any activity in quite some time. Maybe the problem got resolved, was a duplicate of something else, or became less pressing for some reason - or maybe it's still relevant but just hasn't been looked at yet. As such, we're closing this bug.

If you have further information on the current state of the bug, please add it and reopen this bug. The information can be, for example, that the problem still occurs, that you still want the feature, that more information is needed, or that the bug is (for whatever reason) no longer relevant.

--
The automated Eclipse Genie.
Comment 23 Ed Willink CLA 2022-03-04 13:43:17 EST
Multiple users have reported the problem.

Surely needs a relevant committer not a genie to WONTFIX?