hotspot/test/compiler/7068051/Test7068051.java
changeset 10541 d6e8b9d3d362
child 27640 3eab5c5bf81a
equal deleted inserted replaced
10540:92d59dba2407 10541:d6e8b9d3d362
       
     1 /*
       
     2  * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
       
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
       
     4  *
       
     5  * This code is free software; you can redistribute it and/or modify it
       
     6  * under the terms of the GNU General Public License version 2 only, as
       
     7  * published by the Free Software Foundation.
       
     8  *
       
     9  * This code is distributed in the hope that it will be useful, but WITHOUT
       
    10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
       
    11  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
       
    12  * version 2 for more details (a copy is included in the LICENSE file that
       
    13  * accompanied this code).
       
    14  *
       
    15  * You should have received a copy of the GNU General Public License version
       
    16  * 2 along with this work; if not, write to the Free Software Foundation,
       
    17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
       
    18  *
       
    19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
       
    20  * or visit www.oracle.com if you need additional information or have any
       
    21  * questions.
       
    22  *
       
    23  */
       
    24 
       
    25 /**
       
    26  * @test
       
    27  * @bug 7068051
       
    28  * @summary SIGSEGV in PhaseIdealLoop::build_loop_late_post on T5440
       
    29  *
       
    30  * @run shell/timeout=300 Test7068051.sh
       
    31  */
       
    32 
       
    33 import java.io.*;
       
    34 import java.nio.*;
       
    35 import java.util.*;
       
    36 import java.util.zip.*;
       
    37 
       
    38 public class Test7068051 {
       
    39 
       
    40     public static void main (String[] args) throws Throwable {
       
    41 
       
    42         ZipFile zf = new ZipFile(args[0]);
       
    43 
       
    44         Enumeration<? extends ZipEntry> entries = zf.entries();
       
    45         ArrayList<String> names = new ArrayList<String>();
       
    46         while (entries.hasMoreElements()) {
       
    47             names.add(entries.nextElement().getName());
       
    48         }
       
    49 
       
    50         byte[] bytes = new byte[16];
       
    51         for (String name : names) {
       
    52             ZipEntry e = zf.getEntry(name);
       
    53 
       
    54             if (e.isDirectory())
       
    55                 continue;
       
    56 
       
    57             final InputStream is = zf.getInputStream(e);
       
    58 
       
    59             try  {
       
    60                 while (is.read(bytes) >= 0) {
       
    61                 }
       
    62                 is.close();
       
    63 
       
    64             } catch (IOException x) {
       
    65                  System.out.println("..................................");
       
    66                  System.out.println("          -->  is :" + is);
       
    67                  System.out.println("          is.hash :" + is.hashCode());
       
    68                  System.out.println();
       
    69                  System.out.println("           e.name :" + e.getName());
       
    70                  System.out.println("           e.hash :" + e.hashCode());
       
    71                  System.out.println("         e.method :" + e.getMethod());
       
    72                  System.out.println("           e.size :" + e.getSize());
       
    73                  System.out.println("          e.csize :" + e.getCompressedSize());
       
    74 
       
    75                  x.printStackTrace();
       
    76                  System.out.println("..................................");
       
    77                  System.exit(97);
       
    78             }
       
    79         }
       
    80         zf.close();
       
    81     }
       
    82 }