Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 236358 - [ui] install wizard is empty
Summary: [ui] install wizard is empty
Status: VERIFIED FIXED
Alias: None
Product: Equinox
Classification: Eclipse Project
Component: p2 (show other bugs)
Version: unspecified   Edit
Hardware: All All
: P3 normal (vote)
Target Milestone: 3.5 M3   Edit
Assignee: Susan McCourt CLA
QA Contact:
URL:
Whiteboard:
Keywords:
: 238152 247249 247822 249867 255154 (view as bug list)
Depends on:
Blocks:
 
Reported: 2008-06-10 01:10 EDT by Steffen Pingel CLA
Modified: 2008-11-13 14:34 EST (History)
6 users (show)

See Also:


Attachments
original selection (24.03 KB, image/png)
2008-06-10 01:13 EDT, Steffen Pingel CLA
no flags Details
install wizard (15.99 KB, image/png)
2008-06-10 01:13 EDT, Steffen Pingel CLA
no flags Details
selection after dependencies were resolved (24.67 KB, image/png)
2008-06-10 01:14 EDT, Steffen Pingel CLA
no flags Details
patch to ProfileModificationAction (1.69 KB, patch)
2008-09-18 17:58 EDT, Susan McCourt CLA
no flags Details | Diff
replacement patch (2.98 KB, patch)
2008-09-18 18:16 EDT, Susan McCourt CLA
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Steffen Pingel CLA 2008-06-10 01:10:03 EDT
When I import a local site, select a feature from it and then use "Install..." the dialog that confirms the feature selection is empty (see screenshots). It seems that "Resolving Dependencies" refreshes the list of features in Available Software and causes the original selection to get lost.
Comment 1 Steffen Pingel CLA 2008-06-10 01:13:15 EDT
Created attachment 104268 [details]
original selection
Comment 2 Steffen Pingel CLA 2008-06-10 01:13:46 EDT
Created attachment 104269 [details]
install wizard
Comment 3 Steffen Pingel CLA 2008-06-10 01:14:20 EDT
Created attachment 104270 [details]
selection after dependencies were resolved
Comment 4 Steffen Pingel CLA 2008-06-10 01:15:56 EDT
Version: 3.4.0
Build id: I20080530-1730
Comment 5 John Arthorne CLA 2008-06-10 09:34:05 EDT
In the screen shot in comment #2, it says the original request has been modified because you selected to install something you already had installed. Is this the case?
Comment 6 Susan McCourt CLA 2008-06-10 11:25:29 EDT
I'll try against the RC4 build.
Comment 7 Susan McCourt CLA 2008-06-10 14:59:34 EDT
I tried this on RC4 but used the Ganymede site to get the Mylyn Bridge.  (And of course, I did not have it already installed.)  So it seems to work just fine.

I think you observed two unrelated problems:

- the selection changed.  I think this could have happened because the repo you were using referenced another repo.  (See bug #236485).

- the install wizard was empty.  This is a bug, what should have happened is that you still see Mylyn Bridge in the list and the messages are telling you that an update will happen instead of an install. 

Steffen, could you try your scenario and repo on RC4?  There were several late breaking changes in the way repo events are handled, the way some repos reference other repos, and also in the way the selections are validated.  There may still be a problem here, but I know there have been changes.  If you still see the problem can you tell me where your local site came from so I could try something similar?
Comment 8 Steffen Pingel CLA 2008-06-10 15:47:56 EDT
I have seen the same happen when installing the "Eclipse Birt Chart Framework" from the Ganymede update site into an RC4 SDK on Mac OS X. That installation did not previously have the Birt feature installed. It appears that the sites are refreshed in the background and that's how the selection gets lost and the dialog comes up empty. I'll try to provide steps to reproduce with my original scenario.
Comment 9 Susan McCourt CLA 2008-06-23 14:28:33 EDT
>It appears that the sites
>are refreshed in the background and that's how the selection gets lost and the
>dialog comes up empty. I'll try to provide steps to reproduce with my original
>scenario.

Looking at the code, I see the source of the problem.  In the action's run method, the provisioning plan is computed (potentially an expensive operation involving repo loading, etc.).  Then the wizard is opened and is passed both the plan and the current selections.  If the selections changed between the time the plan was computed and the wizard is opened, you would see this behavior.  And as in bug #238152, you might even see licenses, etc., because the plan itself still refers to the IU's that were originally selected.

So I believe this occurs when a repo event is received that causes a refresh to happen during the computation of the plan.  This would happen if loading one site caused another site to get added in an enabled state.
Comment 10 Susan McCourt CLA 2008-06-23 14:29:17 EDT
*** Bug 238152 has been marked as a duplicate of this bug. ***
Comment 11 Steffen Pingel CLA 2008-06-23 15:48:16 EDT
Thanks for the explanations. I see this occasionally but have not found reliable steps to reproduce it. If I see it again I'll check if a site was added. It sounds very reasonable.
Comment 12 Susan McCourt CLA 2008-09-17 13:32:14 EDT
*** Bug 247249 has been marked as a duplicate of this bug. ***
Comment 13 Susan McCourt CLA 2008-09-17 13:38:01 EDT
See duplicate bug for more scenarios.
This is going to get addressed in M3 along with workflow/resolution changes.
Comment 14 Susan McCourt CLA 2008-09-18 17:48:54 EDT
*** Bug 247822 has been marked as a duplicate of this bug. ***
Comment 15 Susan McCourt CLA 2008-09-18 17:51:40 EDT
This should be considered for backport to 3.4.2 if possible.
Comment 16 Susan McCourt CLA 2008-09-18 17:58:31 EDT
Created attachment 112967 [details]
patch to ProfileModificationAction

This is a straightforward fix and should be backported to the maintenance stream.  I'm holding off on releasing it to HEAD or the M-builds until we have declared 3.5 M2 and 3.4.1.
Comment 17 Susan McCourt CLA 2008-09-18 18:16:53 EDT
Created attachment 112968 [details]
replacement patch

whoops, didn't select the other modified project.  This patch includes the change needed to the automatic updater action.  I made this patch while working on something unrelated, so retest all of this in a clean sync state before releasing.
Comment 18 Susan McCourt CLA 2008-10-06 18:42:54 EDT
*** Bug 249867 has been marked as a duplicate of this bug. ***
Comment 19 Susan McCourt CLA 2008-10-07 19:49:38 EDT
Fixed this bug during a massive reorg of the UI code for the 3.5 stream.
Available in HEAD >20081007.

bug 247906 has been opened to track a more surgical fix in the 3.4.2 stream.
Comment 20 Susan McCourt CLA 2008-10-29 15:37:33 EDT
verified on WinXP, Build id: I20081029-0100

Note the steps to reproduce are a bit different now because repos are pre-loaded before invoking the install wizard.  However, if you remove all repos, clear all caches, and then add Ganymede and Eclemma sites while in the wizard, you can exercise a similar scenario as described in bug 247906 comment 2.

Two things have fixed this problem:
- we no longer get the selection dynamically from the selection provider, we remember what was selected at the time the provisioning plan was created.
- due to the fix to bug 236485, we no longer refresh the viewer (and therefore the selection) when sites are added by reference, so you don't even see the selection change during resolve like you do in 3.4.x
Comment 21 Susan McCourt CLA 2008-11-13 14:34:19 EST
*** Bug 255154 has been marked as a duplicate of this bug. ***