Bug 154816 - eclipse fails to start with NoClassDefFoundError
Summary: eclipse fails to start with NoClassDefFoundError
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Fedora
Classification: Fedora
Component: eclipse
Version: 4
Hardware: x86_64
OS: Linux
medium
medium
Target Milestone: ---
Assignee: eclipse-bugs
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2005-04-14 13:04 UTC by Andrey Petrov
Modified: 2007-11-30 22:11 UTC (History)
0 users

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2005-04-26 20:25:34 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
output of /usr/bin/gcj-dbtool -l /usr/lib64/gcj-4.0.0/classmap.db (1.57 MB, text/plain)
2005-04-14 13:04 UTC, Andrey Petrov
no flags Details

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.


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