annotate test/compiler/ciReplay/common.sh @ 10282:cd6f6fccd287

8014068: TEST_BUG: compiler/ciReplay/TestSA.sh fails on Windows: core wasn't generated Reviewed-by: kvn
author iignatyev
date Wed, 15 May 2013 22:44:52 +0400
parents 7b23cb975cf2
children 10c59b8021ec 6c72125a2f40
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
10197
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
1 #!/bin/sh
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
2 #
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
3 # Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
4 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
5 #
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
6 # This code is free software; you can redistribute it and/or modify it
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
7 # under the terms of the GNU General Public License version 2 only, as
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
8 # published by the Free Software Foundation.
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
9 #
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
10 # This code is distributed in the hope that it will be useful, but WITHOUT
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
11 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
12 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
13 # version 2 for more details (a copy is included in the LICENSE file that
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
14 # accompanied this code).
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
15 #
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
16 # You should have received a copy of the GNU General Public License version
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
17 # 2 along with this work; if not, write to the Free Software Foundation,
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
18 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
19 #
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
20 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
21 # or visit www.oracle.com if you need additional information or have any
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
22 # questions.
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
23 #
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
24 #
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
25
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
26 # $1 - error code
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
27 # $2 - test name
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
28 # $3,.. - decription
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
29 test_fail() {
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
30 error=$1
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
31 shift
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
32 name=$1
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
33 shift
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
34 echo "TEST [$name] FAILED:"
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
35 echo "$@"
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
36 exit $error
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
37 }
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
38
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
39 # $@ - additional vm opts
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
40 start_test() {
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
41 # disable core dump on *nix
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
42 ulimit -S -c 0
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
43 # disable core dump on windows
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
44 VMOPTS="$@ -XX:-CreateMinidumpOnCrash"
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
45 cmd="${JAVA} ${VMOPTS} -XX:+ReplayCompiles -XX:ReplayDataFile=${replay_data}"
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
46 echo $cmd
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
47 $cmd
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
48 return $?
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
49 }
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
50
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
51 # $1 - error_code
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
52 # $2 - test name
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
53 # $3,.. - additional vm opts
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
54 positive_test() {
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
55 error=$1
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
56 shift
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
57 name=$1
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
58 shift
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
59 VMOPTS="${TESTVMOPTS} $@"
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
60 echo "POSITIVE TEST [$name]"
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
61 start_test ${VMOPTS}
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
62 exit_code=$?
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
63 if [ ${exit_code} -ne 0 ]
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
64 then
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
65 test_fail $error "$name" "exit_code[${exit_code}] != 0 during replay "\
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
66 "w/ vmopts: ${VMOPTS}"
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
67 fi
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
68 }
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
69
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
70 # $1 - error_code
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
71 # $2 - test name
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
72 # $2,.. - additional vm opts
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
73 negative_test() {
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
74 error=$1
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
75 shift
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
76 name=$1
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
77 shift
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
78 VMOPTS="${TESTVMOPTS} $@"
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
79 echo "NEGATIVE TEST [$name]"
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
80 start_test ${VMOPTS}
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
81 exit_code=$?
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
82 if [ ${exit_code} -eq 0 ]
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
83 then
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
84 test_fail $error "$name" "exit_code[${exit_code}] == 0 during replay "\
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
85 "w/ vmopts: ${VMOPTS}"
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
86 fi
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
87 }
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
88
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
89 # $1 - initial error_code
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
90 common_tests() {
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
91 positive_test $1 "COMMON :: THE SAME FLAGS"
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
92 positive_test `expr $1 + 1` "COMMON :: TIERED" -XX:+TieredCompilation
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
93 }
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
94
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
95 # $1 - initial error_code
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
96 # $2 - non-tiered comp_level
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
97 nontiered_tests() {
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
98 level=`grep "^compile " $replay_data | awk '{print $6}'`
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
99 # is level available in non-tiere
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
100 if [ "$level" -eq $2 ]
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
101 then
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
102 positive_test $1 "NON-TIERED :: AVAILABLE COMP_LEVEL" \
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
103 -XX:-TieredCompilation
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
104 else
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
105 negative_test `expr $1 + 1` "NON-TIERED :: UNAVAILABLE COMP_LEVEL" \
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
106 negative_test `expr $1 + 1` "NON-TIERED :: UNAVAILABLE COMP_LEVEL" \
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
107 -XX:-TieredCompilation
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
108 fi
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
109 }
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
110
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
111 # $1 - initial error_code
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
112 client_tests() {
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
113 # testing in opposite VM
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
114 if [ $server_available -eq 1 ]
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
115 then
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
116 negative_test $1 "SERVER :: NON-TIERED" -XX:-TieredCompilation \
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
117 -server
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
118 positive_test `expr $1 + 1` "SERVER :: TIERED" -XX:+TieredCompilation \
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
119 -server
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
120 fi
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
121 nontiered_tests `expr $1 + 2` $client_level
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
122 }
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
123
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
124 # $1 - initial error_code
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
125 server_tests() {
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
126 # testing in opposite VM
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
127 if [ $client_available -eq 1 ]
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
128 then
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
129 # tiered is unavailable in client vm, so results w/ flags will be the same as w/o flags
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
130 negative_test $1 "CLIENT" -client
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
131 fi
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
132 nontiered_tests `expr $1 + 2` $server_level
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
133 }
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
134
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
135 cleanup() {
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
136 ${RM} -f core*
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
137 ${RM} -f replay*.txt
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
138 ${RM} -f hs_err_pid*.log
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
139 ${RM} -f test_core
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
140 ${RM} -f test_replay.txt
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
141 }
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
142
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
143 JAVA=${TESTJAVA}${FS}bin${FS}java
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
144
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
145 replay_data=test_replay.txt
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
146
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
147 ${JAVA} ${TESTVMOPTS} -Xinternalversion 2>&1 | grep debug
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
148
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
149 # Only test fastdebug
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
150 if [ $? -ne 0 ]
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
151 then
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
152 echo TEST SKIPPED: product build
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
153 exit 0
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
154 fi
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
155
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
156 is_int=`${JAVA} ${TESTVMOPTS} -version 2>&1 | grep -c "interpreted mode"`
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
157 # Not applicable for Xint
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
158 if [ $is_int -ne 0 ]
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
159 then
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
160 echo TEST SKIPPED: interpreted mode
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
161 exit 0
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
162 fi
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
163
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
164 cleanup
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
165
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
166 client_available=`${JAVA} ${TESTVMOPTS} -client -Xinternalversion 2>&1 | \
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
167 grep -c Client`
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
168 server_available=`${JAVA} ${TESTVMOPTS} -server -Xinternalversion 2>&1 | \
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
169 grep -c Server`
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
170 is_tiered=`${JAVA} ${TESTVMOPTS} -XX:+PrintFlagsFinal -version | \
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
171 grep TieredCompilation | \
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
172 grep -c true`
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
173 # CompLevel_simple -- C1
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
174 client_level=1
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
175 # CompLevel_full_optimization -- C2 or Shark
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
176 server_level=4
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
177
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
178 echo "client_available=$client_available"
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
179 echo "server_available=$server_available"
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
180 echo "is_tiered=$is_tiered"
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
181
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
182 # crash vm in compiler thread with generation replay data and 'small' dump-file
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
183 # $@ - additional vm opts
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
184 generate_replay() {
10282
cd6f6fccd287 8014068: TEST_BUG: compiler/ciReplay/TestSA.sh fails on Windows: core wasn't generated
iignatyev
parents: 10197
diff changeset
185 if [ $VM_OS != "windows" ]
cd6f6fccd287 8014068: TEST_BUG: compiler/ciReplay/TestSA.sh fails on Windows: core wasn't generated
iignatyev
parents: 10197
diff changeset
186 then
cd6f6fccd287 8014068: TEST_BUG: compiler/ciReplay/TestSA.sh fails on Windows: core wasn't generated
iignatyev
parents: 10197
diff changeset
187 # enable core dump
cd6f6fccd287 8014068: TEST_BUG: compiler/ciReplay/TestSA.sh fails on Windows: core wasn't generated
iignatyev
parents: 10197
diff changeset
188 ulimit -c unlimited
cd6f6fccd287 8014068: TEST_BUG: compiler/ciReplay/TestSA.sh fails on Windows: core wasn't generated
iignatyev
parents: 10197
diff changeset
189 fi
10197
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
190
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
191 cmd="${JAVA} ${TESTVMOPTS} $@ \
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
192 -Xms8m \
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
193 -Xmx32m \
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
194 -XX:MetaspaceSize=4m \
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
195 -XX:MaxMetaspaceSize=16m \
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
196 -XX:InitialCodeCacheSize=512k \
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
197 -XX:ReservedCodeCacheSize=4m \
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
198 -XX:ThreadStackSize=512 \
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
199 -XX:VMThreadStackSize=512 \
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
200 -XX:CompilerThreadStackSize=512 \
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
201 -XX:ParallelGCThreads=1 \
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
202 -XX:CICompilerCount=1 \
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
203 -Xcomp \
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
204 -XX:CICrashAt=1 \
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
205 -XX:+CreateMinidumpOnCrash \
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
206 -XX:+DumpReplayDataOnError \
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
207 -XX:ReplayDataFile=${replay_data} \
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
208 -version"
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
209 echo GENERATION OF REPLAY.TXT:
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
210 echo $cmd
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
211
10282
cd6f6fccd287 8014068: TEST_BUG: compiler/ciReplay/TestSA.sh fails on Windows: core wasn't generated
iignatyev
parents: 10197
diff changeset
212 ${cmd} > crash.out 2>&1
10197
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
213
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
214 core_locations=`grep -i core crash.out | grep "location:" | \
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
215 sed -e 's/.*location: //'`
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
216 rm crash.out
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
217 # processing core locations for *nix
10282
cd6f6fccd287 8014068: TEST_BUG: compiler/ciReplay/TestSA.sh fails on Windows: core wasn't generated
iignatyev
parents: 10197
diff changeset
218 if [ $VM_OS != "windows" ]
10197
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
219 then
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
220 # remove 'or' between '/core.<pid>' and 'core'
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
221 core_locations=`echo $core_locations | \
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
222 sed -e 's/\([^ ]*\) or \([^ ]*\)/\1 \2/'`
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
223 # add <core_path>/core.<pid> core.<pid>
10282
cd6f6fccd287 8014068: TEST_BUG: compiler/ciReplay/TestSA.sh fails on Windows: core wasn't generated
iignatyev
parents: 10197
diff changeset
224 core_with_dir=`echo $core_locations | awk '{print $1}'`
cd6f6fccd287 8014068: TEST_BUG: compiler/ciReplay/TestSA.sh fails on Windows: core wasn't generated
iignatyev
parents: 10197
diff changeset
225 dir=`dirname $core_with_dir`
cd6f6fccd287 8014068: TEST_BUG: compiler/ciReplay/TestSA.sh fails on Windows: core wasn't generated
iignatyev
parents: 10197
diff changeset
226 core_with_pid=`echo $core_locations | awk '{print $2}'`
cd6f6fccd287 8014068: TEST_BUG: compiler/ciReplay/TestSA.sh fails on Windows: core wasn't generated
iignatyev
parents: 10197
diff changeset
227 if [ -n ${core_with_pid} ]
10197
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
228 then
10282
cd6f6fccd287 8014068: TEST_BUG: compiler/ciReplay/TestSA.sh fails on Windows: core wasn't generated
iignatyev
parents: 10197
diff changeset
229 core_locations="$core_locations $dir${FS}$core_with_pid $core_with_pid"
10197
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
230 fi
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
231 fi
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
232
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
233 echo "LOOKING FOR CORE IN ${core_locations}"
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
234 for core in $core_locations
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
235 do
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
236 if [ -r "$core" ]
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
237 then
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
238 core_file=$core
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
239 fi
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
240 done
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
241
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
242 # core-file was found
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
243 if [ -n "$core_file" ]
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
244 then
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
245 ${MV} "${core_file}" test_core
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
246 core_file=test_core
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
247 fi
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
248
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
249 ${RM} -f hs_err_pid*.log
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
250 }
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
251