Bug 154816

Summary: eclipse fails to start with NoClassDefFoundError
Product: [Fedora] Fedora Reporter: Andrey Petrov <andreypetrov>
Component: eclipseAssignee: eclipse-bugs
Status: CLOSED WONTFIX QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: 4   
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2005-04-26 20:25:34 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
output of /usr/bin/gcj-dbtool -l /usr/lib64/gcj-4.0.0/classmap.db none

Description Andrey Petrov 2005-04-14 13:04:37 UTC
Description of problem:
eclipse fails to launch and it advises to take a look at
/home/username/workspace/.metadata/.log where the following stacktrace may be found:
!SESSION 2005-04-14 15:58:00.396 -----------------------------------------------
eclipse.buildId=I20050219-1500
java.fullversion=GNU libgcj 4.0.0 20050405 (Red Hat 4.0.0-0.40)
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US
Command-line arguments:  -os linux -ws gtk -arch x86_64 -data /home/andrew/workspace

!ENTRY org.eclipse.osgi 2005-04-14 15:58:00.397
!MESSAGE Application error
!STACK 1
java.lang.NoClassDefFoundError: while resolving class: org.eclipse.swt.graphics.GC
   at java.lang.VMClassLoader.transformException(java.lang.Class,
java.lang.Throwable) (/usr/lib64/libgcj.so.6.0.0)
   at java.lang.VMClassLoader.resolveClass(java.lang.Class)
(/usr/lib64/libgcj.so.6.0.0)
   at java.lang.Class.initializeClass() (/usr/lib64/libgcj.so.6.0.0)
   at org.eclipse.swt.widgets.CoolItem.createArrowImage(int, int) (Unknown Source)
   at org.eclipse.swt.widgets.CoolItem.updateChevron() (Unknown Source)
   at org.eclipse.swt.widgets.CoolItem.setBounds(int, int, int, int) (Unknown
Source)
   at org.eclipse.swt.widgets.CoolBar.layoutItems() (Unknown Source)
   at org.eclipse.swt.widgets.CoolBar.relayout() (Unknown Source)
   at org.eclipse.swt.widgets.CoolItem.setSize(int, int) (Unknown Source)
   at org.eclipse.swt.widgets.CoolItem.setSize(org.eclipse.swt.graphics.Point)
(Unknown Source)
   at org.eclipse.jface.action.ToolBarContributionItem.updateSize(boolean)
(Unknown Source)
   at
org.eclipse.jface.action.ToolBarContributionItem.fill(org.eclipse.swt.widgets.CoolBar,
int) (Unknown Source)
   at org.eclipse.jface.action.CoolBarManager.update(boolean) (Unknown Source)
   at
org.eclipse.jface.action.CoolBarManager.createControl(org.eclipse.swt.widgets.Composite)
(Unknown Source)
   at
org.eclipse.jface.window.ApplicationWindow.createCoolBarControl(org.eclipse.swt.widgets.Composite)
(Unknown Source)
   at
org.eclipse.ui.internal.WorkbenchWindow.createDefaultContents(org.eclipse.swt.widgets.Shell)
(Unknown Source)
   at
org.eclipse.ui.internal.WorkbenchWindowConfigurer.createDefaultContents(org.eclipse.swt.widgets.Shell)
(Unknown Source)
   at
org.eclipse.ui.application.WorkbenchWindowAdvisor.createWindowContents(org.eclipse.swt.widgets.Shell)
(Unknown Source)
   at
org.eclipse.ui.internal.WorkbenchWindow.createContents(org.eclipse.swt.widgets.Composite)
(Unknown Source)
   at org.eclipse.jface.window.Window.create() (Unknown Source)
Caused by: java.lang.ClassNotFoundException:
org.eclipse.swt.internal.cairo.cairo_font_extents_t
   at
org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(java.lang.String)
(Unknown Source)
   at
org.eclipse.osgi.framework.adaptor.core.AbstractClassLoader.loadClass(java.lang.String,
boolean) (Unknown Source)
   at java.lang.Class.forName(java.lang.String, boolean, java.lang.ClassLoader)
(/usr/lib64/libgcj.so.6.0.0)
   at java.lang.VMClassLoader.resolveClass(java.lang.Class)
(/usr/lib64/libgcj.so.6.0.0)
   at java.lang.Class.initializeClass() (/usr/lib64/libgcj.so.6.0.0)
   at org.eclipse.swt.widgets.CoolItem.createArrowImage(int, int) (Unknown Source)
   at org.eclipse.swt.widgets.CoolItem.updateChevron() (Unknown Source)
   at org.eclipse.swt.widgets.CoolItem.setBounds(int, int, int, int) (Unknown
Source)
   at org.eclipse.swt.widgets.CoolBar.layoutItems() (Unknown Source)
   at org.eclipse.swt.widgets.CoolBar.relayout() (Unknown Source)
   at org.eclipse.swt.widgets.CoolItem.setSize(int, int) (Unknown Source)
   at org.eclipse.swt.widgets.CoolItem.setSize(org.eclipse.swt.graphics.Point)
(Unknown Source)
   at org.eclipse.jface.action.ToolBarContributionItem.updateSize(boolean)
(Unknown Source)
   at
org.eclipse.jface.action.ToolBarContributionItem.fill(org.eclipse.swt.widgets.CoolBar,
int) (Unknown Source)
   at org.eclipse.jface.action.CoolBarManager.update(boolean) (Unknown Source)
   at
org.eclipse.jface.action.CoolBarManager.createControl(org.eclipse.swt.widgets.Composite)
(Unknown Source)
   at
org.eclipse.jface.window.ApplicationWindow.createCoolBarControl(org.eclipse.swt.widgets.Composite)
(Unknown Source)
   at
org.eclipse.ui.internal.WorkbenchWindow.createDefaultContents(org.eclipse.swt.widgets.Shell)
(Unknown Source)
   at
org.eclipse.ui.internal.WorkbenchWindowConfigurer.createDefaultContents(org.eclipse.swt.widgets.Shell)
(Unknown Source)


Version-Release number of selected component (if applicable):
I've tested builds 3.1.0_fc-0.M5.17 and 3.1.0_fc-0.M5.19 and both have the same
issue.

How reproducible:
Always

Steps to Reproduce:
1. install fc4test2
2. run /usr/bin/eclipse
  
Actual results:


Expected results:


Additional info:
the output of /usr/bin/gcj-dbtool -l /usr/lib64/gcj-4.0.0/classmap.db is
attached to this issue, see dbtool.out file (it does contain references to
swt-cairo.jar.so)

Comment 1 Andrey Petrov 2005-04-14 13:04:39 UTC
Created attachment 113144 [details]
output of /usr/bin/gcj-dbtool -l /usr/lib64/gcj-4.0.0/classmap.db

Comment 2 Andrey Petrov 2005-04-14 18:04:29 UTC
the official eclipse snapshot from eclipse.org runs fine with gcj (in
interpreted mode)
Help->About Eclipse Platform->Configuration Details
...
java.vm.vendor=Free Software Foundation, Inc.
java.vm.version=4.0.0 20050405 (Red Hat 4.0.0-0.40)
...

Comment 3 Andrew Overholt 2005-04-20 12:22:35 UTC
Can you please try the latest 3.1M6 packages and see if your issue persists?

Comment 4 Andrey Petrov 2005-04-20 18:52:07 UTC
The latest rawhide build eclipse-platform-3.1.0_fc-0.M6.7 boots fine.

I'm able to get to the main window though the welcome tab contains the following
stacktrace instead of its ordinary content:
java.lang.NullPointerException
   at java.lang.Object.getClass() (/usr/lib64/libgcj.so.6.0.0)
   at
org.eclipse.ui.internal.ViewIntroAdapterPart.createPartControl(org.eclipse.swt.widgets.Composite)
(Unknown Source)
   at
org.eclipse.ui.internal.ViewFactory.busyRestoreViewHelper(org.eclipse.ui.internal.ViewFactory$ViewReference)
(Unknown Source)
   at
org.eclipse.ui.internal.ViewFactory.busyRestoreView(org.eclipse.ui.IViewReference)
(Unknown Source)
   at org.eclipse.ui.internal.ViewFactory$1.run() (Unknown Source)
   at
org.eclipse.swt.custom.BusyIndicator.showWhile(org.eclipse.swt.widgets.Display,
java.lang.Runnable) (Unknown Source)
   at
org.eclipse.ui.internal.ViewFactory.restoreView(org.eclipse.ui.IViewReference)
(Unknown Source)
   at org.eclipse.ui.internal.Perspective.showView(java.lang.String,
java.lang.String) (Unknown Source)
   at org.eclipse.ui.internal.WorkbenchPage.busyShowView(java.lang.String,
java.lang.String, int) (Unknown Source)
   at
org.eclipse.ui.internal.WorkbenchPage.access$10(org.eclipse.ui.internal.WorkbenchPage,
java.lang.String, java.lang.String, int) (Unknown Source)
   at org.eclipse.ui.internal.WorkbenchPage$13.run() (Unknown Source)
   at
org.eclipse.swt.custom.BusyIndicator.showWhile(org.eclipse.swt.widgets.Display,
java.lang.Runnable) (Unknown Source)
   at org.eclipse.ui.internal.WorkbenchPage.showView(java.lang.String,
java.lang.String, int) (Unknown Source)
   at org.eclipse.ui.internal.WorkbenchPage.showView(java.lang.String) (Unknown
Source)
   at
org.eclipse.ui.internal.WorkbenchIntroManager.createIntro(org.eclipse.ui.IWorkbenchWindow)
(Unknown Source)
   at
org.eclipse.ui.internal.WorkbenchIntroManager.showIntro(org.eclipse.ui.IWorkbenchWindow,
boolean) (Unknown Source)
   at
org.eclipse.ui.internal.WorkbenchWindow.restoreState(org.eclipse.ui.IMemento,
org.eclipse.ui.IPerspectiveDescriptor) (Unknown Source)
   at org.eclipse.ui.internal.Workbench.restoreState(org.eclipse.ui.IMemento)
(Unknown Source)

Comment 5 Andrey Petrov 2005-04-20 18:58:56 UTC
You may disregard my previous message about this stacktrace:
java.lang.NullPointerException
   at java.lang.Object.getClass() (/usr/lib64/libgcj.so.6.0.0)
   at
org.eclipse.ui.internal.ViewIntroAdapterPart.createPartControl(org.eclipse.swt.widgets.Composite)
(Unknown Source)
...

The problem went away when I removed the ~/.eclipse and ~/workspace folders
which were created in my home directory by the official eclipse.org distribution. 
I don't know if you consider the exceptions which occur if you run the official
m6 distribution and then the fc4 version to be bugs.

Comment 6 Andrew Overholt 2005-04-21 13:16:01 UTC
We seem to get a lot of issues from files in ~/.eclipse.  With the work we're
doing on Eclipse bug 90535, hopefully we will get rid of ~/.eclipse for the vast
majority of users.

In terms of workspace issues when alternating between proprietary JVMs and
gcj/gij, I've seem this as well but haven't had time to track it down.  If you
could provide a test case for when this happens, that would help a lot.

Comment 7 Andrew Overholt 2005-04-26 20:25:34 UTC
I guess we'll close for now.  Please re-open as you see fit.