Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 319803 - P2 Headless Update Fails After Port from 3.5 to 3.6 Helios
Summary: P2 Headless Update Fails After Port from 3.5 to 3.6 Helios
Status: CLOSED WONTFIX
Alias: None
Product: Equinox
Classification: Eclipse Project
Component: p2 (show other bugs)
Version: unspecified   Edit
Hardware: PC Linux
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: P2 Inbox CLA
QA Contact:
URL:
Whiteboard: stalebug
Keywords:
Depends on:
Blocks:
 
Reported: 2010-07-13 20:39 EDT by Michael Yara CLA
Modified: 2019-08-31 08:35 EDT (History)
4 users (show)

See Also:


Attachments
Headless update code. (9.14 KB, text/x-java)
2010-07-13 20:40 EDT, Michael Yara CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Michael Yara CLA 2010-07-13 20:39:56 EDT
Build Identifier: 20100617-1415

I am in the process of porting our RCP application from 3.5 to Helios 3.6. During my port I discovered that the P2 API has changed significantly and I modified my headless update code to take advantage of the new API along with the UpdateOperation class. I found that updating from a version of our application that is using 3.5 to a version that is using 3.6 works perfectly fine however once I attempt to upgrade once more to another higher version of our application that is using 3.6 I get the following status error report.

!ENTRY org.eclipse.equinox.p2.operations 4 0 2010-07-12 20:19:14.135
!MESSAGE Operation details
!SUBENTRY 1 org.eclipse.equinox.p2.director 4 1 2010-07-12 20:19:14.135
!MESSAGE Cannot complete the install because of a conflicting dependency.
!SUBENTRY 2 org.eclipse.equinox.p2.director 4 0 2010-07-12 20:19:14.135
!MESSAGE Software being installed: iSymphony 2.2.0.2131 (isymphony 2.2.0.2131)
!SUBENTRY 2 org.eclipse.equinox.p2.director 4 0 2010-07-12 20:19:14.135
!MESSAGE Software currently installed: ClientRCP Plug-in 2.2.0.2130 (ClientRCP 2.2.0.2130)
!SUBENTRY 2 org.eclipse.equinox.p2.director 4 1 2010-07-12 20:19:14.135
!MESSAGE Only one of the following can be installed at once: 
!SUBENTRY 3 org.eclipse.equinox.p2.director 4 0 2010-07-12 20:19:14.135
!MESSAGE ClientRCP Plug-in 2.2.0.2130 (ClientRCP 2.2.0.2130)
!SUBENTRY 3 org.eclipse.equinox.p2.director 4 0 2010-07-12 20:19:14.135
!MESSAGE ClientRCP Plug-in 2.2.0.2131 (ClientRCP 2.2.0.2131)
!SUBENTRY 2 org.eclipse.equinox.p2.director 4 1 2010-07-12 20:19:14.135
!MESSAGE Cannot satisfy dependency:
!SUBENTRY 3 org.eclipse.equinox.p2.director 4 0 2010-07-12 20:19:14.135
!MESSAGE From: iSymphony Feature 2.2.0.2131 (iSymphonyFeature.feature.group 2.2.0.2131)
!SUBENTRY 3 org.eclipse.equinox.p2.director 4 0 2010-07-12 20:19:14.135
!MESSAGE To: ClientRCP [2.2.0.2131]
!SUBENTRY 2 org.eclipse.equinox.p2.director 4 1 2010-07-12 20:19:14.135
!MESSAGE Cannot satisfy dependency:
!SUBENTRY 3 org.eclipse.equinox.p2.director 4 0 2010-07-12 20:19:14.135
!MESSAGE From: iSymphony 2.2.0.2131 (isymphony 2.2.0.2131)
!SUBENTRY 3 org.eclipse.equinox.p2.director 4 0 2010-07-12 20:19:14.135
!MESSAGE To: iSymphonyFeature.feature.group [2.2.0.2131]

Note that if I start with the version that contains 3.6 already I can update to my hearts content. It seems as if p2 is trying to do an install instead of a update. I have attached my update class. Please let me know if there is any additional information I can provide that may be of use in assisting me with resolving this issue?

Reproducible: Always

Steps to Reproduce:
1.Take a RCP application based on RCP 3.5 and upgrade it to 3.6 
2.Modify headless update code to use new p2 API.
3.Upgrade application build based on RCP 3.5 to a build based on 3.6
4.Attempt another upgrade to a new build that is also based on 3.6.
Comment 1 Michael Yara CLA 2010-07-13 20:40:50 EDT
Created attachment 174246 [details]
Headless update code.
Comment 2 Michael Yara CLA 2010-08-27 16:54:25 EDT
I tried this update with the P2 UI feature installed and i get the same status trace. Note the versions numbers have been changed since my last post.


Cannot complete the install because of a conflicting dependency.
  Software being installed: iSymphony 2.2.0.2145 (isymphony 2.2.0.2145)
  Software currently installed: iSymphony Feature 2.2.0.2144 (iSymphonyFeature.feature.group 2.2.0.2144)
  Only one of the following can be installed at once: 
    ClientRCP Plug-in 2.2.0.2145 (ClientRCP 2.2.0.2145)
    ClientRCP Plug-in 2.2.0.2144 (ClientRCP 2.2.0.2144)
  Cannot satisfy dependency:
    From: iSymphony Feature 2.2.0.2144 (iSymphonyFeature.feature.group 2.2.0.2144)
    To: ClientRCP [2.2.0.2144]
  Cannot satisfy dependency:
    From: iSymphony Feature 2.2.0.2145 (iSymphonyFeature.feature.group 2.2.0.2145)
    To: ClientRCP [2.2.0.2145]
  Cannot satisfy dependency:
    From: iSymphony 2.2.0.2145 (isymphony 2.2.0.2145)
    To: iSymphonyFeature.feature.group [2.2.0.2145]
Comment 3 Pascal Rapicault CLA 2010-08-29 20:42:19 EDT
From the last error message it looks like if the feature that is initially installed is not being uninstalled as part of this update process. I can see two causes to this:
1) You are not using the update operation API properly (or you are using the install API)
2) The metadata for the new version is not declared as an update of the previous version. Normally this "relationship" is declared in the metadata automatically if PDE or Tycho are being used to generate metadata.
Comment 4 Michael Yara CLA 2010-08-30 12:02:20 EDT
I don't believe it is an issue with my update code however I could be wrong. I followed the P2 headless update example in the wiki and double checked my work. I also tried the update using the eclipse UI feature instead of my own code and the same status was thrown. I attached my code to this report if you would like to take a look.

All my builds were exported with the PDE so it might be a possible issue with the PDE export and the metadata.

If it is an issue with the metadata would I look in the artifact.xml file for the cause of the issue and if so what specifically am I looking for?
Comment 5 Michael Yara CLA 2010-08-30 16:09:38 EDT
I tried running my application with the following in .options.

org.eclipse.equinox.p2.engine/profileregistry/debug = true
org.eclipse.equinox.p2.engine/engine/debug = true
org.eclipse.equinox.p2.engine/enginesession/debug = true

And the failed update simply printed out the following.

[org.eclipse.equinox.p2.engine-profile registry] Mon Aug 30 14:07:26 MDT 2010 - [ModalContext] 
SimpleProfileRegistry.updateSelfProfile
[org.eclipse.equinox.p2.engine-profile registry] Mon Aug 30 14:07:26 MDT 2010 - [ModalContext] 
SimpleProfileRegistry.updateRoamingProfile
[org.eclipse.equinox.p2.engine-profile registry] Mon Aug 30 14:07:26 MDT 2010 - [ModalContext] 
SimpleProfileRegistry.updateRoamingProfile(changed=false)
Comment 6 Eclipse Genie CLA 2019-08-31 08:35:39 EDT
This bug hasn't had any activity in quite some time. Maybe the problem got resolved, was a duplicate of something else, or became less pressing for some reason - or maybe it's still relevant but just hasn't been looked at yet.

If you have further information on the current state of the bug, please add it. The information can be, for example, that the problem still occurs, that you still want the feature, that more information is needed, or that the bug is (for whatever reason) no longer relevant.

--
The automated Eclipse Genie.