using the service coroner tool for diagnosing stale references in the osgi platform
The OSGi Service Platform is becoming the de facto middleware for the deployment of dynamic modular Java-based applications. It gives the possibility to install, to activate, to update and to uninstall application modules without needing to restart the host Java Virtual Machine. However, modules run on the memory space, and it is not possible to ensure that objects from unavailable (e.g. uninstalled) modules will no longer be referenced, since it depends on developers to correctly provide code that will handle the corresponding OSGi events which inform the departure of a module. Such errors, resulted from the mishandling of the dynamic arrival and departure of modules, are a hard to detect problem described in the OSGi specification as Stale References. It may lead to inconsistencies in application's behavior, state and memory. So far there were no tools addressing the diagnostics of this issue. In this demo we present the live utilization of our experimental tool, Service Coroner, which helps OSGi application developers and administrators in the diagnosis of stale references. Our presentation focus on the diagnosis of actual OSGi based applications that present the occurrence of stale references upon dynamic updates of modules.
stale references osgi services platform aspect oriented programming