[
https://issues.apache.org/jira/browse/KARAF-464?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12995621#comment-12995621
]
Kurt Westerfeld commented on KARAF-464:
---------------------------------------
Guillaume, I stumbled across KARAF-330 just today, but by my read of that
ticket and associated SVN commit it looked like the wrong issue. What I am
seeing is that during remove() none of the referenced services are removed,
while KARAF-330 indicates that the wrong service was removed. In fact, by the
looks of it, equals() returned true, which would mean something would get
removed. In Karaf 2.1.3, I don't see any services get removed from this list.
I do believe, however, it's in the same area of code, so if the fix is in Karaf
2.2 I'm OK with that because it's fairly rare to update the jaas config.
Thanks
> JAAS service configuration tracker does not unregister services or respond to
> service updates
> ---------------------------------------------------------------------------------------------
>
> Key: KARAF-464
> URL: https://issues.apache.org/jira/browse/KARAF-464
> Project: Karaf
> Issue Type: Bug
> Components: runtime
> Reporter: Kurt Westerfeld
> Assignee: Ioannis Canellos
>
> The class org.apache.karaf.jaas.config.impl.OsgiConfiguration contains a
> java.util.List<JaasRealm> which is intended to track jaas realms added via
> blueprint via it's register/unregister pair using the whiteboard pattern.
> This list is not mutated properly during unregister, since the list is not
> keyed by name or other id, and the passed in value during remove is a proxy.
> Thus, after doing an "update" on a bundle that contains a jaas configuration,
> the list grows by one, but contains a stale service reference.
> When this occurs, a subsequent call to getAppConfigurationEntry() causes a
> runtime exception,
> "org.osgi.service.blueprint.container.ServiceUnavailableException". No
> jaas-based authentication can happen after this.
--
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira