Shutdown happens in the reverse order to startup.
Informally:
All of the bundles at a particular start level will have BundleActivator.stop(BundleContext)
called before bundles with a lower start level will be stopped.
http://www.osgi.org/javadoc/r4v43/core/org/osgi/framework/Bundle.html#stop()
In particular, all of the stop
invocations will have returned before Bundles with lower start levels are stopped.