Buggy code:
public class ProcessesManager implements RemoteProcessesManager { private static boolean verbose = false ; public static boolean CLEAN_PROCESSES = true ; public static final int START_WAIT_TIME = 1000 ; public static String JAVA_CMD = "java<seq2seq4repair_space>" ; public static Hashtable processes = new Hashtable ( ) ; public static Hashtable commands = new Hashtable ( ) ; public static Hashtable directories = new Hashtable ( ) ; private static int idIcrement = 0 ; public ProcessesManager ( ) throws RemoteException { } public ProcessesManager ( boolean cleanb , boolean vb ) throws RemoteException { } private synchronized String getNewID ( ) { } private void cleanProcess ( String id ) { } private void recursiveRemoveDir ( File dir ) { } private File createDir ( String dir ) throws ProcessException { } protected String getProcessOutput ( Process p ) { } protected String getProcessError ( Process p ) { } public String startJVM ( JVMConfiguration jvmConf , String [ ] envp ) throws RemoteException , ProcessException { } public String startJVM ( JVMConfiguration jvmConf , String [ ] envp , String processDir ) throws RemoteException , ProcessException { } public void startJVM ( JVMConfiguration jvmConf , String [ ] envp , String processDir , String id ) throws RemoteException , ProcessException { } public String startProcess ( String processLine , String [ ] envp ) throws RemoteException , ProcessException { } public String startProcess ( String processLine , String [ ] envp , String processDir ) throws RemoteException , ProcessException { } public void startProcess ( String processLine , String [ ] envp , String processDir , String id ) throws RemoteException , ProcessException { } public synchronized void killProcess ( String id ) throws RemoteException , ProcessException { } public synchronized void killAllProcesses ( ) throws RemoteException { } public synchronized boolean pingProcess ( String id ) throws RemoteException , ProcessException { } public int getProcessExitValue ( String id ) throws RemoteException , ProcessException { } public String getProcessCommand ( String id ) throws RemoteException , ProcessException { } public String getProcessDirectory ( String id ) throws RemoteException , ProcessException { } public Hashtable getAllProcess ( ) throws RemoteException { } public String readProcessOutput ( String id ) throws RemoteException , ProcessException { } public String readProcessError ( String id ) throws RemoteException , ProcessException { } public void writeProcessInput ( String id , String s ) throws RemoteException , ProcessException { } public void sendFile ( String dirName , String fileName , byte [ ] b ) throws RemoteException { } public void stop ( ) throws RemoteException { } public class ProcessStopThread extends Thread { Process process ; String processID ; ProcessStopThread ( Process p , String id ) { } public void run ( ) { try { process . waitFor ( ) ; if ( ProcessesManager . verbose ) { System . out . println ( ( "Stopping<seq2seq4repair_space>process<seq2seq4repair_space>" + ( processID ) ) ) ; System . out . println ( "Error:" ) ; System . out . println ( getProcessError ( process ) ) ; System . out . println ( "Output:" ) ; System . out . println ( getProcessOutput ( process ) ) ; } synchronized ( this ) { cleanProcess ( processID ) ; } } catch ( Exception ie ) { <START_BUG> ie . printStackTrace ( ) ; <END_BUG> } } } }

Fix:
System . out . println ( ( "error<seq2seq4repair_space>in<seq2seq4repair_space>run<seq2seq4repair_space>" + ie ) ) ;