test/compiler/7068051/Test7068051.java

Mon, 28 Jul 2014 15:06:38 -0700

author
fzhinkin
date
Mon, 28 Jul 2014 15:06:38 -0700
changeset 6997
dbb05f6d93c4
parent 0
f90c822e73f8
permissions
-rw-r--r--

8051344: JVM crashed in Compile::start() during method parsing w/ UseRTMDeopt turned on
Summary: call rtm_deopt() only if there were no compilation bailouts before.
Reviewed-by: kvn

     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  */
    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  */
    33 import java.io.*;
    34 import java.nio.*;
    35 import java.util.*;
    36 import java.util.zip.*;
    38 public class Test7068051 {
    40     public static void main (String[] args) throws Throwable {
    42         ZipFile zf = new ZipFile(args[0]);
    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         }
    50         byte[] bytes = new byte[16];
    51         for (String name : names) {
    52             ZipEntry e = zf.getEntry(name);
    54             if (e.isDirectory())
    55                 continue;
    57             final InputStream is = zf.getInputStream(e);
    59             try  {
    60                 while (is.read(bytes) >= 0) {
    61                 }
    62                 is.close();
    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());
    75                  x.printStackTrace();
    76                  System.out.println("..................................");
    77                  System.exit(97);
    78             }
    79         }
    80         zf.close();
    81     }
    82 }

mercurial