Bug 329619 - [fwkAdmin] EquinoxManipulatorImpl.checkConsistencyOfFwConfigLocAndFwPersistentDataLoc should not complain when the destination directory is relative to the working directory.
[fwkAdmin] EquinoxManipulatorImpl.checkConsistencyOfFwConfigLocAndFwPersisten...
Status: NEW
Product: Equinox
Classification: RT
Component: p2
3.7
PC Linux
: P3 normal with 1 vote (vote)
: ---
Assigned To: P2 Inbox CLA Friend
:
: 433311 (view as bug list)
Depends on:
Blocks:
  Show dependency tree
 
Reported: 2010-11-06 16:07 EDT by Hugues Malphettes CLA Friend
Modified: 2014-04-23 11:37 EDT (History)
5 users (show)

See Also:


Attachments
suggested patch (1.51 KB, patch)
2010-11-06 16:07 EDT, Hugues Malphettes CLA Friend
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Hugues Malphettes CLA Friend 2010-11-06 16:07:04 EDT
Created attachment 182558 [details]
suggested patch

While working on an extension of p2director to add the sources I end-up debugging this exception: 
java.lang.IllegalStateException: The framework persistent data location (/home/hmalphettes/proj/helium/testbuild-mashupstudio/jetty-platform-mashupstudio/configuration) is not the same as the framework configuration location (/home/hmalphettes/proj/helium/testbuild-mashupstudio/jetty-platform-mashupstudio/configuration).

What happens is:
checkConsistencyOfFwConfigLocAndFwPersistentDataLoc(LauncherData launcherData) {
  File fwConfigLocation = launcherData.getFwConfigLocation();
  File fwPersistentDataLocation = launcherData.getFwPersistentDataLocation();
Where fwConfigLocation is relative to the working directory: jetty-platform-mashupstudio/configuration
and fwPersistentDataLocation is the absolute file: /home/hmalphettes/proj/helium/testbuild-mashupstudio/jetty-platform-mashupstudio/configuration

The fix consists of getting the absoluteFile as showed in the attached patch.

Here is the complete stack trace.

java.lang.IllegalStateException: The framework persistent data location (/home/hmalphettes/proj/helium/testbuild-mashupstudio/jetty-platform-mashupstudio/configuration) is not the same as the framework configuration location (/home/hmalphettes/proj/helium/testbuild-mashupstudio/jetty-platform-mashupstudio/configuration).
	at org.eclipse.equinox.internal.frameworkadmin.equinox.EquinoxManipulatorImpl.checkConsistencyOfFwConfigLocAndFwPersistentDataLoc(EquinoxManipulatorImpl.java:65)
	at org.eclipse.equinox.internal.frameworkadmin.equinox.EquinoxManipulatorImpl.loadWithoutFwPersistentData(EquinoxManipulatorImpl.java:348)
	at org.eclipse.equinox.internal.frameworkadmin.equinox.EquinoxManipulatorImpl.load(EquinoxManipulatorImpl.java:319)
	at org.eclipse.equinox.internal.p2.touchpoint.eclipse.LazyManipulator.loadDelegate(LazyManipulator.java:54)
	at org.eclipse.equinox.internal.p2.touchpoint.eclipse.LazyManipulator.getConfigData(LazyManipulator.java:108)
	at org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.InstallBundleAction.installBundle(InstallBundleAction.java:80)
	at org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.InstallBundleAction.execute(InstallBundleAction.java:32)
	at org.eclipse.equinox.internal.p2.engine.ParameterizedProvisioningAction.execute(ParameterizedProvisioningAction.java:35)
	at org.eclipse.equinox.internal.p2.engine.Phase.mainPerform(Phase.java:149)
	at org.eclipse.equinox.internal.p2.engine.Phase.perform(Phase.java:78)
	at org.eclipse.equinox.internal.p2.engine.PhaseSet.perform(PhaseSet.java:44)
	at org.eclipse.equinox.internal.p2.engine.Engine.perform(Engine.java:73)
	at org.eclipse.equinox.internal.p2.engine.Engine.perform(Engine.java:44)
	at org.eclipse.equinox.internal.provisional.p2.director.PlanExecutionHelper.executePlan(PlanExecutionHelper.java:41)
Comment 1 Hugues Malphettes CLA Friend 2010-11-06 16:18:03 EDT
This happens when porting Jeff's "[target] Would you like source with that?" enhancement to PDE to p2director on the command-line.
The exception happens during the install phase when the planner is executed for the second time.
A workaround consists of using an absolute path for the destination folder.
Comment 2 Ian Bull CLA Friend 2012-06-29 12:16:28 EDT
We have a patch, so I'll keep this around for Kepler and hopefully we can get to this.
Comment 3 Andras Kovi CLA Friend 2014-04-23 11:37:38 EDT
*** Bug 433311 has been marked as a duplicate of this bug. ***