Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Buckminster » Unable to update a feature
Unable to update a feature [message #511018] Fri, 29 January 2010 14:50 Go to next message
John is currently offline JohnFriend
Messages: 107
Registered: July 2009
Senior Member
Hi!


We have a feature that we install from our own update site using the Buckmnster headless command install. In the case a new version of the builder is released, we would of course like to have it updated. This worked fine in Eclipse 3.4, but with 3.5 we get the followoing error:

Cannot complete the install because of a conflicting dependency.
[0]Software being installed: BD Web Service Client Builder 1.2.7 (my.company.bd.dev.plugin.stubbuilderfeature.feature.group 1.2.7)
[0]Software currently installed: BD Web Service Client Builder 1.2.6 (my.company.bd.dev.plugin.stubbuilderfeature.feature.group 1.2.6)
[0]Only one of the following can be installed at once:
[0.2]BD WS Stub Builder 1.2.7 (my.company.bd.dev.plugin.stubbuilder 1.2.7)
[0.2]BD WS Stub Builder 1.2.6 (my.company.bd.dev.plugin.stubbuilder 1.2.6)
[0]Cannot satisfy dependency:
[0.2]From: BD Web Service Client Builder 1.2.6 (my.company.bd.dev.plugin.stubbuilderfeature.feature.group 1.2.6)
[0.2]To: my.company.bd.dev.plugin.stubbuilder [1.2.6]
[0]Cannot satisfy dependency:
[0.2]From: BD Web Service Client Builder 1.2.7 (my.company.bd.dev.plugin.stubbuilderfeature.feature.group 1.2.7)
[0.2]To: my.company.bd.dev.plugin.stubbuilder [1.2.7]
buckminster failed with error code 1

Is the reason for this in any way related to the following bug for the director? https://bugs.eclipse.org/bugs/show_bug.cgi?id=279659

I wonder, since I thought what Buckminster is doing, is also what's possible in the Eclipse IDE. In there it's not a problem to update an existing feature and I have both versions of my.company.bd.dev.plugin.stubbuilderfeature in the plugins folder of my Eclipse 3.5 installation.

If it is related to the bug, are there any plans to make the headless Buckminster install command also handle an update? It's really essential to our CI build strategy.

Thanks.


/John
Re: Unable to update a feature [message #511029 is a reply to message #511018] Fri, 29 January 2010 15:28 Go to previous messageGo to next message
John is currently offline JohnFriend
Messages: 107
Registered: July 2009
Senior Member
Hi!


One more piece of information. I tried to uninstall the feature first, with the headless command, but it doesn't work.

INFO: uninstall 'my.company.bd.dev.plugin.stubbuilderfeature'
INFO: install 'http://mysiteserver/update12' 'my.company.bd.dev.plugin.stubbuilderfeature'
Cannot complete the install because of a conflicting dependency.
... and then the same errors as before.

In the plugins folder of the Buckminster installation all the 1.2.6 versions of the plugins in the feature are still there. There is only one version of the feature installed.

Thanks.

/John.
Re: Unable to update a feature [message #511034 is a reply to message #511018] Fri, 29 January 2010 15:39 Go to previous messageGo to next message
Thomas Hallgren is currently offline Thomas HallgrenFriend
Messages: 3229
Registered: July 2009
Senior Member
Hi John,
Did you try using both -uninstallIU and -installIU at the same time as the Pascal suggests?

Regarding the Buckminster headless installer. My preference would be to drop it completely. We have the director now and
today, our installer is just a very thin wrapper for it. The reason we have kept it so far is to retain backward
compatibility. It doesn't bring any additional functionality.

- thomas


On 01/29/2010 03:50 PM, John wrote:
> Hi!
>
>
> We have a feature that we install from our own update site using the
> Buckmnster headless command install. In the case a new version of the
> builder is released, we would of course like to have it updated. This
> worked fine in Eclipse 3.4, but with 3.5 we get the followoing error:
>
> Cannot complete the install because of a conflicting dependency.
> [0]Software being installed: BD Web Service Client Builder 1.2.7
> (my.company.bd.dev.plugin.stubbuilderfeature.feature.group 1.2.7)
> [0]Software currently installed: BD Web Service Client Builder 1.2.6
> (my.company.bd.dev.plugin.stubbuilderfeature.feature.group 1.2.6)
> [0]Only one of the following can be installed at once:
> [0.2]BD WS Stub Builder 1.2.7 (my.company.bd.dev.plugin.stubbuilder 1.2.7)
> [0.2]BD WS Stub Builder 1.2.6 (my.company.bd.dev.plugin.stubbuilder 1.2.6)
> [0]Cannot satisfy dependency:
> [0.2]From: BD Web Service Client Builder 1.2.6
> (my.company.bd.dev.plugin.stubbuilderfeature.feature.group 1.2.6)
> [0.2]To: my.company.bd.dev.plugin.stubbuilder [1.2.6]
> [0]Cannot satisfy dependency:
> [0.2]From: BD Web Service Client Builder 1.2.7
> (my.company.bd.dev.plugin.stubbuilderfeature.feature.group 1.2.7)
> [0.2]To: my.company.bd.dev.plugin.stubbuilder [1.2.7]
> buckminster failed with error code 1
>
> Is the reason for this in any way related to the following bug for the
> director? https://bugs.eclipse.org/bugs/show_bug.cgi?id=279659
>
> I wonder, since I thought what Buckminster is doing, is also what's
> possible in the Eclipse IDE. In there it's not a problem to update an
> existing feature and I have both versions of
> my.company.bd.dev.plugin.stubbuilderfeature in the plugins folder of my
> Eclipse 3.5 installation.
>
> If it is related to the bug, are there any plans to make the headless
> Buckminster install command also handle an update? It's really essential
> to our CI build strategy.
>
> Thanks.
>
>
> /John
Re: Unable to update a feature [message #511194 is a reply to message #511034] Sat, 30 January 2010 22:12 Go to previous messageGo to next message
John is currently offline JohnFriend
Messages: 107
Registered: July 2009
Senior Member
Hi Thomas!


I will try this on Monday.

But could you please enlighten me on how this works in the Eclipse IDE? As I told you the update works fine and I have several version of the plugins in my plugins folder.

Does an uninstall not remove the plugins? Does it just update artifacts.xml or some metadata?

Thanks.


/John.
Re: Unable to update a feature [message #511196 is a reply to message #511194] Sat, 30 January 2010 22:39 Go to previous messageGo to next message
Thomas Hallgren is currently offline Thomas HallgrenFriend
Messages: 3229
Registered: July 2009
Senior Member
Hi John,

On 01/30/2010 11:12 PM, John wrote:
> Does an uninstall not remove the plugins? Does it just update
> artifacts.xml or some metadata?
>
Everything that you pass on the command line is put into a change request and passed to the p2 planner. If the planner
detects both an uninstall and an install of the same IU, it will process that as an update. The old and no longer
referenced artifacts (plugins) are probably not physically removed immediately but they will be garbage collected
eventually.

When we implement an -updateIU for the director, I expect it to query for the current version and then do exactly what
you do when passing the -uninstallIU and -installIU on the command line.

Regards,
Thomas Hallgren
Re: Unable to update a feature [message #511411 is a reply to message #511196] Mon, 01 February 2010 14:52 Go to previous messageGo to next message
John is currently offline JohnFriend
Messages: 107
Registered: July 2009
Senior Member
Hi Thomas!


Thanks for the response. I've tried using the director insteed to update our feature.
First I tried using just an -installIU to see if I would get the same error as when using Buckminster install.
Actually it comes out quite different.

director -r http://mysiteserver/update12/
-d C:\Temp\bm35-home -p Buckminster
-i my.company.bd.dev.plugin.stubbuilderfeature.feature.group
-vmargs -D"http.proxyHost=my.proxy.server" -D"http.proxyPort=80" -D"http.nonProxyHosts=mysiteserver"
Installing my.company.bd.dev.plugin.stubbuilderfeature.feature.group 1.2.7.
Cannot complete the install because one or more required items could not be found.
Software being installed: BD Web Service Client Builder 1.2.7 (my.company.bd.dev.plugin.stubbuilderfeature.feature.group 1.2.7)
Missing requirement: BD Develop Common Files 1.2.7 (my.company.bd.dev.plugin.common 1.2.7) requires 'bundle org.eclipse.core.runtime 0.0.0' but it could not be found
Cannot satisfy dependency:
From: BD Web Service Client Builder 1.2.7 (my.company.bd.dev.plugin.stubbuilderfeature.feature.group 1.2.7)
To: my.company.bd.dev.plugin.common [1.2.7]

As you can see it only makes a complaint about version 1.2.7.
It now also complaints about an unsatisfied dependency to "BD Develop Common Files" instead of a problem with having both 1.2.6 and 1.2.7 installed at the same time.

Anyways, I went on and tried to use both -uninstallIU and -installIU. The result is:

director -r http://mysiteserver/update12/
-d C:\Temp\bm35-home\buckminster -p Buckminster
-u my.company.bd.dev.plugin.stubbuilderfeature.feature.group
-i my.company.bd.dev.plugin.stubbuilderfeature.feature.group
-vmargs -D"http.proxyHost=my.proxy.server" -D"http.proxyPort=80" -D"http.nonProxyHosts=mysiteserver"
Installing my.company.bd.dev.plugin.stubbuilderfeature.feature.group 1.2.7.
Uninstalling my.company.bd.dev.plugin.stubbuilderfeature.feature.group 1.2.6.
An error occurred while uninstalling
session context was:(profile=Buckminster,
phase=org.eclipse.equinox.internal.provisional.p2.engine.pha ses.Uninstall,
operand=[R]my.company.bd.dev.plugin.builderruntime 1.2.6 --> [R]my.company.bd.dev.plugin.builderruntime 1.2.7,
action=org.eclipse.equinox.internal.p2.touchpoint.eclipse.ac tions.UninstallBundleAction).

Caused by: java.lang.NullPointerException

Below I have included more log entries from the NPE above.

I'm not sure what the problem is here or how to solve it.
When looking at the Buckminster installation I can now see all the plugins from the feature for both the 1.2.6 and 1.2.7 versions in C:\Temp\bm35-home\buckminster\plugins.
In the file C:\Temp\bm35-home\buckminster\artifacts.xml both versions are present for all the plugins in the feature.

Do you have any suggestions for how I can proceed to solve this problem?

Thanks.

/John


!ENTRY org.eclipse.equinox.p2.repository 4 0 2010-02-01 15:15:13.716
!MESSAGE ProvisioningEventBus could not be obtained. Metadata caches may not be cleaned up properly.

!ENTRY org.eclipse.equinox.p2.garbagecollector 4 0 2010-02-01 15:15:13.731
!MESSAGE ProvisioningEventBus service could not be obtained, CoreGarbageCollector will not function properly.

!ENTRY org.eclipse.equinox.p2.engine 4 4 2010-02-01 15:15:15.794
!MESSAGE An error occurred while uninstalling
!SUBENTRY 1 org.eclipse.equinox.p2.engine 4 0 2010-02-01 15:15:15.794
!MESSAGE session context was:(profile=Buckminster, phase=org.eclipse.equinox.internal.provisional.p2.engine.pha ses.Uninstall, operand=[R]my.company.bd.dev.plugin.builderruntime 1.2.6 --> [R]my.company.bd.dev.plugin.builderruntime 1.2.7, action=org.eclipse.equinox.internal.p2.touchpoint.eclipse.ac tions.UninstallBundleAction).
!SUBENTRY 1 org.eclipse.equinox.p2.engine 4 0 2010-02-01 15:15:15.794
!MESSAGE
!STACK 0
java.lang.NullPointerException
at org.eclipse.equinox.internal.p2.touchpoint.eclipse.LazyManip ulator.loadDelegate(LazyManipulator.java:64)
at org.eclipse.equinox.internal.p2.touchpoint.eclipse.LazyManip ulator.getConfigData(LazyManipulator.java:108)
at org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.U ninstallBundleAction.uninstallBundle(UninstallBundleAction.j ava:74)
at org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.U ninstallBundleAction.execute(UninstallBundleAction.java:29)
at org.eclipse.equinox.internal.p2.engine.ParameterizedProvisio ningAction.execute(ParameterizedProvisioningAction.java:35)
at org.eclipse.equinox.internal.provisional.p2.engine.Phase.mai nPerform(Phase.java:129)
at org.eclipse.equinox.internal.provisional.p2.engine.Phase.per form(Phase.java:72)
at org.eclipse.equinox.internal.provisional.p2.engine.PhaseSet. perform(PhaseSet.java:44)
at org.eclipse.equinox.internal.provisional.p2.engine.Engine.pe rform(Engine.java:54)
at org.eclipse.equinox.internal.provisional.p2.director.PlanExe cutionHelper.executePlan(PlanExecutionHelper.java:41)
at org.eclipse.equinox.internal.provisional.p2.director.PlanExe cutionHelper.executePlan(PlanExecutionHelper.java:23)
at org.eclipse.equinox.internal.p2.director.app.DirectorApplica tion.planAndExecute(DirectorApplication.java:506)
at org.eclipse.equinox.internal.p2.director.app.DirectorApplica tion.performProvisioningActions(DirectorApplication.java:492 )
at org.eclipse.equinox.internal.p2.director.app.DirectorApplica tion.run(DirectorApplication.java:708)
at org.eclipse.equinox.internal.p2.director.app.DirectorApplica tion.start(DirectorApplication.java:808)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:194)
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(EclipseS tarter.java:368)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 559)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)
at org.eclipse.equinox.launcher.Main.run(Main.java:1311)
at org.eclipse.equinox.launcher.Main.main(Main.java:1287)
Re: Unable to update a feature [message #511421 is a reply to message #511411] Mon, 01 February 2010 15:07 Go to previous messageGo to next message
Thomas Hallgren is currently offline Thomas HallgrenFriend
Messages: 3229
Registered: July 2009
Senior Member
On 02/01/2010 03:52 PM, John wrote:
> Anyways, I went on and tried to use both -uninstallIU and -installIU.
> The result is:
>
> director -r http://mysiteserver/update12/
> -d C:\Temp\bm35-home\buckminster -p Buckminster
> -u my.company.bd.dev.plugin.stubbuilderfeature.feature.group
> -i my.company.bd.dev.plugin.stubbuilderfeature.feature.group
> -vmargs -D"http.proxyHost=my.proxy.server" -D"http.proxyPort=80"
> -D"http.nonProxyHosts=mysiteserver"
> Installing my.company.bd.dev.plugin.stubbuilderfeature.feature.group 1.2.7.
> Uninstalling my.company.bd.dev.plugin.stubbuilderfeature.feature.group
> 1.2.6.
> An error occurred while uninstalling
> session context was:(profile=Buckminster,
> phase=org.eclipse.equinox.internal.provisional.p2.engine.pha ses.Uninstall,
> operand=[R]my.company.bd.dev.plugin.builderruntime 1.2.6 -->
> [R]my.company.bd.dev.plugin.builderruntime 1.2.7,
> action=org.eclipse.equinox.internal.p2.touchpoint.eclipse.ac
> tions.UninstallBundleAction).
>
> Caused by: java.lang.NullPointerException
>
> Below I have included more log entries from the NPE above.
>
> I'm not sure what the problem is here or how to solve it.
> When looking at the Buckminster installation I can now see all the
> plugins from the feature for both the 1.2.6 and 1.2.7 versions in
> C:\Temp\bm35-home\buckminster\plugins.
> In the file C:\Temp\bm35-home\buckminster\artifacts.xml both versions
> are present for all the plugins in the feature.
>
> Do you have any suggestions for how I can proceed to solve this problem?
>
I suggest you file a bugzilla against rt/Equinox/p2 where you explain that you're trying to follow the uninstall/install
advice and include the stack-trace below. We will take it from there.

Regards,
Thomas Hallgren



> Thanks.
>
> /John
>
>
> !ENTRY org.eclipse.equinox.p2.repository 4 0 2010-02-01 15:15:13.716
> !MESSAGE ProvisioningEventBus could not be obtained. Metadata caches may
> not be cleaned up properly.
>
> !ENTRY org.eclipse.equinox.p2.garbagecollector 4 0 2010-02-01 15:15:13.731
> !MESSAGE ProvisioningEventBus service could not be obtained,
> CoreGarbageCollector will not function properly.
>
> !ENTRY org.eclipse.equinox.p2.engine 4 4 2010-02-01 15:15:15.794
> !MESSAGE An error occurred while uninstalling
> !SUBENTRY 1 org.eclipse.equinox.p2.engine 4 0 2010-02-01 15:15:15.794
> !MESSAGE session context was:(profile=Buckminster,
> phase=org.eclipse.equinox.internal.provisional.p2.engine.pha
> ses.Uninstall, operand=[R]my.company.bd.dev.plugin.builderruntime 1.2.6
> --> [R]my.company.bd.dev.plugin.builderruntime 1.2.7,
> action=org.eclipse.equinox.internal.p2.touchpoint.eclipse.ac
> tions.UninstallBundleAction).
> !SUBENTRY 1 org.eclipse.equinox.p2.engine 4 0 2010-02-01 15:15:15.794
> !MESSAGE !STACK 0
> java.lang.NullPointerException
> at org.eclipse.equinox.internal.p2.touchpoint.eclipse.LazyManip
> ulator.loadDelegate(LazyManipulator.java:64)
> at org.eclipse.equinox.internal.p2.touchpoint.eclipse.LazyManip
> ulator.getConfigData(LazyManipulator.java:108)
> at org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.U
> ninstallBundleAction.uninstallBundle(UninstallBundleAction.j ava:74)
> at org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.U
> ninstallBundleAction.execute(UninstallBundleAction.java:29)
> at org.eclipse.equinox.internal.p2.engine.ParameterizedProvisio
> ningAction.execute(ParameterizedProvisioningAction.java:35)
> at org.eclipse.equinox.internal.provisional.p2.engine.Phase.mai
> nPerform(Phase.java:129)
> at org.eclipse.equinox.internal.provisional.p2.engine.Phase.per
> form(Phase.java:72)
> at org.eclipse.equinox.internal.provisional.p2.engine.PhaseSet.
> perform(PhaseSet.java:44)
> at org.eclipse.equinox.internal.provisional.p2.engine.Engine.pe
> rform(Engine.java:54)
> at org.eclipse.equinox.internal.provisional.p2.director.PlanExe
> cutionHelper.executePlan(PlanExecutionHelper.java:41)
> at org.eclipse.equinox.internal.provisional.p2.director.PlanExe
> cutionHelper.executePlan(PlanExecutionHelper.java:23)
> at org.eclipse.equinox.internal.p2.director.app.DirectorApplica
> tion.planAndExecute(DirectorApplication.java:506)
> at org.eclipse.equinox.internal.p2.director.app.DirectorApplica
> tion.performProvisioningActions(DirectorApplication.java:492 )
> at org.eclipse.equinox.internal.p2.director.app.DirectorApplica
> tion.run(DirectorApplication.java:708)
> at org.eclipse.equinox.internal.p2.director.app.DirectorApplica
> tion.start(DirectorApplication.java:808)
> at org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips
> eAppHandle.java:194)
> 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(EclipseS
> tarter.java:368)
> at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS
> tarter.java:179)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> at java.lang.reflect.Method.invoke(Unknown Source)
> at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 559)
> at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)
> at org.eclipse.equinox.launcher.Main.run(Main.java:1311)
> at org.eclipse.equinox.launcher.Main.main(Main.java:1287)
>
Re: Unable to update a feature [message #511446 is a reply to message #511421] Mon, 01 February 2010 15:57 Go to previous messageGo to next message
John is currently offline JohnFriend
Messages: 107
Registered: July 2009
Senior Member
Hi Thomas!


It's reported as https://bugs.eclipse.org/bugs/show_bug.cgi?id=301426.

I had a problem entering the build id, since I'm using the director download from Buckminster headless.

I decided to use the info from the org.eclipse.equinox.launcher_1.0.201.R35x_v20090715.jar plugin in the director installation.


/John.
Re: Unable to update a feature [message #528413 is a reply to message #511034] Tue, 20 April 2010 12:42 Go to previous messageGo to next message
John is currently offline JohnFriend
Messages: 107
Registered: July 2009
Senior Member
Hi Thomas!


It's very strange. I'm sure I had it working with using the combination of -u and -i to make the director update a feature. But I have just realized that it doesn't seem to work anyways. I'm not sure what has happened in between, but when I try to perform the update I get the following:

director -r http://myserver/mysite/
-d C:\temp\bm-home\buckminster
-p Buckminster
-u my.company.myfeature.feature.group
-i my.company.myfeature.feature.group
Installing my.company.myfeature.feature.group 1.2.8.
Uninstalling my.company.myfeature.feature.group 1.2.8.
Operation completed in 1766 ms.

As you can see it claims to install and unistall the feature, and the result is, that it's no longer installed. What can be the problem here?


Thanks.

/John

Re: Unable to update a feature [message #528596 is a reply to message #528413] Wed, 21 April 2010 08:39 Go to previous message
John is currently offline JohnFriend
Messages: 107
Registered: July 2009
Senior Member
Hi Thomas!


I forgot to mention that in this case I have already 1.2.8 installed and this problem happens, when the version on the update site is also 1.2.8.

So what may have changed since I verified it last time is, that the version I had installed was 1.2.6 and the version on the update site was 1.2.7, so the update worked fine.

But now when there's nothing new it apparently results in an uninstall.

This has been working fine before, when I used the install action provided by Buckminster.


Thanks.

/John

John wrote on Tue, 20 April 2010 14:42
Hi Thomas!


It's very strange. I'm sure I had it working with using the combination of -u and -i to make the director update a feature. But I have just realized that it doesn't seem to work anyways. I'm not sure what has happened in between, but when I try to perform the update I get the following:

director -r http://myserver/mysite/
-d C:\temp\bm-home\buckminster
-p Buckminster
-u my.company.myfeature.feature.group
-i my.company.myfeature.feature.group
Installing my.company.myfeature.feature.group 1.2.8.
Uninstalling my.company.myfeature.feature.group 1.2.8.
Operation completed in 1766 ms.

As you can see it claims to install and unistall the feature, and the result is, that it's no longer installed. What can be the problem here?


Thanks.

/John



Previous Topic:Default Platform created by buckminster
Next Topic:headless update from 3.5.0 to 3.5.2
Goto Forum:
  


Current Time: Sun Nov 23 04:51:41 GMT 2014

Powered by FUDForum. Page generated in 0.02026 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software