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 }
|