Buggy code:
public final class ComponentInstallProcessor implements DeploymentUnitProcessor { public void deploy ( final DeploymentPhaseContext phaseContext ) throws DeploymentUnitProcessingException { } private static void addJndiDependency ( final ModuleClassLoader classLoader , final ServiceTarget serviceTarget , final AbstractComponentDescription description , final Class < ? > injecteeClass , final ClassReflectionIndex < ? > index , final String applicationName , final String moduleName , final String componentName , final ServiceName createServiceName , final ServiceBuilder < Component > startBuilder , final List < ResourceInjection > instanceResourceInjections , final BindingDescription bindingDescription , final DeploymentPhaseContext phaseContext ) throws DeploymentUnitProcessingException { final String bindingName = bindingDescription . getBindingName ( ) ; final String bindingType = bindingDescription . getBindingType ( ) ; try { Class . forName ( bindingType , false , classLoader ) ; } catch ( ClassNotFoundException e ) { throw new DeploymentUnitProcessingException ( "Component<seq2seq4repair_space>binding<seq2seq4repair_space>class<seq2seq4repair_space>not<seq2seq4repair_space>found" , e ) ; } Value < JndiInjectable > resourceValue ; if ( bindingName != null ) { ComponentNamingMode namingMode = description . getNamingMode ( ) ; final String fullBindingName ; final String serviceBindingName ; <START_BUG> if ( bindingDescription . isAbsoluteBinding ( ) ) { <END_BUG> fullBindingName = bindingName ; int idx = fullBindingName . indexOf ( '//' ) ; if ( idx == ( - 1 ) ) { serviceBindingName = fullBindingName ; } else { serviceBindingName = fullBindingName . substring ( ( idx + 1 ) ) ; } } else if ( namingMode == ( ComponentNamingMode . CREATE ) ) { fullBindingName = "java:comp//env//" + bindingName ; serviceBindingName = "env//" + bindingName ; } else { fullBindingName = "java:module//env//" + bindingName ; serviceBindingName = "env//" + bindingName ; } final BinderService service = new BinderService ( serviceBindingName ) ; final ServiceName bindingServiceName = ContextNames . serviceNameOfContext ( applicationName , moduleName , componentName , fullBindingName ) ; if ( bindingServiceName == null ) { throw new IllegalArgumentException ( ( ( "Invalid<seq2seq4repair_space>context<seq2seq4repair_space>name<seq2seq4repair_space>'" + bindingName ) + "'<seq2seq4repair_space>for<seq2seq4repair_space>binding" ) ) ; } ServiceBuilder < JndiInjectable > sourceServiceBuilder = serviceTarget . addService ( bindingServiceName , service ) ; bindingDescription . getReferenceSourceDescription ( ) . getResourceValue ( description , bindingDescription , sourceServiceBuilder , phaseContext , service . getJndiInjectableInjector ( ) ) ; resourceValue = sourceServiceBuilder . addDependency ( createServiceName ) . addDependency ( bindingServiceName . getParent ( ) , NamingStore . class , service . getNamingStoreInjector ( ) ) . install ( ) ; if ( bindingDescription . isDependency ( ) ) startBuilder . addDependency ( bindingServiceName ) ; } else { final InjectedValue < JndiInjectable > injectedValue = new InjectedValue < JndiInjectable > ( ) ; bindingDescription . getReferenceSourceDescription ( ) . getResourceValue ( description , bindingDescription , startBuilder , phaseContext , injectedValue ) ; resourceValue = injectedValue ; } for ( InjectionTargetDescription targetDescription : bindingDescription . getInjectionTargetDescriptions ( ) ) { instanceResourceInjections . add ( Factory . create ( targetDescription , injecteeClass , index , resourceValue ) ) ; } } public void undeploy ( final DeploymentUnit context ) { } }

Fix:
if ( ( bindingName . startsWith ( "java:" ) ) || ( bindingDescription . isAbsoluteBinding ( ) ) ) {