Skip to content

Some p2 functions still require org.eclipse.osgi.compatibility.state #1091

Description

@pms1

According to the discussion in eclipse-equinox/equinox#1327 (comment), p2 is supposed to run without the fragment "org.eclipse.osgi.compatibility.state", but at least some functions require this fragment to be available.

An example reproducing this can be found in https://github.com/pms1/p2-compatibility-state/tree/main/p2-compatibility-state.

This code calls the p2 directory. It works with the fragment. If run without the fragment, it fails with

FAIL Status ERROR: org.eclipse.equinox.p2.engine code=4 An error occurred while installing the items children=[Status ERROR: org.eclipse.equinox.p2.engine code=0 session context was:(profile=default, phase=org.eclipse.equinox.internal.p2.engine.phases.Install, operand=null --> [R]aQute.libg 7.2.3.202603250810, action=org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.InstallBundleAction). Status ERROR: org.eclipse.equinox.p2.engine code=0 Could not acquire the framework manipulator service. java.lang.IllegalStateException: Could not acquire the framework manipulator service.]
  FAIL Status ERROR: org.eclipse.equinox.p2.engine code=0 session context was:(profile=default, phase=org.eclipse.equinox.internal.p2.engine.phases.Install, operand=null --> [R]aQute.libg 7.2.3.202603250810, action=org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.InstallBundleAction).
  FAIL Status ERROR: org.eclipse.equinox.p2.engine code=0 Could not acquire the framework manipulator service. java.lang.IllegalStateException: Could not acquire the framework manipulator service.
java.lang.IllegalStateException: Could not acquire the framework manipulator service.
        at org.eclipse.equinox.internal.p2.touchpoint.eclipse.LazyManipulator.loadDelegate(LazyManipulator.java:51)
        at org.eclipse.equinox.internal.p2.touchpoint.eclipse.LazyManipulator.getConfigData(LazyManipulator.java:122)
        at org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.InstallBundleAction.installBundle(InstallBundleAction.java:87)
        at org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.InstallBundleAction.execute(InstallBundleAction.java:38)
        at org.eclipse.equinox.internal.p2.engine.ParameterizedProvisioningAction.execute(ParameterizedProvisioningAction.java:43)
        at org.eclipse.equinox.internal.p2.engine.Phase.mainPerform(Phase.java:196)
        at org.eclipse.equinox.internal.p2.engine.Phase.perform(Phase.java:102)
        at org.eclipse.equinox.internal.p2.engine.PhaseSet.perform(PhaseSet.java:65)
        at org.eclipse.equinox.internal.p2.engine.Engine.perform(Engine.java:102)
        at org.eclipse.equinox.internal.p2.engine.Engine.perform(Engine.java:52)
        at org.eclipse.equinox.internal.provisional.p2.director.PlanExecutionHelper.executePlan(PlanExecutionHelper.java:50)
        at org.eclipse.equinox.internal.provisional.p2.director.PlanExecutionHelper.executePlan(PlanExecutionHelper.java:28)
        at sample.Application1.start(Application1.java:112)

This was tried with 26-06. For 26-03 I have also seen the same effect.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions