Mercurial > hg > truffle
annotate test/runtime/6888954/vmerrors.sh @ 12986:1b422ef5288a
8025728: Missing volatile specifier for field G1AllocRegion::_alloc_region
Summary: The field G1AllocRegion::_alloc_region needs to be declared volatile as it is used with that intention. Otherwise the compiler may generate the code that reloads the value which might have changed in the meantime, leading to spurious crashes.
Reviewed-by: iveresov, simonis, tschatzl
Contributed-by: Axel Siebenborn <axel.siebenborn@sap.com>
author | tschatzl |
---|---|
date | Wed, 23 Oct 2013 10:23:06 +0200 |
parents | cc4f5f8d885e |
children |
rev | line source |
---|---|
12822
cc4f5f8d885e
8023796: [TESTBUG] Add -XX:-TransmitErrorReport to runtime/6888954/vmerrors.sh
mseledtsov
parents:
11092
diff
changeset
|
1 # Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. |
cc4f5f8d885e
8023796: [TESTBUG] Add -XX:-TransmitErrorReport to runtime/6888954/vmerrors.sh
mseledtsov
parents:
11092
diff
changeset
|
2 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
cc4f5f8d885e
8023796: [TESTBUG] Add -XX:-TransmitErrorReport to runtime/6888954/vmerrors.sh
mseledtsov
parents:
11092
diff
changeset
|
3 # |
cc4f5f8d885e
8023796: [TESTBUG] Add -XX:-TransmitErrorReport to runtime/6888954/vmerrors.sh
mseledtsov
parents:
11092
diff
changeset
|
4 # This code is free software; you can redistribute it and/or modify it |
cc4f5f8d885e
8023796: [TESTBUG] Add -XX:-TransmitErrorReport to runtime/6888954/vmerrors.sh
mseledtsov
parents:
11092
diff
changeset
|
5 # under the terms of the GNU General Public License version 2 only, as |
cc4f5f8d885e
8023796: [TESTBUG] Add -XX:-TransmitErrorReport to runtime/6888954/vmerrors.sh
mseledtsov
parents:
11092
diff
changeset
|
6 # published by the Free Software Foundation. |
cc4f5f8d885e
8023796: [TESTBUG] Add -XX:-TransmitErrorReport to runtime/6888954/vmerrors.sh
mseledtsov
parents:
11092
diff
changeset
|
7 # |
cc4f5f8d885e
8023796: [TESTBUG] Add -XX:-TransmitErrorReport to runtime/6888954/vmerrors.sh
mseledtsov
parents:
11092
diff
changeset
|
8 # This code is distributed in the hope that it will be useful, but WITHOUT |
cc4f5f8d885e
8023796: [TESTBUG] Add -XX:-TransmitErrorReport to runtime/6888954/vmerrors.sh
mseledtsov
parents:
11092
diff
changeset
|
9 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
cc4f5f8d885e
8023796: [TESTBUG] Add -XX:-TransmitErrorReport to runtime/6888954/vmerrors.sh
mseledtsov
parents:
11092
diff
changeset
|
10 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
cc4f5f8d885e
8023796: [TESTBUG] Add -XX:-TransmitErrorReport to runtime/6888954/vmerrors.sh
mseledtsov
parents:
11092
diff
changeset
|
11 # version 2 for more details (a copy is included in the LICENSE file that |
cc4f5f8d885e
8023796: [TESTBUG] Add -XX:-TransmitErrorReport to runtime/6888954/vmerrors.sh
mseledtsov
parents:
11092
diff
changeset
|
12 # accompanied this code). |
cc4f5f8d885e
8023796: [TESTBUG] Add -XX:-TransmitErrorReport to runtime/6888954/vmerrors.sh
mseledtsov
parents:
11092
diff
changeset
|
13 # |
cc4f5f8d885e
8023796: [TESTBUG] Add -XX:-TransmitErrorReport to runtime/6888954/vmerrors.sh
mseledtsov
parents:
11092
diff
changeset
|
14 # You should have received a copy of the GNU General Public License version |
cc4f5f8d885e
8023796: [TESTBUG] Add -XX:-TransmitErrorReport to runtime/6888954/vmerrors.sh
mseledtsov
parents:
11092
diff
changeset
|
15 # 2 along with this work; if not, write to the Free Software Foundation, |
cc4f5f8d885e
8023796: [TESTBUG] Add -XX:-TransmitErrorReport to runtime/6888954/vmerrors.sh
mseledtsov
parents:
11092
diff
changeset
|
16 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. |
cc4f5f8d885e
8023796: [TESTBUG] Add -XX:-TransmitErrorReport to runtime/6888954/vmerrors.sh
mseledtsov
parents:
11092
diff
changeset
|
17 # |
cc4f5f8d885e
8023796: [TESTBUG] Add -XX:-TransmitErrorReport to runtime/6888954/vmerrors.sh
mseledtsov
parents:
11092
diff
changeset
|
18 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
cc4f5f8d885e
8023796: [TESTBUG] Add -XX:-TransmitErrorReport to runtime/6888954/vmerrors.sh
mseledtsov
parents:
11092
diff
changeset
|
19 # or visit www.oracle.com if you need additional information or have any |
cc4f5f8d885e
8023796: [TESTBUG] Add -XX:-TransmitErrorReport to runtime/6888954/vmerrors.sh
mseledtsov
parents:
11092
diff
changeset
|
20 # questions. |
cc4f5f8d885e
8023796: [TESTBUG] Add -XX:-TransmitErrorReport to runtime/6888954/vmerrors.sh
mseledtsov
parents:
11092
diff
changeset
|
21 # |
cc4f5f8d885e
8023796: [TESTBUG] Add -XX:-TransmitErrorReport to runtime/6888954/vmerrors.sh
mseledtsov
parents:
11092
diff
changeset
|
22 |
1490 | 23 # @test |
24 # @bug 6888954 | |
11092
59b052799158
8015884: runThese crashed with SIGSEGV, hs_err has an error instead of stacktrace
dcubed
parents:
1592
diff
changeset
|
25 # @bug 8015884 |
1490 | 26 # @summary exercise HotSpot error handling code |
27 # @author John Coomes | |
28 # @run shell vmerrors.sh | |
29 | |
30 # Repeatedly invoke java with a command-line option that causes HotSpot to | |
31 # produce an error report and terminate just after initialization. Each | |
32 # invocation is identified by a small integer, <n>, which provokes a different | |
33 # error (assertion failure, guarantee failure, fatal error, etc.). The output | |
34 # from stdout/stderr is written to <n>.out and the hs_err_pidXXX.log file is | |
35 # renamed to <n>.log. | |
36 # | |
37 # The automated checking done by this script is minimal. When updating the | |
38 # fatal error handler it is more useful to run it manually or to use the -retain | |
39 # option with the jtreg so that test directories are not removed automatically. | |
40 # To run stand-alone: | |
41 # | |
42 # TESTJAVA=/java/home/dir | |
43 # TESTVMOPTS=... | |
44 # export TESTJAVA TESTVMOPTS | |
45 # sh test/runtime/6888954/vmerrors.sh | |
46 | |
47 ulimit -c 0 # no core files | |
48 | |
49 i=1 | |
50 rc=0 | |
51 | |
52 assert_re='(assert|guarantee)[(](str|num).*failed: *' | |
11092
59b052799158
8015884: runThese crashed with SIGSEGV, hs_err has an error instead of stacktrace
dcubed
parents:
1592
diff
changeset
|
53 # for bad_data_ptr_re: |
59b052799158
8015884: runThese crashed with SIGSEGV, hs_err has an error instead of stacktrace
dcubed
parents:
1592
diff
changeset
|
54 # EXCEPTION_ACCESS_VIOLATION - Win-* |
59b052799158
8015884: runThese crashed with SIGSEGV, hs_err has an error instead of stacktrace
dcubed
parents:
1592
diff
changeset
|
55 # SIGILL - MacOS X |
59b052799158
8015884: runThese crashed with SIGSEGV, hs_err has an error instead of stacktrace
dcubed
parents:
1592
diff
changeset
|
56 # SIGSEGV - Linux-*, Solaris SPARC-*, Solaris X86-* |
59b052799158
8015884: runThese crashed with SIGSEGV, hs_err has an error instead of stacktrace
dcubed
parents:
1592
diff
changeset
|
57 # |
59b052799158
8015884: runThese crashed with SIGSEGV, hs_err has an error instead of stacktrace
dcubed
parents:
1592
diff
changeset
|
58 bad_data_ptr_re='(SIGILL|SIGSEGV|EXCEPTION_ACCESS_VIOLATION).* at pc=' |
59b052799158
8015884: runThese crashed with SIGSEGV, hs_err has an error instead of stacktrace
dcubed
parents:
1592
diff
changeset
|
59 # |
59b052799158
8015884: runThese crashed with SIGSEGV, hs_err has an error instead of stacktrace
dcubed
parents:
1592
diff
changeset
|
60 # for bad_func_ptr_re: |
59b052799158
8015884: runThese crashed with SIGSEGV, hs_err has an error instead of stacktrace
dcubed
parents:
1592
diff
changeset
|
61 # EXCEPTION_ACCESS_VIOLATION - Win-* |
59b052799158
8015884: runThese crashed with SIGSEGV, hs_err has an error instead of stacktrace
dcubed
parents:
1592
diff
changeset
|
62 # SIGBUS - Solaris SPARC-64 |
59b052799158
8015884: runThese crashed with SIGSEGV, hs_err has an error instead of stacktrace
dcubed
parents:
1592
diff
changeset
|
63 # SIGSEGV - Linux-*, Solaris SPARC-32, Solaris X86-* |
59b052799158
8015884: runThese crashed with SIGSEGV, hs_err has an error instead of stacktrace
dcubed
parents:
1592
diff
changeset
|
64 # |
59b052799158
8015884: runThese crashed with SIGSEGV, hs_err has an error instead of stacktrace
dcubed
parents:
1592
diff
changeset
|
65 # Note: would like to use "pc=0x00*0f," in the pattern, but Solaris SPARC-* |
59b052799158
8015884: runThese crashed with SIGSEGV, hs_err has an error instead of stacktrace
dcubed
parents:
1592
diff
changeset
|
66 # gets its signal at a PC in test_error_handler(). |
59b052799158
8015884: runThese crashed with SIGSEGV, hs_err has an error instead of stacktrace
dcubed
parents:
1592
diff
changeset
|
67 # |
59b052799158
8015884: runThese crashed with SIGSEGV, hs_err has an error instead of stacktrace
dcubed
parents:
1592
diff
changeset
|
68 bad_func_ptr_re='(SIGBUS|SIGSEGV|EXCEPTION_ACCESS_VIOLATION).* at pc=' |
1490 | 69 guarantee_re='guarantee[(](str|num).*failed: *' |
70 fatal_re='fatal error: *' | |
71 tail_1='.*expected null' | |
72 tail_2='.*num=' | |
73 | |
74 for re in \ | |
75 "${assert_re}${tail_1}" "${assert_re}${tail_2}" \ | |
76 "${guarantee_re}${tail_1}" "${guarantee_re}${tail_2}" \ | |
77 "${fatal_re}${tail_1}" "${fatal_re}${tail_2}" \ | |
78 "${fatal_re}.*truncated" "ChunkPool::allocate" \ | |
79 "ShouldNotCall" "ShouldNotReachHere" \ | |
11092
59b052799158
8015884: runThese crashed with SIGSEGV, hs_err has an error instead of stacktrace
dcubed
parents:
1592
diff
changeset
|
80 "Unimplemented" "$bad_data_ptr_re" \ |
59b052799158
8015884: runThese crashed with SIGSEGV, hs_err has an error instead of stacktrace
dcubed
parents:
1592
diff
changeset
|
81 "$bad_func_ptr_re" |
59b052799158
8015884: runThese crashed with SIGSEGV, hs_err has an error instead of stacktrace
dcubed
parents:
1592
diff
changeset
|
82 |
1490 | 83 do |
84 i2=$i | |
85 [ $i -lt 10 ] && i2=0$i | |
86 | |
87 "$TESTJAVA/bin/java" $TESTVMOPTS -XX:+IgnoreUnrecognizedVMOptions \ | |
12822
cc4f5f8d885e
8023796: [TESTBUG] Add -XX:-TransmitErrorReport to runtime/6888954/vmerrors.sh
mseledtsov
parents:
11092
diff
changeset
|
88 -XX:-TransmitErrorReport \ |
1490 | 89 -XX:ErrorHandlerTest=${i} -version > ${i2}.out 2>&1 |
90 | |
91 # If ErrorHandlerTest is ignored (product build), stop. | |
92 # | |
93 # Using the built-in variable $! to get the pid does not work reliably on | |
94 # windows; use a wildcard instead. | |
95 mv hs_err_pid*.log ${i2}.log || exit $rc | |
96 | |
97 for f in ${i2}.log ${i2}.out | |
98 do | |
99 egrep -- "$re" $f > $$ | |
100 if [ $? -ne 0 ] | |
101 then | |
102 echo "ErrorHandlerTest=$i failed ($f)" | |
103 rc=1 | |
104 fi | |
105 done | |
106 rm -f $$ | |
107 | |
1592
5b77884bd4b7
6956472: test/runtime/6888954/vmerrors.sh uses ksh-specific syntax
jcoomes
parents:
1490
diff
changeset
|
108 i=`expr $i + 1` |
1490 | 109 done |
110 | |
111 exit $rc |