You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Marcel Offermans (Commented) (JIRA)" <ji...@apache.org> on 2012/03/12 14:14:40 UTC

[jira] [Commented] (FELIX-3334) PreferencesManager can throw NPE after being stopped.

    [ https://issues.apache.org/jira/browse/FELIX-3334?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13227491#comment-13227491 ] 

Marcel Offermans commented on FELIX-3334:
-----------------------------------------

Applied this patch with a small change:
To prevent a possible race condition when "this.storeTracker" is nulled whilst in the middle of this method, I read the member once into a local variable and use that throughout the rest of the codebase.
To be honest, I have the feeling that there are other possible concurrency issues in this code, but for now I wanted to allow J.W. to test his patch.
@Carsten/@Felix WDYT?
                
> PreferencesManager can throw NPE after being stopped.
> -----------------------------------------------------
>
>                 Key: FELIX-3334
>                 URL: https://issues.apache.org/jira/browse/FELIX-3334
>             Project: Felix
>          Issue Type: Bug
>          Components: Preferences Service
>    Affects Versions: prefs-1.0.4
>            Reporter: J.W. Janssen
>            Assignee: Carsten Ziegeler
>              Labels: patch
>             Fix For: prefs-1.0.6
>
>         Attachments: felix-prefs-3334-2.patch, quickfix-new.patch
>
>
> PreferencesManager#bundleChanged tries to intercept bundles that are uninstalled. However, if the PreferencesManager itself is stopped, it does not unregister itself as bundle listener, causing possible NPEs when other bundles depending on the preferences service are stopped later on, for example during a shutdown.
> I've got a patch available, will attach it to this issue to be applied.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira