The OSGi Plugin Registry assumes that the bundle is started, it calls FrameworkUtil(this.getClass) and then expects that there is a BundleContext. However, a BundleContext ONLY exists when a bundle is started. Extension points should also only be used when the providing bundle is started.
Eclipse has unfortunately screwed up this idea because they were afraid that starting bundles would be too expensive. So we got a mess in Eclipse with activation policy etc. However, the actual OSGi way is to start all bundles you want and ONLY use resources from started bundles.
I can help write a proper version based on the BundleTracker. However, this will mean that some of the extension points will appear/disappear.