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

Fabian Lange commented on KARAF-3798:
-------------------------------------

I can check this on 4.0 once its out.
I have a theoretical STR in my head, which should be as follows:

feature a
 - bundle a1
 - bundle a2

feature b
 - bundle b1

bundle a1 activation does feature.install(feature b), bundle a2 activation does 
Thread sleep.

Bundle b1 should provide an immediate Service. If the bug exists, the service 
will not be there.

It might be necessary to add a few more bundles to a, to produce it (in my case 
i have about 20)

> FeaturesServiceImpl not threadsafe
> ----------------------------------
>
>                 Key: KARAF-3798
>                 URL: https://issues.apache.org/jira/browse/KARAF-3798
>             Project: Karaf
>          Issue Type: Bug
>          Components: karaf-feature
>    Affects Versions: 4.0.0.M3
>            Reporter: Fabian Lange
>
> This error happens pretty frequently with M3, when there are multiple 
> features installed on startup and config files to activate them created.
> {code}
> 2015-06-19 15:55:12,249 | ERROR | 43-3aaf88a7bd8b) | configadmin              
>         | 3 - org.apache.felix.configadmin - 1.8.4 | Unexpected problem 
> delivering configuration event to [org.osgi.service.cm.ConfigurationListener, 
> id=30, bundle=9/mvn:org.apache.felix/org.apache.felix.scr/1.8.2]
> java.lang.NullPointerException
>       at 
> org.apache.felix.scr.impl.config.ConfigurationSupport.configurationEvent(ConfigurationSupport.java:283)[9:org.apache.felix.scr:1.8.2]
>       at 
> org.apache.felix.cm.impl.ConfigurationManager$FireConfigurationEvent.sendEvent(ConfigurationManager.java:2036)[3:org.apache.felix.configadmin:1.8.4]
>       at 
> org.apache.felix.cm.impl.ConfigurationManager$FireConfigurationEvent.run(ConfigurationManager.java:2005)[3:org.apache.felix.configadmin:1.8.4]
>       at 
> org.apache.felix.cm.impl.UpdateThread.run(UpdateThread.java:103)[3:org.apache.felix.configadmin:1.8.4]
>       at java.lang.Thread.run(Thread.java:745)[:1.8.0_40]
> {code}
> As written in latest comment, the root cause seems to be that multiple 
> installFeature calls to FeatureService mess up the state of the bundles. In 
> my case it left a bundle in a corrupt state, which was noticed when the 
> configuration change did not really activate the service.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to