Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 347531 - Cannot click Next when attempting to update, if one of the components is deselected
Summary: Cannot click Next when attempting to update, if one of the components is dese...
Status: CLOSED FIXED
Alias: None
Product: Equinox
Classification: Eclipse Project
Component: p2 (show other bugs)
Version: unspecified   Edit
Hardware: PC Windows 7
: P3 major (vote)
Target Milestone: 3.7 RC4   Edit
Assignee: Matthew Piggott CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-05-27 19:32 EDT by John CLA
Modified: 2011-06-01 14:38 EDT (History)
4 users (show)

See Also:
tjwatson: pmc_approved+
irbull: review+
pascal: review+
tjwatson: review+


Attachments
AcceptLicensesWizardPage set variables to null after dispose (835 bytes, patch)
2011-05-31 13:41 EDT, Matthew Piggott CLA
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description John CLA 2011-05-27 19:32:46 EDT
Build Identifier: I20110526-1435

Help->Check for updates
shows me 2 items
I deselect the first one and I cannot pass beyond the second Next
To workaround, I must select all.

Unhandled event loop exception
org.eclipse.swt.SWTException: Widget is disposed
	at org.eclipse.swt.SWT.error(SWT.java:4277)
	at org.eclipse.swt.SWT.error(SWT.java:4192)
	at org.eclipse.swt.SWT.error(SWT.java:4163)
	at org.eclipse.swt.widgets.Widget.error(Widget.java:468)
	at org.eclipse.swt.widgets.Widget.checkWidget(Widget.java:340)
	at org.eclipse.swt.widgets.Tree.getItem(Tree.java:3101)
	at org.eclipse.equinox.p2.ui.AcceptLicensesWizardPage.setVisible(AcceptLicensesWizardPage.java:496)
	at org.eclipse.jface.wizard.WizardDialog.updateForPage(WizardDialog.java:1260)
	at org.eclipse.jface.wizard.WizardDialog.access$4(WizardDialog.java:1239)
	at org.eclipse.jface.wizard.WizardDialog$8.run(WizardDialog.java:1228)
	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
	at org.eclipse.jface.wizard.WizardDialog.showPage(WizardDialog.java:1226)
	at org.eclipse.jface.wizard.WizardDialog.nextPressed(WizardDialog.java:915)
	at org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDialog.java:428)
	at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:624)
	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:240)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4163)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3752)
	at org.eclipse.jface.window.Window.runEventLoop(Window.java:825)
	at org.eclipse.jface.window.Window.open(Window.java:801)
	at org.eclipse.equinox.p2.ui.ProvisioningUI.openUpdateWizard(ProvisioningUI.java:245)
	at org.eclipse.equinox.internal.p2.ui.sdk.UpdateHandler.doExecute(UpdateHandler.java:42)
	at org.eclipse.equinox.internal.p2.ui.sdk.PreloadingRepositoryHandler$3$1.run(PreloadingRepositoryHandler.java:101)
	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:4138)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3755)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:944)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:860)
	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:87)
	at org.eclipse.ui.internal.Workbench$3.run(Workbench.java:542)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:522)
	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. simple: Here you need to get an eclipse 4 that is not latest and that shows the latest eclipse in Help->Check For Updates(CFU), so that you can potentially upgrade to the latest Eclipse SDK via that CFU.
I guess you need to add,
The Eclipse IBuild Updates - http://download.eclipse.org/eclipse/updates/4.1-I-builds
that site to Available Software Sites, else CFU doesn't see the latest eclipse build

details:
get previous to last eclipse 4 sdk from like here: http://download.eclipse.org/e4/sdk/
in my case it's: 
for some reason with this eclipse (previous to last) it didn't work:P http://download.eclipse.org/e4/sdk/drops/I20110526-1435/index.php

this bug was tested with: eclipse-SDK-I20110518-2200-win32-x86_64.zip but I am also retesting it with that one.


2. simple: run eclipse with jre6u25 (didn't try with jre7)
details:
ie. unpack and run, for me it's running with this eclipse.ini but probably there is no need to run it like this, just maybe make sure it's not running with jre7

-startup
plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.100.v20110502
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vm
C:/Program Files/Java/jdk1.6.0_25/bin/javaw.exe 
-vmargs
-Dfile.encoding=UTF-8
-Dosgi.requiredJavaVersion=1.5
-XX:+HeapDumpOnOutOfMemoryError
-Dcom.sun.management.jmxremote
-Xms128m
-Xmx512m
 

3. simple: Help->Check For Updates and make sure there is an Eclipse SDK to update to, but don't update yet, cancel or something. If there are no updates, you didn't add the above url to Avail. Software Sites (this is for me when I reread this xD).

4.
simple:
install previous to last Subversive SVN Team Provider (Incubation)	aka this one: 0.7.9.I20110419-1700
This is needed so that Help->Check For Updates has at least 2 items that need to be updated (ie. eclipse sdk and SVN Incubation Provider something)

details:
Help->Install New Software, deselect `Show only the latest version of available software`
select `All Available Sites` in `Work with:` and wait for the list to update from Internet, you can type SVN before since we want to install this.


after like some minutes the list is populated, you expand Collaboration and select
this older version of SVN, called:
    Subversive SVN Team Provider (Incubation)	0.7.9.I20110419-1700
note: the new one is this (but don't install this, we need to update to it later in CFU):     Subversive SVN Team Provider (Incubation)	0.7.9.I20110523-1700

so install that old version 0419, and restart eclipse when prompted

 (just to be clear this is eclipse: 
Eclipse SDK

Version: 4.1.0
Build id: I20110526-1435
)

5. Window->Show View->Error Log

6.
Help->Check for updates
after a long while you should see two options:
Eclipse SDK
Subversive SVN Team Provider (Incubation)

deselect Eclipse SDK, click NExt, then click Next again, something happens in Progress view (like still updating some artifacts, but probably this is irrelevant)

nothing happens, you cannot go Next, but notice this error in Error Log:
Unhandled event loop exception
org.eclipse.swt.SWTException: Widget is disposed
	at org.eclipse.swt.SWT.error(SWT.java:4277)
	at org.eclipse.swt.SWT.error(SWT.java:4192)
	at org.eclipse.swt.SWT.error(SWT.java:4163)
	at org.eclipse.swt.widgets.Widget.error(Widget.java:468)
	at org.eclipse.swt.widgets.Widget.checkWidget(Widget.java:340)
	at org.eclipse.swt.widgets.Tree.getItem(Tree.java:3101)
	at org.eclipse.equinox.p2.ui.AcceptLicensesWizardPage.setVisible(AcceptLicensesWizardPage.java:496)
	at org.eclipse.jface.wizard.WizardDialog.updateForPage(WizardDialog.java:1260)
	at org.eclipse.jface.wizard.WizardDialog.access$4(WizardDialog.java:1239)
	at org.eclipse.jface.wizard.WizardDialog$8.run(WizardDialog.java:1228)
	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
	at org.eclipse.jface.wizard.WizardDialog.showPage(WizardDialog.java:1226)
	at org.eclipse.jface.wizard.WizardDialog.nextPressed(WizardDialog.java:915)
	at org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDialog.java:428)
	at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:624)
	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:240)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4163)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3752)
	at org.eclipse.jface.window.Window.runEventLoop(Window.java:825)
	at org.eclipse.jface.window.Window.open(Window.java:801)
	at org.eclipse.equinox.p2.ui.ProvisioningUI.openUpdateWizard(ProvisioningUI.java:245)
	at org.eclipse.equinox.internal.p2.ui.sdk.UpdateHandler.doExecute(UpdateHandler.java:42)
	at org.eclipse.equinox.internal.p2.ui.sdk.PreloadingRepositoryHandler$3$1.run(PreloadingRepositoryHandler.java:101)
	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:4138)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3755)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:944)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:860)
	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:87)
	at org.eclipse.ui.internal.Workbench$3.run(Workbench.java:542)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:522)
	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)

eclipse.buildId=I20110526-1435
java.version=1.6.0_25
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_US
Command-line arguments:  -os win32 -ws win32 -arch x86_64


To work around this, click Back and select Eclipse SDK, not Next,Next works and stuff :)


I initially wanted to check why when I updated only 3 items related to SVN while having the first one (Eclipse SDK) uncheck, it installed all of them. And since I cannot really bring back all the other old(!) SVN components such that to have them updatable in Check For Updates, I tried it only with SVN Provider and hit this bug instead. Maybe they are related.
Comment 1 Pascal Rapicault CLA 2011-05-27 19:46:56 EDT
This has already been fixed in RC1 or RC2.
Comment 2 John CLA 2011-05-27 19:50:15 EDT
this RC2?
4.1 Stream Stable Build	4.1RC2	Tue, 24 May 2011 -- 10:00 (-0400)


my test on:
Eclipse SDK

Version: 4.1.0
Build id: I20110526-1435

I might be missing something?
Comment 3 Remy Suen CLA 2011-05-27 19:56:42 EDT
Pascal, I think this might be a different bug from bug 344969 and bug 344889. That one is an NPE whereas this one is an SWTException.
Comment 4 John CLA 2011-05-27 20:21:07 EDT
tested in both RC1 and RC2, and confirmed to still exist (thus it wasn't like reintroduced in the later builds, since the eclipse I tested with was an updated RC2 so to speak)

eclipse-SDK-4.1RC1-win32-x86_64.zip

Unhandled event loop exception

org.eclipse.swt.SWTException: Widget is disposed
	at org.eclipse.swt.SWT.error(SWT.java:4277)
	at org.eclipse.swt.SWT.error(SWT.java:4192)
	at org.eclipse.swt.SWT.error(SWT.java:4163)
	at org.eclipse.swt.widgets.Widget.error(Widget.java:468)
	at org.eclipse.swt.widgets.Widget.checkWidget(Widget.java:340)
	at org.eclipse.swt.widgets.Tree.getItem(Tree.java:3101)
	at org.eclipse.equinox.p2.ui.AcceptLicensesWizardPage.setVisible(AcceptLicensesWizardPage.java:496)
	at org.eclipse.jface.wizard.WizardDialog.updateForPage(WizardDialog.java:1260)
	at org.eclipse.jface.wizard.WizardDialog.access$4(WizardDialog.java:1239)
	at org.eclipse.jface.wizard.WizardDialog$8.run(WizardDialog.java:1228)
	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
	at org.eclipse.jface.wizard.WizardDialog.showPage(WizardDialog.java:1226)
	at org.eclipse.jface.wizard.WizardDialog.nextPressed(WizardDialog.java:915)
	at org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDialog.java:428)
	at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:624)
	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:240)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4163)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3752)
	at org.eclipse.jface.window.Window.runEventLoop(Window.java:825)
	at org.eclipse.jface.window.Window.open(Window.java:801)
	at org.eclipse.equinox.p2.ui.ProvisioningUI.openUpdateWizard(ProvisioningUI.java:245)
	at org.eclipse.equinox.internal.p2.ui.sdk.UpdateHandler.doExecute(UpdateHandler.java:42)
	at org.eclipse.equinox.internal.p2.ui.sdk.PreloadingRepositoryHandler$3$1.run(PreloadingRepositoryHandler.java:101)
	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:4138)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3755)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:944)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:860)
	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:87)
	at org.eclipse.ui.internal.Workbench$3.run(Workbench.java:542)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:522)
	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)

eclipse.buildId=I20110516-1455
java.version=1.6.0_25
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_US
Command-line arguments:  -os win32 -ws win32 -arch x86_64

==============
eclipse-SDK-4.1RC2-win32-x86_64.zip
Unhandled event loop exception
org.eclipse.swt.SWTException: Widget is disposed
	at org.eclipse.swt.SWT.error(SWT.java:4277)
	at org.eclipse.swt.SWT.error(SWT.java:4192)
	at org.eclipse.swt.SWT.error(SWT.java:4163)
	at org.eclipse.swt.widgets.Widget.error(Widget.java:468)
	at org.eclipse.swt.widgets.Widget.checkWidget(Widget.java:340)
	at org.eclipse.swt.widgets.Tree.getItem(Tree.java:3101)
	at org.eclipse.equinox.p2.ui.AcceptLicensesWizardPage.setVisible(AcceptLicensesWizardPage.java:496)
	at org.eclipse.jface.wizard.WizardDialog.updateForPage(WizardDialog.java:1260)
	at org.eclipse.jface.wizard.WizardDialog.access$4(WizardDialog.java:1239)
	at org.eclipse.jface.wizard.WizardDialog$8.run(WizardDialog.java:1228)
	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
	at org.eclipse.jface.wizard.WizardDialog.showPage(WizardDialog.java:1226)
	at org.eclipse.jface.wizard.WizardDialog.nextPressed(WizardDialog.java:915)
	at org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDialog.java:428)
	at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:624)
	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:240)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4163)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3752)
	at org.eclipse.jface.window.Window.runEventLoop(Window.java:825)
	at org.eclipse.jface.window.Window.open(Window.java:801)
	at org.eclipse.equinox.p2.ui.ProvisioningUI.openUpdateWizard(ProvisioningUI.java:245)
	at org.eclipse.equinox.internal.p2.ui.sdk.UpdateHandler.doExecute(UpdateHandler.java:42)
	at org.eclipse.equinox.internal.p2.ui.sdk.PreloadingRepositoryHandler$3$1.run(PreloadingRepositoryHandler.java:101)
	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:4138)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3755)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:944)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:860)
	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:87)
	at org.eclipse.ui.internal.Workbench$3.run(Workbench.java:542)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:522)
	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)

eclipse.buildId=I20110524-1000
java.version=1.6.0_25
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_US
Command-line arguments:  -os win32 -ws win32 -arch x86_64
Comment 5 Pascal Rapicault CLA 2011-05-27 20:37:06 EDT
Oops, read too fast. Sorry about that.
Comment 6 Pascal Rapicault CLA 2011-05-27 20:37:23 EDT
thx for reopening
Comment 7 Pascal Rapicault CLA 2011-05-28 16:07:57 EDT
This problem occurs on 3.7 and 4.1. Marking for investigation for RC4.
What is interesting is that if I deselect SVN instead of SDK, then the install can continue.
Condensed steps:
- take SDK RC2
- add http://download.eclipse.org/eclipse/updates/3.7milestones so you have an update
- install an old version of SVN from indigo repo
- restart
- check for updates, deselect SDK.
Comment 8 Matthew Piggott CLA 2011-05-31 13:41:32 EDT
Created attachment 197015 [details]
AcceptLicensesWizardPage set variables to null after dispose

(In reply to comment #7)
> This problem occurs on 3.7 and 4.1. Marking for investigation for RC4.
> What is interesting is that if I deselect SVN instead of SDK, then the install
> can continue.
> Condensed steps:
> - take SDK RC2
> - add http://download.eclipse.org/eclipse/updates/3.7milestones so you have an
> update
> - install an old version of SVN from indigo repo
> - restart
> - check for updates, deselect SDK.

Looks like the problem here is that when the licenses change, existing widgets are disposed but their variables aren't set to null and when there is only one license to accept not all variables are recreated.

The reason deselecting SVN does not show the problem is the user has multiple licenses to accept.
Comment 9 Thomas Watson CLA 2011-05-31 15:56:23 EDT
This seems a pretty bad regression from 3.6.  The fix is simple and should be considered for RC4.
Comment 10 Ian Bull CLA 2011-06-01 01:43:41 EDT
this seems reasonable and low impact.  There are clearly a number of places that we check for null (to assume we are disposed), but we don't set the value to null property.

Good work Matt.
Comment 11 Pascal Rapicault CLA 2011-06-01 14:38:31 EDT
This has been released. Thx for the quick turn around and the reviews.