Buggy code:
public class HostControllerService implements Service < AsyncFuture < ServiceContainer > > { public static final ServiceName HC_SERVICE_NAME = JBOSS . append ( "host" , "controller" ) ; static final ServiceName HC_EXECUTOR_SERVICE_NAME = HostControllerService . HC_SERVICE_NAME . append ( "executor" ) ; static final int DEFAULT_POOL_SIZE = 20 ; private final HostControllerEnvironment environment ; private final HostRunningModeControl runningModeControl ; private final ControlledProcessState processState ; private final byte [ ] authCode ; private volatile FutureServiceContainer futureContainer ; private volatile long startTime ; HostControllerService ( final HostControllerEnvironment environment , final HostRunningModeControl runningModeControl , final byte [ ] authCode , final ControlledProcessState processState ) { } @ Override public void start ( StartContext context ) throws StartException { processState . setStarting ( ) ; String prettyVersion = environment . getProductConfig ( ) . getPrettyVersionString ( ) ; AS_ROOT_LOGGER . serverStarting ( prettyVersion ) ; if ( CONFIG_LOGGER . isDebugEnabled ( ) ) { final Properties properties = System . getProperties ( ) ; final StringBuilder b = new StringBuilder ( 8192 ) ; b . append ( "Configured<seq2seq4repair_space>system<seq2seq4repair_space>properties:" ) ; for ( String property : new TreeSet < String > ( properties . stringPropertyNames ( ) ) ) { b . append ( "\n\t" ) . append ( property ) . append ( "<seq2seq4repair_space>=<seq2seq4repair_space>" ) . append ( properties . getProperty ( property , "<undefined>" ) ) ; } CONFIG_LOGGER . debug ( b ) ; CONFIG_LOGGER . debugf ( "VM<seq2seq4repair_space>Arguments:<seq2seq4repair_space>%s" , getVMArguments ( ) ) ; if ( CONFIG_LOGGER . isTraceEnabled ( ) ) { b . setLength ( 0 ) ; final Map < String , String > env = System . getenv ( ) ; b . append ( "Configured<seq2seq4repair_space>system<seq2seq4repair_space>environment:" ) ; for ( String key : new TreeSet < String > ( env . keySet ( ) ) ) { b . append ( "\n\t" ) . append ( key ) . append ( "<seq2seq4repair_space>=<seq2seq4repair_space>" ) . append ( env . get ( key ) ) ; } CONFIG_LOGGER . trace ( b ) ; } } final ServiceTarget serviceTarget = context . getChildTarget ( ) ; final ServiceController < ? > myController = context . getController ( ) ; final ServiceContainer serviceContainer = myController . getServiceContainer ( ) ; futureContainer = new FutureServiceContainer ( ) ; long startTime = this . startTime ; if ( startTime == ( - 1 ) ) { startTime = System . currentTimeMillis ( ) ; } else { this . startTime = - 1 ; } final BootstrapListener bootstrapListener = new BootstrapListener ( serviceContainer , startTime , serviceTarget , futureContainer , ( prettyVersion + "<seq2seq4repair_space>(Host<seq2seq4repair_space>Controller)" ) ) ; <START_BUG> serviceTarget . addListener ( ALL , bootstrapListener ) ; <END_BUG> myController . addListener ( bootstrapListener ) ; final ProcessControllerConnectionService processControllerClient = new ProcessControllerConnectionService ( environment , authCode ) ; serviceTarget . addService ( SERVICE_NAME , processControllerClient ) . install ( ) ; final HostControllerService . HostControllerExecutorService executorService = new HostControllerService . HostControllerExecutorService ( ) ; serviceTarget . addService ( HostControllerService . HC_EXECUTOR_SERVICE_NAME , executorService ) . install ( ) ; HostPathManagerService hostPathManagerService = new HostPathManagerService ( ) ; HostPathManagerService . addService ( serviceTarget , hostPathManagerService , environment ) ; DomainModelControllerService . addService ( serviceTarget , environment , runningModeControl , processState , bootstrapListener , hostPathManagerService ) ; } @ Override public void stop ( StopContext context ) { } @ Override public AsyncFuture < ServiceContainer > getValue ( ) throws IllegalArgumentException , IllegalStateException { } public HostControllerEnvironment getEnvironment ( ) { } private String getVMArguments ( ) { } static final class HostControllerExecutorService implements Service < ExecutorService > { final ThreadFactory threadFactory = new JBossThreadFactory ( new ThreadGroup ( "Host<seq2seq4repair_space>Controller<seq2seq4repair_space>Service<seq2seq4repair_space>Threads" ) , Boolean . FALSE , null , "%G<seq2seq4repair_space>-<seq2seq4repair_space>%t" , null , null , AccessController . getContext ( ) ) ; private ExecutorService executorService ; @ Override public synchronized void start ( final StartContext context ) throws StartException { executorService = new ThreadPoolExecutor ( 0 , Integer . MAX_VALUE , 5L , TimeUnit . SECONDS , new SynchronousQueue < Runnable > ( ) , threadFactory ) ; } @ Override public synchronized void stop ( final StopContext context ) { } @ Override public synchronized ExecutorService getValue ( ) throws IllegalStateException { } } }

Fix:
serviceTarget . addListener ( bootstrapListener ) ;