Bug 9876 - Reconciler must support SWT and primary feature change
Summary: Reconciler must support SWT and primary feature change
Status: RESOLVED WONTFIX
Alias: None
Product: Platform
Classification: Eclipse Project
Component: Update (deprecated - use Eclipse>Equinox>p2) (show other bugs)
Version: 2.0   Edit
Hardware: PC Linux
: P2 major (vote)
Target Milestone: ---   Edit
Assignee: Christophe Elek CLA
QA Contact:
URL:
Whiteboard:
Keywords:
: 27581 (view as bug list)
Depends on:
Blocks:
 
Reported: 2002-02-15 00:26 EST by Jim Tison CLA
Modified: 2009-08-18 16:44 EDT (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jim Tison CLA 2002-02-15 00:26:19 EST
Folks: 

I get the above-referenced message on startup, having just installed the 25 Jan
2002 stable build (Linux/GTK). 

I can't believe I'm not doing something wrong here ... this is far too basic.
I'm obviously missing something; but I'll be if I know what it is. CLASSPATH,
perhaps?  Your assistance would be appreciated. 

Full exception traceback follows sig ....

Thanks, 
--Jim--

/opt/eclipse$ eclipse&
[1] 2359
/opt/eclipse$ Exception launching the Eclipse Platform:
java.lang.NoClassDefFoundError: org/eclipse/swt/widgets/Widget
	at java.lang.Class.newInstance0(Native Method)
	at java.lang.Class.newInstance(Class.java:237)
	at
org.eclipse.core.internal.plugins.PluginDescriptor.createExecutableExtension(PluginDescriptor.java:136)
	at
org.eclipse.core.internal.plugins.PluginDescriptor.createExecutableExtension(PluginDescriptor.java:165)
	at
org.eclipse.core.internal.plugins.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:96)
	at
org.eclipse.core.internal.runtime.InternalPlatform.loaderGetRunnable(InternalPlatform.java:483)
	at java.lang.reflect.Method.invoke(Native Method)
	at
org.eclipse.core.internal.boot.InternalBootLoader.getRunnable(InternalBootLoader.java:505)
	at org.eclipse.core.internal.boot.InternalBootLoader.run(InternalBootLoader.java:874)
	at org.eclipse.core.boot.BootLoader.run(BootLoader.java:321)
	at java.lang.reflect.Method.invoke(Native Method)
	at org.eclipse.core.launcher.Main.basicRun(Main.java:151)
	at org.eclipse.core.launcher.Main.run(Main.java:502)
	at org.eclipse.core.launcher.Main.main(Main.java:362)
Comment 1 DJ Houghton CLA 2002-02-15 10:31:29 EST
Are you passing the -ws gtk arguments to the executable on startup?
Comment 2 DJ Houghton CLA 2002-02-17 10:25:15 EST
Comments from originator:
------------
No I wasn't. So I tried it, and now I get another exception:

org.eclipse.swt.SWTError: Unspecified error
        at org.eclipse.swt.SWT.error(SWT.java:1912)
        at org.eclipse.swt.SWT.error(SWT.java:1819)
        at org.eclipse.swt.graphics.DefaultGtkStyle.loadDefaultFont
(DefaultGtkStyle.java:97)
        at org.eclipse.swt.graphics.GC.<init>(GC.java:83)
        at org.eclipse.swt.custom.CTabFolder.updateArrowBar
(CTabFolder.java:1352)
        at org.eclipse.swt.custom.CTabFolder.layoutButtons
(CTabFolder.java:669)         
        at org.eclipse.swt.custom.CTabFolder.layoutItems(CTabFolder.java:798)
        at org.eclipse.swt.custom.CTabItem.setText(CTabItem.java:410)
        at org.eclipse.ui.internal.PartTabFolder.createPartTab
(PartTabFolder.java:233)
        at org.eclipse.ui.internal.PartTabFolder.createControl
(PartTabFolder.java:209)
        at org.eclipse.ui.internal.PartSashContainer.createControl
(PartSashContainer.java:172)
        at org.eclipse.ui.internal.PerspectivePresentation.activate
(PerspectivePresentation.java:80)
        at org.eclipse.ui.internal.Perspective.onActivate
(Perspective.java:509)         
        at org.eclipse.ui.internal.WorkbenchPage.onActivate
(WorkbenchPage.java:1030)
        at org.eclipse.ui.internal.WorkbenchWindow$5.run
(WorkbenchWindow.java:893)
        at org.eclipse.swt.custom.BusyIndicator.showWhile
(BusyIndicator.java:56)        
        at org.eclipse.ui.internal.WorkbenchWindow.setActivePage
(WorkbenchWindow.java:881)
        at org.eclipse.ui.internal.WorkbenchWindow.busyOpenPage
(WorkbenchWindow.java:278)
        at org.eclipse.ui.internal.WorkbenchWindow$4.run
(WorkbenchWindow.java:624)
        at org.eclipse.swt.custom.BusyIndicator.showWhile
(BusyIndicator.java:56)        
        at org.eclipse.ui.internal.WorkbenchWindow.openPage
(WorkbenchWindow.java:621)
        at org.eclipse.ui.internal.Workbench.openFirstTimeWindow
(Workbench.java:505)
        at org.eclipse.ui.internal.Workbench.openWindows(Workbench.java:591)
        at org.eclipse.ui.internal.Workbench.init(Workbench.java:433)
        at org.eclipse.ui.internal.Workbench.run(Workbench.java:823)
        at org.eclipse.core.internal.boot.InternalBootLoader.run
(InternalBootLoader.java:878)
        at org.eclipse.core.boot.BootLoader.run(BootLoader.java:321)
        at java.lang.reflect.Method.invoke(Native Method)
        at org.eclipse.core.launcher.Main.basicRun(Main.java:151)
        at org.eclipse.core.launcher.Main.run(Main.java:502)
        at org.eclipse.core.launcher.Main.main(Main.java:362)

Yikes! My system is RedHat 7.2, JRE 1.3.1, Linux kernel 2.4.17. 
Comment 3 Eric Nickell CLA 2002-03-04 16:14:12 EST
Fwiw, I encountered the same bug using the stable version, 20020214.  Running
-ws gtk got me running without any exceptions.  Did I miss something in the
installation instructions?  This seems like a pretty rough start for a new
eclipse user.
Comment 4 John Arthorne CLA 2002-04-11 09:58:01 EDT
The second stack trace looks like a GTK bug.  Moving to SWT for comment.
Comment 5 Boris Shingarov CLA 2002-04-11 14:32:41 EDT
This is fixed in the 2.0 stream.
Comment 6 Roland Stuehmer CLA 2002-06-05 09:52:51 EDT
Hi!

I had installed the F2 build (Linux, GTK!) until I found I wanted motif.
By deleting the install dir, unzipping and starting
"eclipse-SDK-20020602-linux-motif.zip" I got the above error. 

The error must result from the old (I had missed to delete) config in
'~/workspace/' maybe a gtk leftover directive because deleting the entire
'workspace', too, resolved the error.

I hope this is not off-topic but as you can see I reproduced the error with an
up-to-date build (by replacing a gtk install by a motif one).

Regards,

Roland.
Comment 7 Veronika Irvine CLA 2002-10-22 14:52:21 EDT
The CTabFolder.updateArrowBar error was fixed in 2.0.

There is still the original problem.

If I understand you correctly, you have a workspace that you created with a GTK 
installation of eclipse and then you replaced the IDE with a Motif version and 
the workspace no longer opened unless you specfied -ws motif.

This sounds like an install/update problem.  Information is stored in 
the .config metadata of your workspace which pertains to the eclipse 
installation which last opened the workspace.  Moving to the install/Update 
group.
Comment 8 Christophe Elek CLA 2002-10-22 15:02:43 EDT
Valid. We ought to be able to realize another platform was installed in the same
directory and that uses a differetn SWT. 
if the -ws doesn't work, installing in a different directory should help as the
startup will realize the platform is different than the previous one and
reconcile properly...
Comment 9 Yves CLA 2002-11-24 09:52:08 EST
Hi,

I got a similar problem, not when starting Eclipse, but when running a plugin 
project in a new workbench (run as... runtime workbench). The concerned plugin 
project is the one generated by the plugin project wizard for a "NewWizard". I 
made no modifications to the generated code.

Is this related ?

Thanks,

Yves


This is the console output :

java.lang.NoClassDefFoundError: org/eclipse/swt/widgets/Widget
	at java.lang.Class.getDeclaredConstructors0(Native Method)
	at java.lang.Class.privateGetDeclaredConstructors(Class.java:1576)
	at java.lang.Class.getConstructor0(Class.java:1748)
	at java.lang.Class.newInstance0(Class.java:266)
	at java.lang.Class.newInstance(Class.java:249)
	at 
org.eclipse.core.internal.plugins.PluginDescriptor.createExecutableExtension
(PluginDescriptor.java:138)
	at 
org.eclipse.core.internal.plugins.PluginDescriptor.createExecutableExtension
(PluginDescriptor.java:167)
	at 
org.eclipse.core.internal.plugins.ConfigurationElement.createExecutableExtension
(ConfigurationElement.java:102)
	at org.eclipse.core.internal.runtime.InternalPlatform.loaderGetRunnable
(InternalPlatform.java:463)
	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:324)
	at org.eclipse.core.internal.boot.InternalBootLoader.getRunnable
(InternalBootLoader.java:440)
	at org.eclipse.core.internal.boot.InternalBootLoader.run
(InternalBootLoader.java:771)
	at org.eclipse.core.boot.BootLoader.run(BootLoader.java:432)
	at EclipseRuntimeLauncher.main(EclipseRuntimeLauncher.java:24)
Exception in thread "main" 
Comment 10 Christophe Elek CLA 2002-11-27 12:10:15 EST
Action Taken: review bugzilla.
On the same level, startup should recover from SWT change as well as primary
feature change. If the SWT saved in platfrom.cfg does not exist, or if the
primary platform feature saved in platform.cfg does nto exists; we will
reconcile optimistically
Action Plan: Change subject
Comment 11 Christophe Elek CLA 2002-11-28 13:26:03 EST
Action Taken:
The wrong boot.jat was picked up. We picked up boot.jar 2.0.1 instead of the new
one: 2.0.2. Because of boot.xml having a match equivalent on runtime 2.0.1, we
picked up runtime 2.0.2 instead which is incompatible (bitecodewise) with
boot.jar 2.0.1
Solution:
Platform.cfg will compute hash code of all org.eclipse.core.boot plugin path and
save it in platform.cfg. Upon startup, Main will also compute the same hashcode
and compare it with platform.cfg. If the hash has changed,or it didn't exist,
Main will find the best boot.jar as if platform.cfg didn't exist.
Action taken: implement
Comment 12 Christophe Elek CLA 2002-12-04 12:09:36 EST
*** Bug 27581 has been marked as a duplicate of this bug. ***
Comment 13 Sonia Dimitrov CLA 2002-12-11 10:23:46 EST
*** Bug 28077 has been marked as a duplicate of this bug. ***
Comment 14 Christophe Elek CLA 2002-12-11 11:07:57 EST
Action Taken: Bug 27581 is somehow linked to this one. In this bug we disabled
the fragments because the previous workspace didn't have them in a feature.
Action Plan : n/a
Comment 15 Christophe Elek CLA 2003-01-29 06:55:35 EST
See comment #8. This occurs when changing windowing system on a workspace. Need
refactoring in startup. Post 2.1
Comment 16 Christophe Elek CLA 2003-02-12 10:22:32 EST
 later
Comment 17 DJ Houghton CLA 2009-08-18 16:41:04 EDT
[LATER->WONTFIX] The "LATER" bugzilla resolution is being removed so reopening
to mark as WONTFIX.
Comment 18 DJ Houghton CLA 2009-08-18 16:44:27 EDT
[LATER->WONTFIX] The "LATER" bugzilla resolution is being removed so reopening
to mark as WONTFIX.