OSGi install/uninstall #556
Labels
component/framework
Categorizes an issue or PR relevant to the framework.
kind/bug
Categorizes issue or PR as related to a bug.
The behavior of the
uninstall()
method of Bundle interface is specified as follows:Clearly, the current implementation, which is introduced by #476, does not touch persistent storage.
As seen in
TEST_F(CxxBundleArchiveTestSuite, BundleArchiveReusedTest)
, after uninstall, the bundle archive is intact.#554 tries to fix this, but fails to take
celix_bundleCache
, which assumes that "bundle cache dirs are not removed" (seecelix_bundleCache_updateIdForLocationLookupMap
), into account, and thus is withdrawn in #555.Also note that there are a race condition in current implementation of
celix_framework_installBundle
andcelix_framework_installBundleAsync
: if the same bundle are installed concurrently from multiple threads, it can happen that multiple copies of the same bundle will be installed into the bundle cache with different bundle ids.Any future fix should also address the thread safety issue.
The text was updated successfully, but these errors were encountered: