Buggy code:
public class EjbJndiBindingsDeploymentUnitProcessor implements DeploymentUnitProcessor { private static final Logger logger = Logger . getLogger ( EjbJndiBindingsDeploymentUnitProcessor . class ) ; private final boolean appclient ; public EjbJndiBindingsDeploymentUnitProcessor ( final boolean appclient ) { } @ Override public void deploy ( DeploymentPhaseContext phaseContext ) throws DeploymentUnitProcessingException { } private void setupJNDIBindings ( EJBComponentDescription sessionBean , DeploymentUnit deploymentUnit ) throws DeploymentUnitProcessingException { } private void registerBinding ( final EJBComponentDescription componentDescription , final ViewDescription viewDescription , final String jndiName ) { } private void registerRemoteBinding ( final EJBComponentDescription componentDescription , final ViewDescription viewDescription , final String jndiName ) { } private void registerControlPointBinding ( final EJBComponentDescription componentDescription , final ViewDescription viewDescription , final String jndiName , final DeploymentUnit deploymentUnit ) { final EEModuleDescription moduleDescription = componentDescription . getModuleDescription ( ) ; final InjectedValue < ClassLoader > viewClassLoader = new InjectedValue < ClassLoader > ( ) ; final InjectedValue < ControlPoint > controlPointInjectedValue = new InjectedValue ( ) ; final RemoteViewInjectionSource delegate = new RemoteViewInjectionSource ( null , moduleDescription . getEarApplicationName ( ) , moduleDescription . getModuleName ( ) , moduleDescription . getDistinctName ( ) , componentDescription . getComponentName ( ) , viewDescription . getViewClassName ( ) , componentDescription . isStateful ( ) , viewClassLoader ) ; componentDescription . getConfigurators ( ) . add ( new ComponentConfigurator ( ) { public void configure ( DeploymentPhaseContext context , ComponentDescription description , final ComponentConfiguration configuration ) throws DeploymentUnitProcessingException { viewClassLoader . setValue ( Values . immediateValue ( configuration . getModuleClassLoader ( ) ) ) ; configuration . getCreateDependencies ( ) . add ( new org . jboss . as . ee . component . DependencyConfigurator < org . jboss . msc . service . Service < Component > > ( ) { @ Override public void configureDependency ( ServiceBuilder < ? > serviceBuilder , org . jboss . msc . service . Service < Component > service ) throws DeploymentUnitProcessingException { <START_BUG> serviceBuilder . addDependency ( ControlPointService . serviceName ( ( ( deploymentUnit . getParent ( ) ) == null ? deploymentUnit . getName ( ) : deploymentUnit . getParent ( ) . getName ( ) ) , ( ( ( ( RemoteEJBComponentSuspendDeploymentUnitProcessor . ENTRY_POINT_NAME ) + ( deploymentUnit . getName ( ) ) ) + "." ) + ( componentDescription . getComponentName ( ) ) ) ) , ControlPoint . class , controlPointInjectedValue ) ; <END_BUG> } } ) ; } } ) ; final InjectionSource is = new InjectionSource ( ) { @ Override public void getResourceValue ( ResolutionContext resolutionContext , ServiceBuilder < ? > serviceBuilder , DeploymentPhaseContext phaseContext , Injector < ManagedReferenceFactory > injector ) throws DeploymentUnitProcessingException { final InjectedValue < ManagedReferenceFactory > delegateInjection = new InjectedValue ( ) ; delegate . getResourceValue ( resolutionContext , serviceBuilder , phaseContext , delegateInjection ) ; injector . inject ( new ManagedReferenceFactory ( ) { @ Override public ManagedReference getReference ( ) { ControlPoint cp = controlPointInjectedValue . getValue ( ) ; try { RunResult res = cp . beginRequest ( ) ; if ( res != ( RunResult . RUN ) ) { throw ROOT_LOGGER . containerSuspended ( ) ; } try { return delegateInjection . getValue ( ) . getReference ( ) ; } finally { cp . requestComplete ( ) ; } } catch ( Exception e ) { throw new RuntimeException ( e ) ; } } } ) ; } } ; moduleDescription . getBindingConfigurations ( ) . add ( new org . jboss . as . ee . component . BindingConfiguration ( jndiName , is ) ) ; } private void logBinding ( final StringBuilder jndiBindingsLogMessage , final String jndiName ) { } @ Override public void undeploy ( DeploymentUnit context ) { } }

Fix:
serviceBuilder . addDependency ( ControlPointService . serviceName ( ( ( deploymentUnit . getParent ( ) ) == null ? deploymentUnit . getName ( ) : deploymentUnit . getParent ( ) . getName ( ) ) , ( ( ( ( EJBComponentSuspendDeploymentUnitProcessor . ENTRY_POINT_NAME ) + ( deploymentUnit . getName ( ) ) ) + "." ) + ( componentDescription . getComponentName ( ) ) ) ) , ControlPoint . class , controlPointInjectedValue ) ;