You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@karaf.apache.org by "Róbert Csákány (Jira)" <ji...@apache.org> on 2021/09/13 14:16:00 UTC

[jira] [Updated] (KARAF-7255) KARAF JsonInstaller throw error on Null dictionary configuration

     [ https://issues.apache.org/jira/browse/KARAF-7255?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Róbert Csákány updated KARAF-7255:
----------------------------------
    Description: 
The problem is we have own ConfigAdmin services which are initialized with null Dictionary configuration object (in the OSGi spec the NULL value is allowed).

The problem the JsonInstaller always assumes that the configuration.getProcessedProperties always returns with existing instance of Dictionary.

 
{code:java}
                Dictionary<String, Object> dictionary = configuration.getProcessedProperties(null);
                File file = null;
                if (dictionary.get(DirectoryWatcher.FILENAME) != null) {
                    file = getCfgFileFromProperty(configuration.getProperties().get(DirectoryWatcher.FILENAME));                }
{code}
So there is a lot of exception in our case

 
{code:java}
15:41:57.424 WARN  [CM Event Dispatcher (Fire ConfigurationEvent: pid=hu.blackbelt.judo.services.dispatcher.DefaultDispatcher.ed3c4b4a-3527-40c7-a2db-a2e0fb770767)] Can't update json configuration file
java.lang.NullPointerException
	at org.apache.karaf.config.core.impl.JsonConfigInstaller.configurationEvent(JsonConfigInstaller.java:136)
	at org.apache.felix.cm.impl.ConfigurationManager$FireConfigurationEvent.sendEvent(ConfigurationManager.java:1720)
	at org.apache.felix.cm.impl.ConfigurationManager$FireConfigurationEvent.run(ConfigurationManager.java:1662)
	at org.apache.felix.cm.impl.UpdateThread.run0(UpdateThread.java:122)
	at org.apache.felix.cm.impl.UpdateThread.run(UpdateThread.java:84)
	at java.base/java.lang.Thread.run(Thread.java:834)
15:41:57.425 WARN  [CM Event Dispatcher (Fire ConfigurationEvent: pid=hu.blackbelt.judo.services.dispatcher.DefaultIdentifierSigner.3c2f8f9d-c343-4c5f-a52b-91fd34d21095)] Can't update json configuration file
java.lang.NullPointerException
	at org.apache.karaf.config.core.impl.JsonConfigInstaller.configurationEvent(JsonConfigInstaller.java:136)
	at org.apache.felix.cm.impl.ConfigurationManager$FireConfigurationEvent.sendEvent(ConfigurationManager.java:1720)
	at org.apache.felix.cm.impl.ConfigurationManager$FireConfigurationEvent.run(ConfigurationManager.java:1662)
	at org.apache.felix.cm.impl.UpdateThread.run0(UpdateThread.java:122)
	at org.apache.felix.cm.impl.UpdateThread.run(UpdateThread.java:84)
	at java.base/java.lang.Thread.run(Thread.java:834)
15:41:57.425 WARN  [CM Event Dispatcher (Fire ConfigurationEvent: pid=hu.blackbelt.judo.services.dispatcher.DefaultActorResolver.23aeaa8c-85d2-439c-84a6-3d2c3e12e7ab)] Can't update json configuration file
java.lang.NullPointerException
	at org.apache.karaf.config.core.impl.JsonConfigInstaller.configurationEvent(JsonConfigInstaller.java:136)
	at org.apache.felix.cm.impl.ConfigurationManager$FireConfigurationEvent.sendEvent(ConfigurationManager.java:1720)
	at org.apache.felix.cm.impl.ConfigurationManager$FireConfigurationEvent.run(ConfigurationManager.java:1662)
	at org.apache.felix.cm.impl.UpdateThread.run0(UpdateThread.java:122)
	at org.apache.felix.cm.impl.UpdateThread.run(UpdateThread.java:84)
	at java.base/java.lang.Thread.run(Thread.java:834)
{code}

  was:
The problem is we have own ConfigAdmin services which are initialized with null Dictionary configuration object (in the OSGi spec the NULL value is allowed).

The problem the JsonInstaller always assumes that the configuration.getProcessedProperties always returns with existing instance of Dictionary.

 
{code:java}
                Dictionary<String, Object> dictionary = configuration.getProcessedProperties(null);                File file = null;                if (dictionary.get(DirectoryWatcher.FILENAME) != null) {                    file = getCfgFileFromProperty(configuration.getProperties().get(DirectoryWatcher.FILENAME));                }
{code}
So there is a lot of exception in our case

 
{code:java}
15:41:57.424 WARN  [CM Event Dispatcher (Fire ConfigurationEvent: pid=hu.blackbelt.judo.services.dispatcher.DefaultDispatcher.ed3c4b4a-3527-40c7-a2db-a2e0fb770767)] Can't update json configuration file
java.lang.NullPointerException
	at org.apache.karaf.config.core.impl.JsonConfigInstaller.configurationEvent(JsonConfigInstaller.java:136)
	at org.apache.felix.cm.impl.ConfigurationManager$FireConfigurationEvent.sendEvent(ConfigurationManager.java:1720)
	at org.apache.felix.cm.impl.ConfigurationManager$FireConfigurationEvent.run(ConfigurationManager.java:1662)
	at org.apache.felix.cm.impl.UpdateThread.run0(UpdateThread.java:122)
	at org.apache.felix.cm.impl.UpdateThread.run(UpdateThread.java:84)
	at java.base/java.lang.Thread.run(Thread.java:834)
15:41:57.425 WARN  [CM Event Dispatcher (Fire ConfigurationEvent: pid=hu.blackbelt.judo.services.dispatcher.DefaultIdentifierSigner.3c2f8f9d-c343-4c5f-a52b-91fd34d21095)] Can't update json configuration file
java.lang.NullPointerException
	at org.apache.karaf.config.core.impl.JsonConfigInstaller.configurationEvent(JsonConfigInstaller.java:136)
	at org.apache.felix.cm.impl.ConfigurationManager$FireConfigurationEvent.sendEvent(ConfigurationManager.java:1720)
	at org.apache.felix.cm.impl.ConfigurationManager$FireConfigurationEvent.run(ConfigurationManager.java:1662)
	at org.apache.felix.cm.impl.UpdateThread.run0(UpdateThread.java:122)
	at org.apache.felix.cm.impl.UpdateThread.run(UpdateThread.java:84)
	at java.base/java.lang.Thread.run(Thread.java:834)
15:41:57.425 WARN  [CM Event Dispatcher (Fire ConfigurationEvent: pid=hu.blackbelt.judo.services.dispatcher.DefaultActorResolver.23aeaa8c-85d2-439c-84a6-3d2c3e12e7ab)] Can't update json configuration file
java.lang.NullPointerException
	at org.apache.karaf.config.core.impl.JsonConfigInstaller.configurationEvent(JsonConfigInstaller.java:136)
	at org.apache.felix.cm.impl.ConfigurationManager$FireConfigurationEvent.sendEvent(ConfigurationManager.java:1720)
	at org.apache.felix.cm.impl.ConfigurationManager$FireConfigurationEvent.run(ConfigurationManager.java:1662)
	at org.apache.felix.cm.impl.UpdateThread.run0(UpdateThread.java:122)
	at org.apache.felix.cm.impl.UpdateThread.run(UpdateThread.java:84)
	at java.base/java.lang.Thread.run(Thread.java:834)
{code}


> KARAF JsonInstaller throw error on Null dictionary configuration
> ----------------------------------------------------------------
>
>                 Key: KARAF-7255
>                 URL: https://issues.apache.org/jira/browse/KARAF-7255
>             Project: Karaf
>          Issue Type: Bug
>          Components: karaf
>    Affects Versions: 4.3.3
>         Environment: Karaf 4.3.3
>            Reporter: Róbert Csákány
>            Priority: Major
>
> The problem is we have own ConfigAdmin services which are initialized with null Dictionary configuration object (in the OSGi spec the NULL value is allowed).
> The problem the JsonInstaller always assumes that the configuration.getProcessedProperties always returns with existing instance of Dictionary.
>  
> {code:java}
>                 Dictionary<String, Object> dictionary = configuration.getProcessedProperties(null);
>                 File file = null;
>                 if (dictionary.get(DirectoryWatcher.FILENAME) != null) {
>                     file = getCfgFileFromProperty(configuration.getProperties().get(DirectoryWatcher.FILENAME));                }
> {code}
> So there is a lot of exception in our case
>  
> {code:java}
> 15:41:57.424 WARN  [CM Event Dispatcher (Fire ConfigurationEvent: pid=hu.blackbelt.judo.services.dispatcher.DefaultDispatcher.ed3c4b4a-3527-40c7-a2db-a2e0fb770767)] Can't update json configuration file
> java.lang.NullPointerException
> 	at org.apache.karaf.config.core.impl.JsonConfigInstaller.configurationEvent(JsonConfigInstaller.java:136)
> 	at org.apache.felix.cm.impl.ConfigurationManager$FireConfigurationEvent.sendEvent(ConfigurationManager.java:1720)
> 	at org.apache.felix.cm.impl.ConfigurationManager$FireConfigurationEvent.run(ConfigurationManager.java:1662)
> 	at org.apache.felix.cm.impl.UpdateThread.run0(UpdateThread.java:122)
> 	at org.apache.felix.cm.impl.UpdateThread.run(UpdateThread.java:84)
> 	at java.base/java.lang.Thread.run(Thread.java:834)
> 15:41:57.425 WARN  [CM Event Dispatcher (Fire ConfigurationEvent: pid=hu.blackbelt.judo.services.dispatcher.DefaultIdentifierSigner.3c2f8f9d-c343-4c5f-a52b-91fd34d21095)] Can't update json configuration file
> java.lang.NullPointerException
> 	at org.apache.karaf.config.core.impl.JsonConfigInstaller.configurationEvent(JsonConfigInstaller.java:136)
> 	at org.apache.felix.cm.impl.ConfigurationManager$FireConfigurationEvent.sendEvent(ConfigurationManager.java:1720)
> 	at org.apache.felix.cm.impl.ConfigurationManager$FireConfigurationEvent.run(ConfigurationManager.java:1662)
> 	at org.apache.felix.cm.impl.UpdateThread.run0(UpdateThread.java:122)
> 	at org.apache.felix.cm.impl.UpdateThread.run(UpdateThread.java:84)
> 	at java.base/java.lang.Thread.run(Thread.java:834)
> 15:41:57.425 WARN  [CM Event Dispatcher (Fire ConfigurationEvent: pid=hu.blackbelt.judo.services.dispatcher.DefaultActorResolver.23aeaa8c-85d2-439c-84a6-3d2c3e12e7ab)] Can't update json configuration file
> java.lang.NullPointerException
> 	at org.apache.karaf.config.core.impl.JsonConfigInstaller.configurationEvent(JsonConfigInstaller.java:136)
> 	at org.apache.felix.cm.impl.ConfigurationManager$FireConfigurationEvent.sendEvent(ConfigurationManager.java:1720)
> 	at org.apache.felix.cm.impl.ConfigurationManager$FireConfigurationEvent.run(ConfigurationManager.java:1662)
> 	at org.apache.felix.cm.impl.UpdateThread.run0(UpdateThread.java:122)
> 	at org.apache.felix.cm.impl.UpdateThread.run(UpdateThread.java:84)
> 	at java.base/java.lang.Thread.run(Thread.java:834)
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)