Buggy code:
final class ApplicationServerService implements Service < AsyncFuture < ServiceContainer > > { private final List < ServiceActivator > extraServices ; private final Configuration configuration ; private final RunningModeControl runningModeControl ; private final ControlledProcessState processState ; private final boolean standalone ; private volatile FutureServiceContainer futureContainer ; private volatile long startTime ; ApplicationServerService ( final List < ServiceActivator > extraServices , final Bootstrap . Configuration configuration , final ControlledProcessState processState ) { } @ Override public synchronized void start ( final StartContext context ) throws StartException { processState . setStarting ( ) ; final Bootstrap . Configuration configuration = this . configuration ; final ServerEnvironment serverEnvironment = configuration . getServerEnvironment ( ) ; String prettyVersion = serverEnvironment . getProductConfig ( ) . getPrettyVersionString ( ) ; ServerLogger . AS_ROOT_LOGGER . serverStarting ( prettyVersion ) ; if ( ServerLogger . CONFIG_LOGGER . isDebugEnabled ( ) ) { final Properties properties = System . getProperties ( ) ; final StringBuilder b = new StringBuilder ( 8192 ) ; b . append ( MESSAGES . configuredSystemPropertiesLabel ( ) ) ; for ( String property : new TreeSet < String > ( properties . stringPropertyNames ( ) ) ) { b . append ( "\n\t" ) . append ( property ) . append ( "<seq2seq4repair_space>=<seq2seq4repair_space>" ) . append ( properties . getProperty ( property , "<undefined>" ) ) ; } ServerLogger . CONFIG_LOGGER . debug ( b ) ; ServerLogger . CONFIG_LOGGER . debugf ( MESSAGES . vmArgumentsLabel ( getVMArguments ( ) ) ) ; if ( ServerLogger . CONFIG_LOGGER . isTraceEnabled ( ) ) { b . setLength ( 0 ) ; final Map < String , String > env = System . getenv ( ) ; b . append ( MESSAGES . configuredSystemEnvironmentLabel ( ) ) ; for ( String key : new TreeSet < String > ( env . keySet ( ) ) ) { b . append ( "\n\t" ) . append ( key ) . append ( "<seq2seq4repair_space>=<seq2seq4repair_space>" ) . append ( env . get ( key ) ) ; } ServerLogger . CONFIG_LOGGER . trace ( b ) ; } } final ServiceTarget serviceTarget = context . getChildTarget ( ) ; final ServiceController < ? > myController = context . getController ( ) ; final ServiceContainer container = myController . getServiceContainer ( ) ; futureContainer = new FutureServiceContainer ( ) ; long startTime = this . startTime ; if ( startTime == ( - 1 ) ) { startTime = System . currentTimeMillis ( ) ; } else { this . startTime = - 1 ; } CurrentServiceContainer . setServiceContainer ( context . getController ( ) . getServiceContainer ( ) ) ; final BootstrapListener bootstrapListener = new BootstrapListener ( container , startTime , serviceTarget , futureContainer , prettyVersion ) ; <START_BUG> serviceTarget . addListener ( ALL , bootstrapListener ) ; <END_BUG> myController . addListener ( bootstrapListener ) ; if ( standalone ) { Factory . addService ( serviceTarget , serverEnvironment . getServerContentDir ( ) ) ; } else { RemoteFileRepositoryService . addService ( serviceTarget , serverEnvironment . getServerContentDir ( ) ) ; } DeploymentMountProvider . Factory . addService ( serviceTarget ) ; ServiceModuleLoader . addService ( serviceTarget , configuration ) ; ExternalModuleService . addService ( serviceTarget ) ; ModuleIndexService . addService ( serviceTarget ) ; final AbstractVaultReader vaultReader = ApplicationServerService . service ( AbstractVaultReader . class ) ; ServerLogger . AS_ROOT_LOGGER . debugf ( "Using<seq2seq4repair_space>VaultReader<seq2seq4repair_space>%s" , vaultReader ) ; ServerService . addService ( serviceTarget , configuration , processState , bootstrapListener , runningModeControl , vaultReader ) ; final ServiceActivatorContext serviceActivatorContext = new ServiceActivatorContext ( ) { @ Override public ServiceTarget getServiceTarget ( ) { return serviceTarget ; } @ Override public ServiceRegistry getServiceRegistry ( ) { return container ; } } ; for ( ServiceActivator activator : extraServices ) { activator . activate ( serviceActivatorContext ) ; } ServerEnvironmentService . addService ( serverEnvironment , serviceTarget ) ; ServerPathManagerService serverPathManagerService = new ServerPathManagerService ( ) ; ServerPathManagerService . addService ( serviceTarget , serverPathManagerService , serverEnvironment ) ; if ( ServerLogger . AS_ROOT_LOGGER . isDebugEnabled ( ) ) { final long nanos = context . getElapsedTime ( ) ; ServerLogger . AS_ROOT_LOGGER . debugf ( ( prettyVersion + "<seq2seq4repair_space>root<seq2seq4repair_space>service<seq2seq4repair_space>started<seq2seq4repair_space>in<seq2seq4repair_space>%d.%06d<seq2seq4repair_space>ms" ) , Long . valueOf ( ( nanos // 1000000L ) ) , Long . valueOf ( ( nanos % 1000000L ) ) ) ; } } @ Override public synchronized void stop ( final StopContext context ) { } @ Override public AsyncFuture < ServiceContainer > getValue ( ) throws IllegalArgumentException , IllegalStateException { } private String getVMArguments ( ) { } private static < S > S service ( final Class < S > service ) { } }

Fix:
serviceTarget . addListener ( bootstrapListener ) ;