< prev index next >

test/java/io/readBytes/MemoryLeak.java

Print this page
rev 10985 : [mq]: 8061549


  23 
  24 /*
  25  * @test
  26  * @bug 6791458
  27  * @summary Reading from closed input files leaks native memory
  28  */
  29 
  30 import java.io.*;
  31 
  32 public class MemoryLeak {
  33     public static void main(String[] args) throws Throwable {
  34         byte[] bytes = new byte[1 << 20];
  35         String dir = System.getProperty("test.src", ".");
  36         File testFile = new File(dir, "input.txt");
  37         FileInputStream s = new FileInputStream(testFile);
  38         s.close();
  39         for (int i = 0; i < 10000; i++) {
  40             try {
  41                 s.read(bytes);
  42                 throw new Error("expected IOException");
  43             } catch (IOException _) {
  44                 /* OK */
  45             } catch (OutOfMemoryError oome) {
  46                 System.out.printf("Got OutOfMemoryError, i=%d%n", i);
  47                 throw oome;
  48             }
  49         }
  50     }
  51 }


  23 
  24 /*
  25  * @test
  26  * @bug 6791458
  27  * @summary Reading from closed input files leaks native memory
  28  */
  29 
  30 import java.io.*;
  31 
  32 public class MemoryLeak {
  33     public static void main(String[] args) throws Throwable {
  34         byte[] bytes = new byte[1 << 20];
  35         String dir = System.getProperty("test.src", ".");
  36         File testFile = new File(dir, "input.txt");
  37         FileInputStream s = new FileInputStream(testFile);
  38         s.close();
  39         for (int i = 0; i < 10000; i++) {
  40             try {
  41                 s.read(bytes);
  42                 throw new Error("expected IOException");
  43             } catch (IOException ignore) {
  44                 /* OK */
  45             } catch (OutOfMemoryError oome) {
  46                 System.out.printf("Got OutOfMemoryError, i=%d%n", i);
  47                 throw oome;
  48             }
  49         }
  50     }
  51 }
< prev index next >