Buggy code:
final class ServerControllerService implements Service < ServerController > { public static final ServiceName JBOSS_AS_NAME = JBOSS . append ( "as" ) ; private static final Logger log = Logger . getLogger ( "org.jboss.as.server" ) ; private final Configuration configuration ; private final List < ServiceActivator > extraServices ; private DeploymentModuleLoader deploymentModuleLoader ; private ServerController serverController ; private Set < ServiceName > bootServices ; public ServerControllerService ( final Bootstrap . Configuration configuration , final List < ServiceActivator > extraServices ) { } public synchronized void start ( final StartContext context ) throws StartException { final ServiceContainer container = context . getController ( ) . getServiceContainer ( ) ; <START_BUG> final TrackingServiceTarget serviceTarget = new TrackingServiceTarget ( container ) ; <END_BUG> serviceTarget . addDependency ( context . getController ( ) . getName ( ) ) ; final DelegatingServiceRegistry serviceRegistry = new DelegatingServiceRegistry ( container ) ; final Bootstrap . Configuration configuration = this . configuration ; final ServerEnvironment serverEnvironment = configuration . getServerEnvironment ( ) ; final int threads = ( ( int ) ( ( Runtime . getRuntime ( ) . availableProcessors ( ) ) * 1.5F ) ) ; final ExecutorService executor = new ThreadPoolExecutor ( threads , threads , Long . MAX_VALUE , TimeUnit . NANOSECONDS , new LinkedBlockingQueue < Runnable > ( ) ) ; container . setExecutor ( executor ) ; serverEnvironment . install ( ) ; final ServiceActivatorContext serviceActivatorContext = new ServiceActivatorContext ( ) { public ServiceTarget getServiceTarget ( ) { return serviceTarget ; } public ServiceRegistry getServiceRegistry ( ) { return container ; } } ; for ( ServiceActivator activator : extraServices ) { activator . activate ( serviceActivatorContext ) ; } final ServerModel serverModel = new ServerModel ( serverEnvironment . getServerName ( ) , configuration . getPortOffset ( ) ) ; final ServerConfigurationPersister persister = configuration . getConfigurationPersister ( ) ; final ServerControllerImpl serverController = new ServerControllerImpl ( serverModel , container , serverEnvironment , persister , executor ) ; final List < AbstractServerModelUpdate < ? > > updates ; try { updates = persister . load ( serverController ) ; } catch ( Exception e ) { throw new StartException ( e ) ; } final EnumMap < Phase , SortedSet < ServerControllerService . RegisteredProcessor > > deployers = new EnumMap < Phase , SortedSet < ServerControllerService . RegisteredProcessor > > ( Phase . class ) ; for ( Phase phase : Phase . values ( ) ) { deployers . put ( phase , new ConcurrentSkipListSet < ServerControllerService . RegisteredProcessor > ( ) ) ; } final BootUpdateContext bootUpdateContext = new BootUpdateContext ( ) { public ServiceTarget getServiceTarget ( ) { return serviceTarget ; } public ServiceRegistry getServiceRegistry ( ) { return serviceRegistry ; } public void addDeploymentProcessor ( final Phase phase , final int priority , final DeploymentUnitProcessor processor ) { if ( phase == null ) { throw new IllegalArgumentException ( "phase<seq2seq4repair_space>is<seq2seq4repair_space>null" ) ; } if ( processor == null ) { throw new IllegalArgumentException ( "processor<seq2seq4repair_space>is<seq2seq4repair_space>null" ) ; } if ( priority < 0 ) { throw new IllegalArgumentException ( "priority<seq2seq4repair_space>is<seq2seq4repair_space>invalid<seq2seq4repair_space>(must<seq2seq4repair_space>be<seq2seq4repair_space>>=<seq2seq4repair_space>0)" ) ; } deployers . get ( phase ) . add ( new ServerControllerService . RegisteredProcessor ( priority , processor ) ) ; } public ServerEnvironment getServerEnvironment ( ) { return serverEnvironment ; } } ; ServerControllerService . log . info ( "Activating<seq2seq4repair_space>core<seq2seq4repair_space>services" ) ; ShutdownHandlerImpl . addService ( serviceTarget ) ; ServerEnvironmentServices . addServices ( serverEnvironment , serviceTarget ) ; serviceTarget . addService ( SERVICE_NAME , new Service < ServerModel > ( ) { public void start ( StartContext context ) throws StartException { } public void stop ( StopContext context ) { } public ServerModel getValue ( ) throws IllegalArgumentException , IllegalStateException { return serverModel ; } } ) . install ( ) ; serviceTarget . addService ( SOCKET_BINDING_MANAGER , new org . jboss . as . server . services . net . SocketBindingManagerService ( configuration . getPortOffset ( ) ) ) . setInitialMode ( ON_DEMAND ) . install ( ) ; serverController . applyUpdates ( updates , false , true ) ; for ( AbstractServerModelUpdate < ? > update : updates ) { update . applyUpdateBootAction ( bootUpdateContext ) ; } serviceTarget . addService ( ServerDeploymentRepository . SERVICE_NAME , new org . jboss . as . server . deployment . impl . ServerDeploymentRepositoryImpl ( serverEnvironment . getServerDeployDir ( ) , serverEnvironment . getServerSystemDeployDir ( ) ) ) . install ( ) ; deploymentModuleLoader = new org . jboss . as . server . deployment . module . DeploymentModuleLoaderImpl ( configuration . getModuleLoader ( ) ) ; deployers . get ( MODULARIZE ) . add ( new ServerControllerService . RegisteredProcessor ( Phase . MODULARIZE_DEPLOYMENT_MODULE_LOADER , new DeploymentUnitProcessor ( ) { public void deploy ( DeploymentPhaseContext phaseContext ) throws DeploymentUnitProcessingException { phaseContext . getDeploymentUnit ( ) . putAttachment ( DEPLOYMENT_MODULE_LOADER , deploymentModuleLoader ) ; } public void undeploy ( DeploymentUnit context ) { context . removeAttachment ( DEPLOYMENT_MODULE_LOADER ) ; } } ) ) ; deployers . get ( PARSE ) . add ( new ServerControllerService . RegisteredProcessor ( Phase . PARSE_MANIFEST , new ManifestAttachmentProcessor ( ) ) ) ; deployers . get ( PARSE ) . add ( new ServerControllerService . RegisteredProcessor ( Phase . PARSE_CLASS_PATH , new ManifestClassPathProcessor ( ) ) ) ; deployers . get ( PARSE ) . add ( new ServerControllerService . RegisteredProcessor ( Phase . PARSE_EXTENSION_LIST , new ManifestExtensionListProcessor ( ) ) ) ; deployers . get ( PARSE ) . add ( new ServerControllerService . RegisteredProcessor ( Phase . PARSE_ANNOTATION_INDEX , new AnnotationIndexProcessor ( ) ) ) ; deployers . get ( DEPENDENCIES ) . add ( new ServerControllerService . RegisteredProcessor ( Phase . DEPENDENCIES_MODULE , new ModuleDependencyProcessor ( ) ) ) ; deployers . get ( MODULARIZE ) . add ( new ServerControllerService . RegisteredProcessor ( Phase . MODULARIZE_DEPLOYMENT , new ModuleDeploymentProcessor ( ) ) ) ;

Fix:
final TrackingServiceTarget serviceTarget = new TrackingServiceTarget ( container . subTarget ( ) ) ;