You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Pierre De Rop (JIRA)" <ji...@apache.org> on 2014/01/15 13:51:20 UTC

[jira] [Created] (FELIX-4385) NPE in Configuration Admin Service when deleting configuration

Pierre De Rop created FELIX-4385:
------------------------------------

             Summary: NPE in Configuration Admin Service when deleting configuration
                 Key: FELIX-4385
                 URL: https://issues.apache.org/jira/browse/FELIX-4385
             Project: Felix
          Issue Type: Bug
          Components: Configuration Admin
    Affects Versions: configadmin-1.8.2
            Reporter: Pierre De Rop
         Attachments: FELIX-4385.patch

While writing a test for Apache Felix DependencyManager, I came across the following exception from ConfigAdmin 1.8.0 (under high load):

{code}
ERROR - CM Configuration Updater (Delete: pid=Aspect2.pid23) : Unexpected problem providing configuration Aspect2.pid23 to service [org.osgi.service.cm.ManagedService, id=117, bundle=26/local] - java.lang.NullPointerException
        at java.lang.StringBuffer.<init>(StringBuffer.java:120)
        at org.apache.felix.cm.impl.ConfigurationManager.getTargetedConfiguration(ConfigurationManager.java:523)
        at org.apache.felix.cm.impl.ConfigurationManager$ConfigurationProvider.provideReplacement(ConfigurationManager.java:1666)
        at org.apache.felix.cm.impl.ConfigurationManager$DeleteConfiguration.run(ConfigurationManager.java:1816)
        at org.apache.felix.cm.impl.UpdateThread.run(UpdateThread.java:103)
        at java.lang.Thread.run(Thread.java:722)
{code}

I suspect that this NPE occurs in the following scenario:

1- one ManagedService listening to a given configuration pid is being unregistered (from one thread)
2- concurrently, another thread is deleting the Configuration for the same PID the ManagedService was registered for.

I never wrote some test cases for configuration admin sub-project but I will try to write one in order to reproduce the issue.

For now, I'm using the attached patch, which seems to fix the problem.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)