[ https://issues.apache.org/jira/browse/FELIX-5199?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15168817#comment-15168817 ]
David Bosschaert commented on FELIX-5199: ----------------------------------------- I improved the thread-safety in the fix after feedback from [~cziegeler] in this commit: https://svn.apache.org/viewvc?view=revision&revision=1732453 > Race condition in HttpServiceFactory.getService() causing exception > ------------------------------------------------------------------- > > Key: FELIX-5199 > URL: https://issues.apache.org/jira/browse/FELIX-5199 > Project: Felix > Issue Type: Bug > Components: HTTP Service > Affects Versions: http.base-3.0.6 > Reporter: David Bosschaert > Assignee: David Bosschaert > Fix For: http.base-3.0.8 > > Attachments: felix-5199.patch > > > The HttpServiceFactory.getService() is as follows: > {code} > public HttpService getService(final Bundle bundle, final > ServiceRegistration<HttpService> reg) > { > final ServletContext servletContext = this.context; > if ( servletContext != null ) { > return new PerBundleHttpServiceImpl(bundle, > this.sharedHttpService, > this.context, > this.contextAttributeListenerManager, > this.sharedContextAttributes, > this.requestListenerManager, > this.requestAttributeListenerManager); > } > return null; > }{code} > However it is possible that this.context is set to {{null}} after the check > for {{null}} is done but before the constructor is called causing a null > servlet context to be passed to {{PerBundleHttpServiceImpl}} -- This message was sent by Atlassian JIRA (v6.3.4#6332)