Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 208470

Summary: [prov] Profile deleted after attempt to update
Product: [Eclipse Project] Equinox Reporter: John Arthorne <john.arthorne>
Component: p2Assignee: John Arthorne <john.arthorne>
Status: RESOLVED INVALID QA Contact:
Severity: major    
Priority: P3 CC: pascal, simon_kaegi, susan
Version: 3.4   
Target Milestone: ---   
Hardware: PC   
OS: Windows XP   
Whiteboard:

Description John Arthorne CLA 2007-11-01 15:46:16 EDT
Build: I20071101-0010

1) Provision an SDK + userui
2) Open the user UI, and install the oldest available version of releng.tools (currently I20071031-0010).
3) Select releng.tools in Installed Features list, and click Update
4) You are presented with four available updates. Leave them all selected, and click "Update".

After some processing, the dialog goes away, and my list of Installed Features is blank. The profile registry on disk has also been blown away.  My theory is that the update fails, and then somehow the rollback is discarding the entire profile contents.

Luckily it is possible to recover by re-installing the SDK + userui back into the profile. This re-install is very fast because the bundles are already in the local repository - it just has to repopulate the profile registry.
Comment 1 Susan McCourt CLA 2007-12-11 14:01:32 EST
I am observing this during the M4 test pass.
Comment 2 Susan McCourt CLA 2007-12-11 17:01:14 EST
M4 test pass:
I provisioned an SDK with SDK + end user UI 20071211-0954 into a profile using the agent.

I didn't bother starting the provisioned SDK.  Instead, I used the agent UI to check for updates on the SDK IU.

I was shown 4 different SDK updates.  
3 were older than the one I had, one was actually a newer one from the test repo.

I left them all selected in the wizard and said "update."
I observed that my profile now appears empty and the provisioned SDK cannot launch (fails to find companion shared library).

I stepped through the code enough to make sure that the UI wasn't failing to observe some kind of fail status, or exception, but this is not the case.  With all four SDK's installed, the planner returns a plan with OK status.  There were 292 operands so I didn't really bother to look too closely at what the plan entailed.

When performing this plan in the engine, the phase set returns a MultiStatus with OK status.  So the engine goes on with its normal processing, updating the profile in the registry, etc.  So I didn't see any attempt to rollback after an internal failure. 
Comment 3 John Arthorne CLA 2007-12-12 13:45:50 EST
I can't reproduce this with latest admin UI from HEAD. When I select to update the SDK I get "There is nothing to update". I'll try with downloaded agent...
Comment 4 Susan McCourt CLA 2007-12-12 15:52:41 EST
Hmmm...I'm not seeing older updates coming from the test repo yet, but I am still offered older updates from my local repo.  These were generated some time ago (around 12/7 and earlier).  
Comment 5 John Arthorne CLA 2007-12-31 10:12:25 EST
I never found a reproducible case for this.
Comment 6 Pascal Rapicault CLA 2008-03-02 21:20:30 EST
Closing since we can't reproduce anymore