Bug 627728 - Eclipse Helios unable to instantiate editor
Summary: Eclipse Helios unable to instantiate editor
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: eclipse-pydev
Version: 14
Hardware: All
OS: Linux
low
medium
Target Milestone: ---
Assignee: Alexander Kurtakov
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2010-08-26 19:08 UTC by Erinn Looney-Triggs
Modified: 2010-09-14 05:05 UTC (History)
6 users (show)

Fixed In Version: eclipse-pydev-1.6.1-1.fc14
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2010-09-14 05:05:22 UTC


Attachments (Terms of Use)

Description Erinn Looney-Triggs 2010-08-26 19:08:55 UTC
Description of problem:
"Could not open the editor: The editor class could not be instantiated. This usually indicates a missing no-arg constructor or that the editor's class name was mistyped in plugin.xml."

I don't believe this is an environment problem, I have removed my .eclipse folder and allowed it to be recreated. However, the workspace folder is from a previous install, so that could possibly be it.

Version-Release number of selected component (if applicable):
eclipse-platform-3.6.0-3.fc14.x86_64

How reproducible:
Not sure if this is, this happened to me by default on a clean install. 

Additional info:
Backtrace:
org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter$TerminatingClassNotFoundException: An error occurred while automatically activating bundle org.python.pydev (564).
	at org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:121)
	at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:453)
	at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:216)
	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:393)
	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:469)
	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:422)
	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:410)
	at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
	at org.eclipse.osgi.internal.loader.BundleLoader.loadClass(BundleLoader.java:338)
	at org.eclipse.osgi.framework.internal.core.BundleHost.loadClass(BundleHost.java:232)
	at org.eclipse.osgi.framework.internal.core.AbstractBundle.loadClass(AbstractBundle.java:1197)
	at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:174)
	at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:904)
	at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
	at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:55)
	at org.eclipse.ui.internal.WorkbenchPlugin$1.run(WorkbenchPlugin.java:267)
	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
	at org.eclipse.ui.internal.WorkbenchPlugin.createExtension(WorkbenchPlugin.java:263)
	at org.eclipse.ui.internal.registry.EditorDescriptor.createEditor(EditorDescriptor.java:235)
	at org.eclipse.ui.internal.EditorManager.createPart(EditorManager.java:845)
	at org.eclipse.ui.internal.EditorReference.createPartHelper(EditorReference.java:609)
	at org.eclipse.ui.internal.EditorReference.createPart(EditorReference.java:465)
	at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:595)
	at org.eclipse.ui.internal.EditorAreaHelper.setVisibleEditor(EditorAreaHelper.java:271)
	at org.eclipse.ui.internal.EditorManager.setVisibleEditor(EditorManager.java:1429)
	at org.eclipse.ui.internal.EditorManager$5.runWithException(EditorManager.java:942)
	at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:31)
	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:134)
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3527)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3174)
	at org.eclipse.ui.application.WorkbenchAdvisor.openWindows(WorkbenchAdvisor.java:803)
	at org.eclipse.ui.internal.Workbench$31.runWithException(Workbench.java:1566)
	at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:31)
	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:134)
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3527)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3174)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2537)
	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2427)
	at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:670)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:663)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:115)
	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:369)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
	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:616)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:619)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:574)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1407)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1383)
Caused by: org.osgi.framework.BundleException: Exception in org.python.pydev.plugin.PydevPlugin.start() of bundle org.python.pydev.
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:806)
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:755)
	at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:370)
	at org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:284)
	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:417)
	at org.eclipse.osgi.internal.loader.BundleLoader.setLazyTrigger(BundleLoader.java:265)
	at org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:106)
	... 58 more
Caused by: java.lang.NoClassDefFoundError: org/apache/commons/codec/binary/Base64
	at org.python.pydev.core.REF.encodeBase64(REF.java:254)
	at org.python.pydev.ui.pythonpathconf.InterpreterInfo.getExeAsFileSystemValidPath(InterpreterInfo.java:1145)
	at org.python.pydev.ui.interpreters.AbstractInterpreterManager.getInterpretersFromPersistedString(AbstractInterpreterManager.java:352)
	at org.python.pydev.ui.interpreters.AbstractInterpreterManager.getInterpreterInfos(AbstractInterpreterManager.java:161)
	at org.python.pydev.ui.interpreters.AbstractInterpreterManager.<init>(AbstractInterpreterManager.java:106)
	at org.python.pydev.ui.interpreters.PythonInterpreterManager.<init>(PythonInterpreterManager.java:24)
	at org.python.pydev.plugin.PydevPlugin.start(PydevPlugin.java:171)
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:783)
	at java.security.AccessController.doPrivileged(Native Method)
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:774)
	... 64 more
Caused by: java.lang.ClassNotFoundException: org.apache.commons.codec.binary.Base64
	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:506)
	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:422)
	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:410)
	at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
	at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:334)
	... 74 more

Comment 1 Andrew Overholt 2010-08-26 19:59:10 UTC
Did PyDev editor IDs change?

Comment 2 Nathaniel McCallum 2010-08-27 20:39:56 UTC
I'm experiencing this as well in a new F14 install.

I updated the RPM to 1.6.1 (not in koji, I'll give you my spec file if you'd like) and I still got the same error.

Installing pydev from the update site works fine, so its definitely a bug in the RPM somewhere.  If you can point me in the right direction, I can try to fix it if you'd like.

Comment 3 Nathaniel McCallum 2010-08-27 20:41:24 UTC
Oh, I should also note that if you switch to the pydev perspective, eclipse barfs all over the place.

Comment 4 Nathaniel McCallum 2010-08-27 20:56:08 UTC
This also only occurs if you have an interpreter defined.  If no interpreter is defined, no exception is generated.

Comment 5 Nathaniel McCallum 2010-08-28 04:15:33 UTC
Ok, root cause is the reworking of the apache-commons-codec and apache-commons-logging packages.  This broke symlinks in the package.  This RPM upgrades pydev to 1.6.1 and fixes the symlink issues.  It also updates the (build)?requires to the new package names.

http://npmccallum.fedorapeople.org/fixes/eclipse-pydev-1.6.1-1.fc14.src.rpm
http://npmccallum.fedorapeople.org/fixes/eclipse-pydev-1.6.1-1.fc14.x86_64.rpm
http://npmccallum.fedorapeople.org/fixes/eclipse-pydev-mylyn-1.6.1-1.fc14.x86_64.rpm
http://npmccallum.fedorapeople.org/fixes/eclipse-pydev.spec

I'd commit it myself but I don't have access to the eclipse-pydev.

Comment 6 Alexander Kurtakov 2010-08-28 07:31:39 UTC
Hi Nathaniel, 
Just ask in pkgdb and I'll approve you as co-maintainer.

Comment 7 Fedora Update System 2010-08-28 16:12:43 UTC
eclipse-pydev-1.6.1-1.fc14 has been submitted as an update for Fedora 14.
https://admin.fedoraproject.org/updates/eclipse-pydev-1.6.1-1.fc14

Comment 8 Nathaniel McCallum 2010-08-28 16:15:10 UTC
Fixed here: http://koji.fedoraproject.org/koji/buildinfo?buildID=192552

I think this bug will close automatically when bodhi pushes to F14 stable.

Comment 9 Andrew Overholt 2010-08-28 16:23:05 UTC
Thanks, Nathaniel!

Comment 10 Fedora Update System 2010-08-30 19:39:02 UTC
eclipse-pydev-1.6.1-1.fc14 has been pushed to the Fedora 14 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update eclipse-pydev'.  You can provide feedback for this update here: https://admin.fedoraproject.org/updates/eclipse-pydev-1.6.1-1.fc14

Comment 11 Fedora Update System 2010-09-14 05:05:17 UTC
eclipse-pydev-1.6.1-1.fc14 has been pushed to the Fedora 14 stable repository.  If problems still persist, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.