Bug 878210

Summary: Unable to load vrapper plugin due to java.lang.NoClassDefFoundError: org/eclipse/core/runtime/IPluginDescriptor
Product: [Fedora] Fedora Reporter: Jesse Keating <jkeating>
Component: eclipseAssignee: Krzysztof Daniel <kdaniel>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 18CC: akurtako, andjrobins, dcantrell, jerboaa, kdaniel, mbenitez, overholt, rgrunber, swagiaal
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-01-10 05:57:15 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Jesse Keating 2012-11-19 21:01:44 UTC
This looks related to upstream bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=384873

eclipse-vrapper won't load, here is a snippit from the workspace log:

!ENTRY net.sourceforge.vrapper.eclipse 4 0 2012-11-19 12:58:02.439
!MESSAGE Unable to execute early startup code for an extension
!STACK 0
java.lang.NoClassDefFoundError: org/eclipse/core/runtime/IPluginDescriptor
        at java.lang.Class.getDeclaredMethods0(Native Method)
        at java.lang.Class.privateGetDeclaredMethods(Class.java:2442)
        at java.lang.Class.getDeclaredMethod(Class.java:1952)
        at org.eclipse.ui.internal.EarlyStartupRunnable.getPluginForCompatibility(EarlyStartupRunnable.java:138)
        at org.eclipse.ui.internal.EarlyStartupRunnable.run(EarlyStartupRunnable.java:73)
        at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
        at org.eclipse.ui.internal.Workbench$54.run(Workbench.java:2402)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)
Caused by: java.lang.ClassNotFoundException: org.eclipse.core.runtime.IPluginDescriptor
        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(ClassLoader.java:356)
        ... 8 more

Comment 1 Krzysztof Daniel 2012-11-20 16:52:48 UTC
Thanks for the report :).

This of course a bug in my eclipse build, which I hope I will fix soon.

The other point is that none of plugins should use the compatibility bundle as it might be removed any time soon. Could you open a bug against upstream plugin to get rid of that ?

Comment 2 Jesse Keating 2012-11-20 17:18:48 UTC
Filed upstream as https://github.com/vrapper/vrapper/issues/126

Comment 3 Krzysztof Daniel 2012-11-21 12:25:43 UTC
Jesse, 

There are two related Eclipse bugs - the one that deals explicitly with the missing file and the other one concerning removing compatibility bundles at all (https://bugs.eclipse.org/bugs/show_bug.cgi?id=394739).

Comment 4 Krzysztof Daniel 2012-11-22 11:27:08 UTC
Jesse, I have pushed a build with a fix for that issue into rawhide. It wouldn't be bad if you could try it out http://koji.fedoraproject.org/koji/taskinfo?taskID=4715940.

Comment 5 Jesse Keating 2012-11-27 04:22:49 UTC
(In reply to comment #4)
> Jesse, I have pushed a build with a fix for that issue into rawhide. It
> wouldn't be bad if you could try it out
> http://koji.fedoraproject.org/koji/taskinfo?taskID=4715940.

I tried the -19 build that was in rawhide, on top of my F18 setup.  That didn't work so hot as it was unable to load pydev:

!ENTRY org.eclipse.jface 4 0 2012-11-26 20:18:47.863
!MESSAGE Unable to resolve plug-in "platform:/plugin/org.python.pydev/icons/python_file.g
if".
!STACK 0
java.io.IOException: Unable to resolve plug-in "platform:/plugin/org.python.pydev/icons/p
ython_file.gif".
        at org.eclipse.core.internal.runtime.PlatformURLPluginConnection.parse(PlatformUR
LPluginConnection.java:64)

Comment 6 Krzysztof Daniel 2012-11-27 07:56:39 UTC
Please run your eclipse with -clean and check if 
/usr/lib64/eclipse/plugins/org.eclipse.core.runtime.compatibility.registry has an innern jar with IPluginDescriptor class - the one that was missing. This is the ultimate sign that the issue was fixed.

The exception that you got has nothing to do with this issue - it's rather an effect of Eclipse reinstallation. Also, there should be the -20 release which contains additional fix.

Comment 7 Jesse Keating 2012-11-27 19:08:27 UTC
(In reply to comment #6)
> Please run your eclipse with -clean and check if 
> /usr/lib64/eclipse/plugins/org.eclipse.core.runtime.compatibility.registry
> has an innern jar with IPluginDescriptor class - the one that was missing.
> This is the ultimate sign that the issue was fixed.

Not sure how to check within a jar, but all I see there is:
$ ls /usr/lib64/eclipse/plugins/org.eclipse.core.runtime.compatibility.registry_3.5.100.v20121126-1150/
about.html  fragment.properties  META-INF  runtime_registry_compatibility.jar


> 
> The exception that you got has nothing to do with this issue - it's rather
> an effect of Eclipse reinstallation. Also, there should be the -20 release
> which contains additional fix.

Running: $ eclipse -clean   

still doesn't fix the pydev issue.

Comment 8 Krzysztof Daniel 2012-11-28 08:02:27 UTC
You should be able to open a jar with archive manager, nautilus or by just unzipping it.


Please upload the entire .log that you can find in your workspace folder.

If you want to experiment, you may to rename ~/.eclipse into ~/.eclipse_old and check if pydev is loaded (note that it will delete are your settings, that's why having a backup copy of .eclipse is important to restore it later).

Comment 10 Krzysztof Daniel 2013-01-10 05:57:15 UTC
the missing class is there. pydev also works for me. marking as fixed.