Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 402264

Summary: mylyn 3.8 release broke some old connectors
Product: z_Archived Reporter: Eugene Kuleshov <ekuleshov>
Component: MylynAssignee: Mylyn Inbox <mylyn-inbox>
Status: RESOLVED WONTFIX QA Contact:
Severity: major    
Priority: P3    
Version: 3.8   
Target Milestone: ---   
Hardware: All   
OS: All   
Whiteboard:

Description Eugene Kuleshov CLA 2013-03-03 23:53:07 EST
See stack trace below. This connector is not maintained anymore, so it is not possible to use it with latest Eclipse installs. So, maybe Mylyn could provide a compatibility plugin to support old connectors like that.

java.lang.NoClassDefFoundError: org/eclipse/mylyn/internal/provisional/commons/ui/CommonImages
	at org.eclipse.mylyn.rememberthemilk.ui.RTMTaskEditorPageFactory.getPageImage(RTMTaskEditorPageFactory.java:94)
	at org.eclipse.mylyn.tasks.ui.editors.TaskEditor.addPages(TaskEditor.java:411)
	at org.eclipse.ui.forms.editor.FormEditor.createPages(FormEditor.java:138)
	at org.eclipse.ui.forms.editor.SharedHeaderFormEditor.createPages(SharedHeaderFormEditor.java:98)
	at org.eclipse.mylyn.tasks.ui.editors.TaskEditor.createPages(TaskEditor.java:196)
	at org.eclipse.ui.part.MultiPageEditorPart.createPartControl(MultiPageEditorPart.java:348)
	at org.eclipse.ui.internal.EditorReference.createPartHelper(EditorReference.java:670)
	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.EditorReference.getEditor(EditorReference.java:289)
	at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched(WorkbenchPage.java:2949)
	at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:2854)
	at org.eclipse.ui.internal.WorkbenchPage.access$11(WorkbenchPage.java:2846)
	at org.eclipse.ui.internal.WorkbenchPage$10.run(WorkbenchPage.java:2797)
	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
	at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2793)
	at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2777)
	at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2760)
	at org.eclipse.mylyn.tasks.ui.TasksUiUtil.openEditor(TasksUiUtil.java:182)
	at org.eclipse.mylyn.internal.tasks.ui.util.TasksUiInternal.openTask(TasksUiInternal.java:920)
	at org.eclipse.mylyn.tasks.ui.TasksUiUtil.openTask(TasksUiUtil.java:283)
	at org.eclipse.mylyn.internal.tasks.ui.util.TasksUiInternal.refreshAndOpenTaskListElement(TasksUiInternal.java:306)
	at org.eclipse.mylyn.internal.tasks.ui.actions.OpenTaskListElementAction.runWithEvent(OpenTaskListElementAction.java:56)
	at org.eclipse.mylyn.internal.tasks.ui.actions.OpenTaskListElementAction.run(OpenTaskListElementAction.java:47)
	at org.eclipse.mylyn.internal.tasks.ui.views.TaskListView$22.open(TaskListView.java:1308)
	at org.eclipse.jface.viewers.StructuredViewer$2.run(StructuredViewer.java:866)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:49)
	at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175)
	at org.eclipse.jface.viewers.StructuredViewer.fireOpen(StructuredViewer.java:864)
	at org.eclipse.jface.viewers.StructuredViewer.handleOpen(StructuredViewer.java:1152)
	at org.eclipse.jface.viewers.StructuredViewer$6.handleOpen(StructuredViewer.java:1256)
	at org.eclipse.jface.util.OpenStrategy.fireOpenEvent(OpenStrategy.java:275)
	at org.eclipse.jface.util.OpenStrategy.access$2(OpenStrategy.java:269)
	at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:309)
	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.Display.runDeferredEvents(Display.java:4169)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3758)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2701)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2665)
	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2499)
	at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:679)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:668)
	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)
Caused by: java.lang.ClassNotFoundException: org.eclipse.mylyn.internal.provisional.commons.ui.CommonImages
	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:501)
	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421)
	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412)
	at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	... 59 more
Comment 1 Steffen Pingel CLA 2013-03-04 04:02:04 EST
Those connectors need to be updated. Please see bug 360301.

*** This bug has been marked as a duplicate of bug 360301 ***
Comment 2 Eugene Kuleshov CLA 2013-03-04 08:51:45 EST
Steven, I know it need to be updated, but unfortunately it is not possible. Hence request to provide compatibility plugin.
Comment 3 Steffen Pingel CLA 2013-03-04 10:22:44 EST
I understand that it is unfortunate that the classes are no longer available but we generally do not provide backwards compatibility support when making changes to internals. If you are unable to upgrade the connector you would need to downgrade to a previous Mylyn release. Older releases can be found in the archive: http://eclipse.org/mylyn/downloads/archive.php.
Comment 4 Eugene Kuleshov CLA 2013-03-04 10:26:45 EST
Steven, you should be aware, that it is next to impossible to downgrade Mylyn in any Eclipse, because it is packaged together with Platform. 

Please reconsider providing backward compatibility layer.
Comment 5 Steffen Pingel CLA 2013-03-04 10:29:12 EST
I'm sorry but we don't have capacity to provide a compatibility layer. I would recommend to start with the Eclipse SDK and install Mylyn on top of that or use an older packaged Eclipse platform release to consume a previous Mylyn release.
Comment 6 Eugene Kuleshov CLA 2013-03-04 10:33:48 EST
Well, you had the "capacity" to break existing connectors... Very frustrating.

Starting from Eclipse SDK is not really an option either, because of project interdepencencies. Eclipse release train was invented for that reason.