| Summary: | Update doesn't work when one of plug-ins is downgraded to the previous version | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Product: | [Eclipse Project] Equinox | Reporter: | Michael Spector <spektom> | ||||||||||
| Component: | p2 | Assignee: | P2 Inbox <equinox.p2-inbox> | ||||||||||
| Status: | RESOLVED WONTFIX | QA Contact: | |||||||||||
| Severity: | normal | ||||||||||||
| Priority: | P3 | CC: | pascal | ||||||||||
| Version: | 3.5.2 | ||||||||||||
| Target Milestone: | --- | ||||||||||||
| Hardware: | PC | ||||||||||||
| OS: | Windows All | ||||||||||||
| Whiteboard: | |||||||||||||
| Attachments: |
|
||||||||||||
Created attachment 188430 [details]
P2Util.java
Can you attach the content.xml from your update site? Created attachment 188472 [details]
content.xml
From the log you attached, it looks to me like you are trying to have two instances of the same feature installed at the same time. (In reply to comment #4) > From the log you attached, it looks to me like you are trying to have two > instances of the same feature installed at the same time. The new update depends on XPCOM feature of version, which was previously installed (it is a downgrade), but why would this be a conflict? p2 should detect that this feature is already installed, and not try to install the same version twice. Like Pascal says, the error message is that what you are trying to install is conflicting with what is already is installed. Specifically: Mozilla Xulrunner 1.9.2.13_201101261729-57Z777BLLF7BB7BFVBZFg Mozilla Xulrunner 1.9.2.12_201011151504-57Z777BHLF7B7BBBRBR7N So maybe more that one thing you have installed depends on this feature so it won't let you update? The metadata that you attached only contains metadata for the older version of the feature. Can you attach the metadata for the version that is currently installed? You can get this from the latest file in your profile directory. For example: eclipse/p2/org.eclipse.equinox.p2.engine/profileRegistry/SDKProfile.profile Created attachment 188570 [details]
p2 directory
Fortunately I have one instance that's not able to update. I'm attaching it's p2/ folder.
com.stepwell.rcp_feature.feature.group strictly includes org.mozilla.xulrunner.feature.feature.group - 1.9.2.13_201101261729-57Z777BLLF7BB7BFVBZF which itself strictly includes the plugin org.mozilla.xulrunner 1.9.2.13_201101261729 which is singleton (don't know why, but looks like it). Therefore when you try to install a different version of the xulrunner plugin the installation will fail because 1) it is strictly included from the root which gives no room to update and also since the xulrunner feature strictly includes the plugin and it is a singleton, there is no way to get it updated. (In reply to comment #8) > com.stepwell.rcp_feature.feature.group strictly includes > org.mozilla.xulrunner.feature.feature.group - > 1.9.2.13_201101261729-57Z777BLLF7BB7BFVBZF which itself strictly includes the > plugin org.mozilla.xulrunner 1.9.2.13_201101261729 which is singleton (don't > know why, but looks like it). It's a singleton, since there must be only one version of this plug-in loaded. > > Therefore when you try to install a different version of the xulrunner plugin > the installation will fail because 1) it is strictly included from the root > which gives no room to update and also since the xulrunner feature strictly > includes the plugin and it is a singleton, there is no way to get it updated. But update also includes a newer version of com.stepwell.rcp_feature.feature.group as well as the root, which are based on org.mozilla.xulrunner.feature.feature.group - 1.9.2.12, thus there's no IU on the installed instance that is not going to be updated, and which requires a 1.9.2.13 version of xulrunner. Seems like a limitation (and quite non-easily understandable). BTW, what's the point in invoking a conflict resolution if the entire root is going to be updated? p2 update roots, not individual items contained in those. At this point we have no plan to address this. |
Created attachment 188429 [details] Error messages We are getting the following error (see attached) when trying to update our RCP application (using the attached Java class). How this happened: 1. We have had an RCP application with working update mechanism pluginX: 1.9.2.12-v20101001 pluginA (depends on pluginX): 1.1.0-v20101001 pluginB (depends on pluginX): 1.1.0-v20101001 2. We've released an update that included a newer version of pluginX: pluginX: 1.9.2.13-v20101002 pluginA (depends on pluginX): 1.1.0-v20101002 pluginB (depends on pluginX): 1.1.0-v20101002 3. Then we've figured out that version 1.9.2.13 pluginX doesn't work in Mac, so we decided to release a new version that downgrades this plug-in: pluginX: 1.9.2.12-v20101001 pluginA (depends on pluginX): 1.1.0-v20101003 pluginB (depends on pluginX): 1.1.0-v20101003 And then, the update process failed! As pluginA and pluginB are replaced with newer versions, why is there a conflict?