Buggy code:
} else if ( "-jar" . equals ( arg ) ) { bootJar = args [ ( ++ i ) ] ; } else if ( "-logmodule" . equals ( arg ) ) { logModule = args [ ( ++ i ) ] ; } else if ( "-jaxpmodule" . equals ( arg ) ) { jaxpModule = args [ ( ++ i ) ] ; } else if ( "--" . equals ( arg ) ) { for ( i ++ ; i < ( args . length ) ; i ++ ) { arg = args [ i ] ; if ( "--" . equals ( arg ) ) { for ( i ++ ; i < ( args . length ) ; i ++ ) { arg = args [ i ] ; if ( ( ( HELP . equals ( arg ) ) || ( SHORT_HELP . equals ( arg ) ) ) || ( OLD_HELP . equals ( arg ) ) ) { Main . usage ( ) ; return null ; } else if ( ( ( VERSION . equals ( arg ) ) || ( SHORT_VERSION . equals ( arg ) ) ) || ( OLD_VERSION . equals ( arg ) ) ) { System . out . println ( ( "\nJBoss<seq2seq4repair_space>Application<seq2seq4repair_space>Server<seq2seq4repair_space>" + ( Main . getVersionString ( ) ) ) ) ; return null ; } else if ( pcSocketConfig . processPCSocketConfigArgument ( arg , args , i ) ) { if ( pcSocketConfig . isParseFailed ( ) ) { return null ; } i += pcSocketConfig . getArgIncrement ( ) ; } else { smOptions . add ( arg ) ; } } break OUT ; } else if ( pcSocketConfig . processPCSocketConfigArgument ( arg , args , i ) ) { if ( pcSocketConfig . isParseFailed ( ) ) { return null ; } i += pcSocketConfig . getArgIncrement ( ) ; } else { javaOptions . add ( arg ) ; } } break OUT ; } else if ( pcSocketConfig . processPCSocketConfigArgument ( arg , args , i ) ) { if ( pcSocketConfig . isParseFailed ( ) ) { return null ; } i += pcSocketConfig . getArgIncrement ( ) ; } else { throw ProcessMessages . MESSAGES . invalidOption ( arg ) ; } } if ( modulePath == null ) { modulePath = SecurityActions . getSystemProperty ( "jboss.module.path" , ( ( jbossHome + ( File . separator ) ) + "modules" ) ) ; } if ( bootJar == null ) { bootJar = ( jbossHome + ( File . separator ) ) + "jboss-modules.jar" ; } Handler consoleHandler = null ; final Logger rootLogger = Logger . getLogger ( "" ) ; for ( Handler handler : rootLogger . getHandlers ( ) ) { if ( handler instanceof ConsoleHandler ) { if ( consoleHandler != null ) { rootLogger . removeHandler ( handler ) ; } else { consoleHandler = handler ; ( ( ConsoleHandler ) ( consoleHandler ) ) . setWriter ( new SynchronizedWriter ( System . out ) ) ; } } } final ProtocolServer . Configuration configuration = new ProtocolServer . Configuration ( ) ; configuration . setBindAddress ( new InetSocketAddress ( pcSocketConfig . getBindAddress ( ) , pcSocketConfig . getBindPort ( ) ) ) ; configuration . setSocketFactory ( ServerSocketFactory . getDefault ( ) ) ; final ThreadFactory threadFactory = new JBossThreadFactory ( new ThreadGroup ( "ProcessController-threads" ) , Boolean . FALSE , null , "%G<seq2seq4repair_space>-<seq2seq4repair_space>%t" , null , null , AccessController . getContext ( ) ) ; configuration . setThreadFactory ( threadFactory ) ; configuration . setReadExecutor ( Executors . newCachedThreadPool ( threadFactory ) ) ; final ProcessController processController = new ProcessController ( configuration , System . out , System . err ) ; final InetSocketAddress boundAddress = processController . getServer ( ) . getBoundAddress ( ) ; final List < String > initialCommand = new ArrayList < String > ( ) ; initialCommand . add ( jvmName ) ; initialCommand . addAll ( javaOptions ) ; initialCommand . add ( "-jar" ) ; initialCommand . add ( bootJar ) ; initialCommand . add ( "-mp" ) ; initialCommand . add ( modulePath ) ; initialCommand . add ( "-logmodule" ) ; initialCommand . add ( logModule ) ; initialCommand . add ( "-jaxpmodule" ) ; initialCommand . add ( jaxpModule ) ; initialCommand . add ( bootModule ) ; initialCommand . add ( PROCESS_CONTROLLER_BIND_ADDR ) ; initialCommand . add ( boundAddress . getHostName ( ) ) ; initialCommand . add ( PROCESS_CONTROLLER_BIND_PORT ) ; initialCommand . add ( Integer . toString ( boundAddress . getPort ( ) ) ) ; initialCommand . addAll ( smOptions ) ; initialCommand . add ( ( ( "-D" + "jboss.home.dir=" ) + jbossHome ) ) ; <START_BUG> processController . addProcess ( Main . HOST_CONTROLLER_PROCESS_NAME , initialCommand , Collections . < String , String > emptyMap ( ) , currentWorkingDir , true ) ; <END_BUG> processController . startProcess ( Main . HOST_CONTROLLER_PROCESS_NAME ) ; final Thread shutdownThread = new Thread ( new Runnable ( ) { public void run ( ) { processController . shutdown ( ) ; } } , "Shutdown<seq2seq4repair_space>thread" ) ; shutdownThread . setDaemon ( false ) ; Runtime . getRuntime ( ) . addShutdownHook ( shutdownThread ) ; return processController ; } private static String parseValue ( final String arg , final String key ) { } private static class PCSocketConfig { private String bindAddress ; private int bindPort = 0 ; private int argIncrement = 0 ; private boolean parseFailed ; private PCSocketConfig ( ) { } private String getBindAddress ( ) { } private int getBindPort ( ) { } private int getArgIncrement ( ) { } private boolean isParseFailed ( ) { } private boolean processPCSocketConfigArgument ( final String arg , final String [ ] args , final int index ) { } } }

Fix:
processController . addProcess ( Main . HOST_CONTROLLER_PROCESS_NAME , initialCommand , Collections . < String , String > emptyMap ( ) , currentWorkingDir , true , true ) ;