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

Bug 381476

Summary: Breaks Mylyn Task List view, with "Cannot inherit from final class" message.
Product: z_Archived Reporter: Wayne Stidolph <wayne>
Component: RecommendersAssignee: Marcel Bruch <marcel.bruch>
Status: CLOSED DUPLICATE QA Contact:
Severity: critical    
Priority: P3 CC: steffen.pingel
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: Windows 7   
Whiteboard:

Description Wayne Stidolph CLA 2012-06-02 19:39:18 EDT
Build Identifier: Version: 2.9.2.RELEASE Build Id: 201205071000 (Springsource STS)

Task List window shows:

java.lang.VerifyError: Cannot inherit from final class
	at java.lang.ClassLoader.defineClass1(Native Method)
	at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
	at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.defineClass(DefaultClassLoader.java:188)
	at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineClassHoldingLock(ClasspathManager.java:626)
	at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineClass(ClasspathManager.java:608)
	at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findClassImpl(ClasspathManager.java:562)
	at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClassImpl(ClasspathManager.java:486)
	at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:459)
	at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:216)
	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:400)
	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:476)
	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:429)
	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:417)
	at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
	at org.eclipse.mylyn.internal.tasks.index.ui.IndexReference.index(IndexReference.java:58)
	at org.eclipse.mylyn.internal.tasks.index.ui.IndexSearchHandler.createFilter(IndexSearchHandler.java:73)
	at org.eclipse.mylyn.internal.tasks.ui.views.TaskListFilteredTree.<init>(TaskListFilteredTree.java:128)
	at org.eclipse.mylyn.internal.tasks.ui.views.TaskListView.createPartControl(TaskListView.java:809)
	at org.eclipse.ui.internal.ViewReference.createPartHelper(ViewReference.java:375)
	at org.eclipse.ui.internal.ViewReference.createPart(ViewReference.java:229)
	at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:595)
	at org.eclipse.ui.internal.PartPane.setVisible(PartPane.java:313)
	at org.eclipse.ui.internal.ViewPane.setVisible(ViewPane.java:534)
	at org.eclipse.ui.internal.presentations.PresentablePart.setVisible(PresentablePart.java:180)
	at org.eclipse.ui.internal.presentations.util.PresentablePartFolder.select(PresentablePartFolder.java:270)
	at org.eclipse.ui.internal.presentations.util.LeftToRightTabOrder.select(LeftToRightTabOrder.java:65)
	at org.eclipse.ui.internal.presentations.util.TabbedStackPresentation.selectPart(TabbedStackPresentation.java:473)
	at org.eclipse.ui.internal.PartStack.refreshPresentationSelection(PartStack.java:1245)
	at org.eclipse.ui.internal.PartStack.createControl(PartStack.java:662)
	at org.eclipse.ui.internal.PartStack.createControl(PartStack.java:570)
	at org.eclipse.ui.internal.PartSashContainer.createControl(PartSashContainer.java:568)
	at org.eclipse.ui.internal.PerspectiveHelper.activate(PerspectiveHelper.java:272)
	at org.eclipse.ui.internal.Perspective.onActivate(Perspective.java:981)
	at org.eclipse.ui.internal.WorkbenchPage.onActivate(WorkbenchPage.java:2714)
	at org.eclipse.ui.internal.WorkbenchWindow$28.run(WorkbenchWindow.java:3030)
	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
	at org.eclipse.ui.internal.WorkbenchWindow.setActivePage(WorkbenchWindow.java:3011)
	at org.eclipse.ui.internal.WorkbenchWindow$21.runWithException(WorkbenchWindow.java:2297)
	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:135)
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4140)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3757)
	at org.eclipse.ui.application.WorkbenchAdvisor.openWindows(WorkbenchAdvisor.java:803)
	at org.eclipse.ui.internal.Workbench$33.runWithException(Workbench.java:1600)
	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:135)
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4140)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3757)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2609)
	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:123)
	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:344)
	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:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1386)


Reproducible: Always

Steps to Reproduce:
1. Install STS 2.92, Oracle JDK 1.6.0
  eclipse.buildId=2.9.2.201205071000-RELEASE
  java.version=1.6.0_32
  java.vendor=Sun Microsystems Inc.
  BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_US
  Framework arguments:  -product com.springsource.sts.ide
  Command-line arguments:  -os win32 -ws win32 -arch x86_64 -product com.springsource.sts.ide

2. create new new workspace, let STS update
3. Install all Code Recommender features from http://download.eclipse.org/recommenders/updates/dev/e37/
4. Restart eclipse, see broken Task List (in Java Perspective)
5. Uninstall the Code Recommender features, restart (-clean) and Task List is OK
Comment 1 Marcel Bruch CLA 2012-06-03 01:49:58 EDT
Steffen, is this caused by Lucene 3.5 Code Recommenders depends on?
Comment 2 Marcel Bruch CLA 2012-06-03 02:14:15 EDT
reproduced on mac. Below is a list of new dependencies introduced by code recommenders. Implicitly there are dependencies to netty, async http, and a few maven libs - but I think they are not the cause.

As there is a Lucene version installed already (2.9) and your index class sounds like it uses/extends Lucene, I wildly guess that this the cause? Mylyn version seems to be org.eclipse.mylyn.tasks.index.core_3.7.1.v20120425-0100. This does not happen for 4.2, right?


>$:plugins Marcel$ diff before.cr.txt after.cr.txt 

ch.qos.logback.classic_1.0.0.v20111214-2030.jar
ch.qos.logback.core_1.0.0.v20111214-2030.jar
com.google.gson_2.1.0.v201203072145.jar
com.google.guava_10.0.1.v201203051515.jar
com.google.inject.assistedinject_3.0.0.201206011119.jar
com.google.inject.multibindings_3.0.0.201206011119.jar
com.google.inject_3.0.0.v201203062045.jar
org.apache.commons.lang3_3.1.0.201206011119.jar
org.apache.commons.math_2.1.0.v201105210652.jar
org.apache.commons.pool_1.6.0.v201204271246.jar
org.apache.commons.primitives_1.0.0.201206011119.jar
org.apache.lucene.core_3.5.0.v20120319-2345.jar
org.apache.lucene.misc_3.5.0.v20120319-2345.jar
org.apache.lucene.queries_3.5.0.v20120319-2345.jar
org.apache.lucene_3.5.0.v20120319-2345.jar
org.eclipse.recommenders.aether_1.0.0.201206011119.jar
org.slf4j.api_1.6.4.v20120130-2120.jar
-- recommender's plugins.
Comment 3 Wayne Stidolph CLA 2012-06-03 02:33:09 EDT
Well, I haven't filed this yet because my experiments were too chaotic so far, but on eclipse 4.2 with STS 3.0.0.M2 and Mylyn 3.8 the Task List window is unpopulated, and there's an error "Unable to create class 'org.eclipse.ui.internal.e4.compatibility.CompatibilityView' from bundle '506'" which is "Caused by: java.lang.VerifyError: Cannot inherit from final class"

So it's not identical, but it's the same root cause affecting the same UI artifact.
Comment 4 Marcel Bruch CLA 2012-06-03 03:02:10 EDT
This may be related to bug 381359 then. Thanks Wayne.
Comment 5 Marcel Bruch CLA 2012-06-03 15:59:30 EDT

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