Buggy code:
static String topSpecialProps = "" ; static String otherSpecialProps = "" ; static String ijdefaultResourcePackage ; static String outcopy ; static String userdir ; static String mtestdir ; static boolean verbose = false ; static String reportstderr ; static String timeout ; static String shutdownurl ; static PrintWriter pwOut ; static String outputdir ; static String topsuitedir ; static String topreportdir ; static String canondir ; static String bootcp ; static String serverJvm ; static String serverJvmName ; static File outDir ; static File outFile ; static File runDir ; static File runFile ; static Properties suiteProperties ; static Properties specialProperties ; static BufferedReader runlistFile ; static String hostName ; static String testEncoding ; static String [ ] clientExclusionKeywords = new String [ ] { "at-or-before:" , "at-or-after:" , "when-at-or-before:jdk" , "when-at-or-after:jdk" , "when:jdk" } ; public RunList ( ) { } public RunList ( Vector suitesToRun , File runDir , File outDir , PrintWriter pwOut , Properties suiteProperties , Properties specialProperties , String topParentSuite ) throws IOException , ClassNotFoundException , Exception { } private static void runSuites ( Vector suitesToRun ) throws FileNotFoundException , IOException , ClassNotFoundException , Exception { String suiteName = "" ; RunList . userdir = System . getProperty ( "user.dir" ) ; Properties p = null ; RunList . setTopSuiteProperties ( ) ; Properties topParentSuiteProps = RunList . locateSuiteProperties ( RunList . topParentSuite , RunList . suiteProperties , true , true ) ; RunList . setSuiteProperties ( topParentSuiteProps , RunList . topParentSuite , RunList . suiteProperties , true , true ) ; for ( int i = 0 ; i < ( suitesToRun . size ( ) ) ; i ++ ) { Properties subProps = null ; RunList . fullsuiteName = ( ( String ) ( suitesToRun . elementAt ( i ) ) ) ; String subSuite = RunList . fullsuiteName . substring ( 0 , RunList . fullsuiteName . lastIndexOf ( ":" ) ) ; if ( ! ( subSuite . equals ( RunList . topParentSuite ) ) ) { subProps = RunList . locateSuiteProperties ( subSuite , topParentSuiteProps , true , false ) ; } else { subProps = topParentSuiteProps ; } RunList . setSuiteProperties ( subProps , subSuite , topParentSuiteProps , true , false ) ; suiteName = RunList . fullsuiteName . substring ( ( ( RunList . fullsuiteName . lastIndexOf ( ":" ) ) + 1 ) ) ; p = RunList . locateSuiteProperties ( suiteName , subProps , false , false ) ; RunList . setSuiteProperties ( p , suiteName , subProps , false , false ) ; String runfile = ( ( "suites" + '//' ) + suiteName ) + ".runall" ; InputStream is = org . apache . derbyTesting . functionTests . harness . RunTest . loadTestResource ( runfile ) ; if ( is == null ) { is = org . apache . derbyTesting . functionTests . harness . RunTest . loadTestResource ( ( ( ( ( RunList . userdir ) + '//' ) + suiteName ) + ".runall" ) ) ; } if ( is == null ) { System . out . println ( ( "Suite<seq2seq4repair_space>runall<seq2seq4repair_space>file<seq2seq4repair_space>not<seq2seq4repair_space>found<seq2seq4repair_space>for<seq2seq4repair_space>" + suiteName ) ) ; continue ; } <START_BUG> RunList . runlistFile = new BufferedReader ( new InputStreamReader ( is ) ) ; <END_BUG> if ( ( RunList . runlistFile ) == null ) { System . out . println ( "The<seq2seq4repair_space>suite<seq2seq4repair_space>runall<seq2seq4repair_space>file<seq2seq4repair_space>could<seq2seq4repair_space>not<seq2seq4repair_space>be<seq2seq4repair_space>read." ) ; } else { String startTime = CurrentTime . getTime ( ) ; RunList . pwOut . println ( ( ( ( ( ( ( "****<seq2seq4repair_space>Start<seq2seq4repair_space>SubSuite:<seq2seq4repair_space>" + ( RunList . fullsuiteName ) ) + "<seq2seq4repair_space>jdk" ) + ( RunList . javaVersion ) ) + "<seq2seq4repair_space>" ) + startTime ) + "<seq2seq4repair_space>****" ) ) ; if ( ( ( RunList . framework ) != null ) && ( ( RunList . framework . length ( ) ) > 0 ) ) { RunList . pwOut . println ( ( "Framework:<seq2seq4repair_space>" + ( RunList . framework ) ) ) ; } else RunList . pwOut . println ( "Framework:<seq2seq4repair_space>No<seq2seq4repair_space>special<seq2seq4repair_space>framework." ) ; File f = new File ( RunList . outDir , RunList . topSuiteName ) ; File skipFile = new File ( f , ( ( RunList . topSuiteName ) + ".skip" ) ) ; PrintStream ps = null ; try { ps = new PrintStream ( new FileOutputStream ( skipFile . getCanonicalPath ( ) , true ) ) ; } catch ( IOException e ) { FileWriter fw = new FileWriter ( skipFile ) ; fw . close ( ) ; ps = new PrintStream ( new FileOutputStream ( skipFile . getCanonicalPath ( ) , true ) ) ; } System . out . println ( "Now<seq2seq4repair_space>run<seq2seq4repair_space>the<seq2seq4repair_space>suite's<seq2seq4repair_space>tests" ) ; if ( RunList . skip ) { RunList . addToSkipFile ( ( ( ( RunList . topSuiteName ) + ":" ) + ( RunList . fullsuiteName ) ) , ps ) ; if ( RunList . driverNotFound ) RunList . pwOut . println ( "Cannot<seq2seq4repair_space>run<seq2seq4repair_space>the<seq2seq4repair_space>suite,<seq2seq4repair_space>framework<seq2seq4repair_space>driver<seq2seq4repair_space>not<seq2seq4repair_space>found" ) ; else if ( RunList . needSync ) RunList . pwOut . println ( "Cannot<seq2seq4repair_space>run<seq2seq4repair_space>the<seq2seq4repair_space>suite,<seq2seq4repair_space>sync<seq2seq4repair_space>product<seq2seq4repair_space>not<seq2seq4repair_space>found" ) ; else if ( RunList . needJdk12ext ) RunList . pwOut . println ( "Cannot<seq2seq4repair_space>run<seq2seq4repair_space>the<seq2seq4repair_space>suite,<seq2seq4repair_space>requires<seq2seq4repair_space>jdk12<seq2seq4repair_space>or<seq2seq4repair_space>higher<seq2seq4repair_space>with<seq2seq4repair_space>extensions" ) ; else if ( RunList . needJdk12 ) RunList . pwOut . println ( ( "Cannot<seq2seq4repair_space>run<seq2seq4repair_space>the<seq2seq4repair_space>suite,<seq2seq4repair_space>requires<seq2seq4repair_space>jdk12<seq2seq4repair_space>or<seq2seq4repair_space>higher,<seq2seq4repair_space>have<seq2seq4repair_space>jdk" + ( RunList . javaVersion ) ) ) ; else if ( RunList . excludedFromJCC ) RunList . pwOut . println ( RunList . clientExclusionMessage ) ; else if ( ( ( RunList . needIBMjvm ) == null ) || ( ( RunList . needIBMjvm . booleanValue ( ) ) == false ) ) RunList . pwOut . println ( ( "Cannot<seq2seq4repair_space>run<seq2seq4repair_space>the<seq2seq4repair_space>suite,<seq2seq4repair_space>requires<seq2seq4repair_space>IBM<seq2seq4repair_space>jvm,<seq2seq4repair_space>jvm<seq2seq4repair_space>vendor<seq2seq4repair_space>is<seq2seq4repair_space>" + ( System . getProperty ( "java.vendor" ) ) ) ) ; else RunList . pwOut . println ( ( "Cannot<seq2seq4repair_space>run<seq2seq4repair_space>the<seq2seq4repair_space>suite,<seq2seq4repair_space>have<seq2seq4repair_space>jdk" + ( RunList . javaVersion ) ) ) ; } else { System . out . println ( "Run<seq2seq4repair_space>the<seq2seq4repair_space>tests..." ) ; if ( ( RunList . jarfile ) != null ) { UnJar uj = new UnJar ( ) ;

Fix:
RunList . runlistFile = new BufferedReader ( new InputStreamReader ( is , "UTF-8" ) ) ;