[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [p2-dev] Question about p2 console activation policy

I've just tested if one needs to start o.e.e.p2.console bundle explicitly in Eclipse-SDK-3.6.2-win32-x86 and Eclipse-SDK-3.7.1-win32-x86, and indeed it is the case. However, in those versions, one gets help printed out instead of an error message, and I guess that's why I didn't pay attention to it before.


----- Original Message -----
From: "Pascal Rapicault" <pascal.rapicault@xxxxxxxxxxxx>
To: "P2 developer discussions" <p2-dev@xxxxxxxxxxx>
Sent: Wednesday, December 12, 2012 3:53:24 PM
Subject: Re: [p2-dev] Question about p2 console activation policy

Thanks for noticing this, we will look into it.
Though if IIRC in previous version of eclipse you had to start the console explicitly.

-----Original Message-----
From: p2-dev-bounces@xxxxxxxxxxx [mailto:p2-dev-bounces@xxxxxxxxxxx] On Behalf Of Mikhail Kalkov
Sent: December-12-12 6:37 AM
To: p2-dev@xxxxxxxxxxx
Subject: [p2-dev] Question about p2 console activation policy


I've downloaded and unzipped Eclipse Classic (eclipse-SDK-4.2-win32-x86_64.zip), started it, opened the Console View, and opened Host OSGi Console. Now, if I try to run one of p2 commands, I get the following error:
osgi> provlpquery
gogo: CommandNotFoundException: Command not found: provlpquery

If I list the status of p2 bundles, they are as follows:
osgi> ss p2
"Framework is launched."
id	State       Bundle
99	ACTIVE      org.eclipse.equinox.p2.artifact.repository_1.1.200.v20120430-1959
100	STARTING    org.eclipse.equinox.p2.console_1.0.300.v20120429-0125
101	ACTIVE      org.eclipse.equinox.p2.core_2.2.0.v20120430-0525
102	ACTIVE      org.eclipse.equinox.p2.director_2.2.0.v20120524-0542
103	STARTING    org.eclipse.equinox.p2.director.app_1.0.300.v20120428-0517
104	ACTIVE      org.eclipse.equinox.p2.directorywatcher_1.0.300.v20110808-1657
105	ACTIVE      org.eclipse.equinox.p2.engine_2.2.0.v20120501-1502
106	ACTIVE      org.eclipse.equinox.p2.extensionlocation_1.2.100.v20110808-1657
107	ACTIVE      org.eclipse.equinox.p2.garbagecollector_1.0.200.v20110808-1657
108	RESOLVED    org.eclipse.equinox.p2.jarprocessor_1.0.200.v20110808-1657
109	ACTIVE      org.eclipse.equinox.p2.metadata_2.1.0.v20120430-2001
110	ACTIVE      org.eclipse.equinox.p2.metadata.repository_1.2.100.v20120524-1717
111	ACTIVE      org.eclipse.equinox.p2.operations_2.2.0.v20120524-0542
112	ACTIVE      org.eclipse.equinox.p2.publisher_1.2.0.v20120428-0117
113	STARTING    org.eclipse.equinox.p2.publisher.eclipse_1.1.0.v20120511-1931
114	STARTING    org.eclipse.equinox.p2.ql_2.0.100.v20110808-1657
115	ACTIVE      org.eclipse.equinox.p2.reconciler.dropins_1.1.200.v20120301-2145
116	ACTIVE      org.eclipse.equinox.p2.repository_2.2.0.v20120524-1945
117	STARTING    org.eclipse.equinox.p2.repository.tools_2.0.100.v20120501-1314
118	ACTIVE      org.eclipse.equinox.p2.touchpoint.eclipse_2.1.100.v20120428-0117
119	STARTING    org.eclipse.equinox.p2.touchpoint.natives_1.1.0.v20120524-0542
120	ACTIVE      org.eclipse.equinox.p2.transport.ecf_1.0.100.v20120305-0333
121	STARTING    org.eclipse.equinox.p2.ui_2.2.0.v20120524-0542
122	STARTING    org.eclipse.equinox.p2.ui.importexport_1.0.1.v20110818-1344
123	STARTING    org.eclipse.equinox.p2.ui.sdk_1.0.200.v20120515-1650
124	ACTIVE      org.eclipse.equinox.p2.ui.sdk.scheduler_1.1.0.v20110815-1744
125	ACTIVE      org.eclipse.equinox.p2.updatechecker_1.1.200.v20110808-1657
126	ACTIVE      org.eclipse.equinox.p2.updatesite_1.0.400.v20120412-1615

The org.eclipse.equinox.p2.console bundle is stuck in STARTING state no matter how long one waits, and this seem to be correct behaviour according to http://www.osgi.org/javadoc/r4v43/core/org/osgi/framework/Bundle.html#STARTING, because the bundle MANIFEST.MF contains Bundle-ActivationPolicy: lazy, and will not be started until one of its classes is accessed. However, if it is not started, it does not have a chance to contribute its commands to OSGi shell. Once I start the bundle, everything works fine.
osgi> start 100
osgi> provlpquery
Please enter a query
osgi> ss org.eclipse.equinox.p2.console
"Framework is launched."
id	State       Bundle
100	ACTIVE      org.eclipse.equinox.p2.console_1.0.300.v20120429-0125

There must have been a change in equinox behaviour recently because other projects seem to struggle with the same issue: http://jira.codehaus.org/browse/GROOVY-5664 Do you know why this problem has arised and if somebody should fix it by removing the Bundle-ActivationPolicy: lazy line from p2.console's manifest?

Kind regards, 
Mikhail Kalkov 

Purple Scout AB 
Software Developer

Address: Kyrkogatan 20-22, SE-41110 Gothenburg, Sweden
Phone:   +46 (0) 732 - 051405
E-mail:  mikhail.kalkov@xxxxxxxxxxxxxx
Web:     www.purplescout.se

p2-dev mailing list
p2-dev mailing list