Buggy code:
public final class ComponentInstallProcessor implements DeploymentUnitProcessor { public void deploy ( final DeploymentPhaseContext phaseContext ) throws DeploymentUnitProcessingException { } protected void deployComponent ( final DeploymentPhaseContext phaseContext , final ComponentConfiguration configuration ) throws DeploymentUnitProcessingException { final DeploymentUnit deploymentUnit = phaseContext . getDeploymentUnit ( ) ; final ServiceTarget serviceTarget = phaseContext . getServiceTarget ( ) ; final String applicationName = configuration . getApplicationName ( ) ; final String moduleName = configuration . getModuleName ( ) ; final String componentName = configuration . getComponentName ( ) ; final ServiceName baseName = deploymentUnit . getServiceName ( ) . append ( "component" ) . append ( componentName ) ; final ServiceName createServiceName = baseName . append ( "CREATE" ) ; final ServiceName startServiceName = baseName . append ( "START" ) ; final BasicComponentCreateService createService = configuration . getComponentCreateServiceFactory ( ) . constructService ( configuration ) ; final ServiceBuilder < Component > createBuilder = serviceTarget . addService ( createServiceName , createService ) ; final ComponentStartService startService = new ComponentStartService ( ) ; final ServiceBuilder < Component > startBuilder = serviceTarget . addService ( startServiceName , startService ) ; for ( DependencyConfigurator configurator : configuration . getCreateDependencies ( ) ) { configurator . configureDependency ( createBuilder ) ; } for ( DependencyConfigurator configurator : configuration . getStartDependencies ( ) ) { configurator . configureDependency ( startBuilder ) ; } startBuilder . addDependency ( createServiceName , BasicComponent . class , startService . getComponentInjector ( ) ) ; final ServiceName contextServiceName ; if ( ( configuration . getComponentDescription ( ) . getNamingMode ( ) ) == ( ComponentNamingMode . CREATE ) ) { final RootContextService contextService = new RootContextService ( ) ; contextServiceName = ContextNames . contextServiceNameOfComponent ( configuration . getApplicationName ( ) , configuration . getModuleName ( ) , configuration . getComponentName ( ) ) ; serviceTarget . addService ( contextServiceName , contextService ) . install ( ) ; } else { contextServiceName = ContextNames . contextServiceNameOfModule ( configuration . getApplicationName ( ) , configuration . getModuleName ( ) ) ; } InjectionSource . ResolutionContext resolutionContext = new InjectionSource . ResolutionContext ( ( ( configuration . getComponentDescription ( ) . getNamingMode ( ) ) == ( ComponentNamingMode . USE_MODULE ) ) , configuration . getComponentName ( ) , configuration . getModuleName ( ) , configuration . getApplicationName ( ) ) ; for ( ViewConfiguration viewConfiguration : configuration . getViews ( ) ) { final ServiceName serviceName = viewConfiguration . getViewServiceName ( ) ; final ViewService viewService = new ViewService ( viewConfiguration ) ; serviceTarget . addService ( serviceName , viewService ) . addDependency ( createServiceName , Component . class , viewService . getComponentInjector ( ) ) . install ( ) ; for ( BindingConfiguration bindingConfiguration : viewConfiguration . getBindingConfigurations ( ) ) { final String bindingName = bindingConfiguration . getName ( ) ; final BinderService service = new BinderService ( bindingName ) ; ServiceBuilder < ManagedReferenceFactory > serviceBuilder = serviceTarget . addService ( ContextNames . serviceNameOfContext ( applicationName , moduleName , componentName , bindingName ) , service ) ; bindingConfiguration . getSource ( ) . getResourceValue ( resolutionContext , serviceBuilder , phaseContext , service . getManagedObjectInjector ( ) ) ; <START_BUG> serviceBuilder . addDependency ( contextServiceName , NamingStore . class , service . getNamingStoreInjector ( ) ) ; <END_BUG> serviceBuilder . install ( ) ; } } for ( BindingConfiguration bindingConfiguration : configuration . getBindingConfigurations ( ) ) { final String bindingName = bindingConfiguration . getName ( ) ; final BinderService service = new BinderService ( bindingName ) ; ServiceBuilder < ManagedReferenceFactory > serviceBuilder = serviceTarget . addService ( ContextNames . serviceNameOfEnvEntry ( configuration , bindingName ) , service ) ; bindingConfiguration . getSource ( ) . getResourceValue ( resolutionContext , serviceBuilder , phaseContext , service . getManagedObjectInjector ( ) ) ; serviceBuilder . addDependency ( contextServiceName , NamingStore . class , service . getNamingStoreInjector ( ) ) ; serviceBuilder . install ( ) ; } for ( BindingConfiguration bindingConfiguration : configuration . getModuleClassConfiguration ( ) . getBindingConfigurations ( ) ) { final String bindingName = bindingConfiguration . getName ( ) ; final BinderService service = new BinderService ( bindingName ) ; ServiceBuilder < ManagedReferenceFactory > serviceBuilder = serviceTarget . addService ( ContextNames . serviceNameOfEnvEntry ( configuration , bindingName ) , service ) ; bindingConfiguration . getSource ( ) . getResourceValue ( resolutionContext , serviceBuilder , phaseContext , service . getManagedObjectInjector ( ) ) ; serviceBuilder . addDependency ( contextServiceName , NamingStore . class , service . getNamingStoreInjector ( ) ) ; serviceBuilder . install ( ) ; } createBuilder . install ( ) ; startBuilder . install ( ) ; } public void undeploy ( final DeploymentUnit context ) { } }

Fix:
serviceBuilder . addDependency ( ContextNames . serviceNameOfNamingStore ( applicationName , moduleName , componentName , bindingName ) , NamingStore . class , service . getNamingStoreInjector ( ) ) ;