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.

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