author | simonis |
Fri, 17 Jan 2014 21:54:30 +0100 | |
changeset 22602 | 0d9a07b0d7e9 |
parent 14786 | a9f61e0cbe61 |
child 23553 | 0d1adf0afc20 |
permissions | -rw-r--r-- |
13569
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
1 |
# |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
2 |
# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
3 |
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
4 |
# |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
5 |
# This code is free software; you can redistribute it and/or modify it |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
6 |
# under the terms of the GNU General Public License version 2 only, as |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
7 |
# published by the Free Software Foundation. |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
8 |
# |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
9 |
# This code is distributed in the hope that it will be useful, but WITHOUT |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
10 |
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
11 |
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
12 |
# version 2 for more details (a copy is included in the LICENSE file that |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
13 |
# accompanied this code). |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
14 |
# |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
15 |
# You should have received a copy of the GNU General Public License version |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
16 |
# 2 along with this work; if not, write to the Free Software Foundation, |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
17 |
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
18 |
# |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
19 |
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
20 |
# or visit www.oracle.com if you need additional information or have any |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
21 |
# questions. |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
22 |
# |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
23 |
|
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
24 |
# |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
25 |
# @test |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
26 |
# @bug 7056731 |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
27 |
# @summary Race condition in CORBA code causes re-use of ABORTed connections |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
28 |
# |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
29 |
# @run shell 7056731.sh |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
30 |
# |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
31 |
|
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
32 |
OS=`uname -s` |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
33 |
case "$OS" in |
22602
0d9a07b0d7e9
8028537: PPC64: Updated the JDK regression tests to run on AIX
simonis
parents:
14786
diff
changeset
|
34 |
SunOS | Linux | Darwin | AIX ) |
13569
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
35 |
PS=":" |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
36 |
FS="/" |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
37 |
;; |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
38 |
Windows* | CYGWIN* ) |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
39 |
PS=";" |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
40 |
FS="\\" |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
41 |
;; |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
42 |
* ) |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
43 |
echo "Unrecognized system!" |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
44 |
exit 1; |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
45 |
;; |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
46 |
esac |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
47 |
|
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
48 |
if [ "${TESTJAVA}" = "" ] ; then |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
49 |
echo "TESTJAVA not set. Test cannot execute. Failed." |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
50 |
exit 1 |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
51 |
fi |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
52 |
|
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
53 |
JAVA="${TESTJAVA}${FS}bin${FS}java" |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
54 |
PORT=1052 |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
55 |
cp -r ${TESTSRC}${FS}*.java ${TESTSRC}${FS}Hello.idl . |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
56 |
echo "Testing...please wait" |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
57 |
|
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
58 |
${TESTJAVA}${FS}bin${FS}idlj -fall Hello.idl |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
59 |
${TESTJAVA}${FS}bin${FS}javac *.java HelloApp/*.java |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
60 |
|
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
61 |
echo "starting orbd" |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
62 |
${TESTJAVA}${FS}bin${FS}orbd -ORBInitialPort $PORT -ORBInitialHost localhost & |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
63 |
ORB_PROC=$! |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
64 |
sleep 2 #give orbd time to start |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
65 |
echo "started orb" |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
66 |
echo "starting server" |
14786
a9f61e0cbe61
8003890: corelibs test scripts should pass TESTVMOPTS
chegar
parents:
13666
diff
changeset
|
67 |
${TESTJAVA}${FS}bin${FS}java ${TESTVMOPTS} -cp . HelloServer -ORBInitialPort $PORT -ORBInitialHost localhost & |
13569
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
68 |
SERVER_PROC=$! |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
69 |
sleep 2 #give server time to start |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
70 |
echo "started server" |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
71 |
echo "starting client (debug mode)" |
14786
a9f61e0cbe61
8003890: corelibs test scripts should pass TESTVMOPTS
chegar
parents:
13666
diff
changeset
|
72 |
${TESTJAVA}${FS}bin${FS}java ${TESTVMOPTS} -cp . -agentlib:jdwp=transport=dt_socket,server=y,address=8000 HelloClient -ORBInitialPort $PORT -ORBInitialHost localhost > client.$$ 2>&1 & |
13569
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
73 |
JVM_PROC=$! |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
74 |
sleep 2 #give jvm/debugger/client time to start |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
75 |
|
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
76 |
echo "started client (debug mode)" |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
77 |
echo "starting debugger and issuing commands" |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
78 |
(sleep 2; |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
79 |
echo "stop in com.sun.corba.se.impl.protocol.CorbaClientRequestDispatcherImpl.unregisterWaiter"; |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
80 |
sleep 2; |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
81 |
echo "run"; |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
82 |
sleep 2; |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
83 |
echo "cont"; |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
84 |
sleep 2; |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
85 |
echo "cont"; |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
86 |
sleep 2; |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
87 |
echo "cont"; |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
88 |
sleep 2; |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
89 |
echo "suspend 1"; |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
90 |
sleep 2; |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
91 |
kill -9 $SERVER_PROC &> /dev/null; |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
92 |
sleep 2; |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
93 |
echo "cont"; |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
94 |
sleep 2; |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
95 |
echo "thread 1" |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
96 |
sleep 2; |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
97 |
echo "clear com.sun.corba.se.impl.protocol.CorbaClientRequestDispatcherImpl.unregisterWaiter" |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
98 |
sleep 2; |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
99 |
echo "resume 1"; |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
100 |
)| ${TESTJAVA}${FS}bin${FS}jdb -connect com.sun.jdi.SocketAttach:hostname=localhost,port=8000 |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
101 |
|
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
102 |
sleep 5 # give time for Client to throw exception |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
103 |
|
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
104 |
# JVM_PROC should have exited but just in case, include it. |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
105 |
kill -9 $ORB_PROC $JVM_PROC |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
106 |
|
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
107 |
grep "ORBUtilSystemException.writeErrorSend" client.$$ |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
108 |
result=$? |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
109 |
if [ $result -eq 0 ] |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
110 |
then |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
111 |
echo "Failed" |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
112 |
exitCode=1; |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
113 |
else |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
114 |
echo "Passed" |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
115 |
exitCode=0 |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
116 |
fi |
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
117 |
|
13666
eed7a42e5ea8
7195063: [TEST] jtreg flags com/sun/corba/cachedSocket/7056731.sh with Error failure.
coffeys
parents:
13569
diff
changeset
|
118 |
#jtreg complaining about not being able to clean up; let's sleep |
eed7a42e5ea8
7195063: [TEST] jtreg flags com/sun/corba/cachedSocket/7056731.sh with Error failure.
coffeys
parents:
13569
diff
changeset
|
119 |
sleep 2 |
13569
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
120 |
rm -rf out.$$ client.$$ |
13666
eed7a42e5ea8
7195063: [TEST] jtreg flags com/sun/corba/cachedSocket/7056731.sh with Error failure.
coffeys
parents:
13569
diff
changeset
|
121 |
sleep 2 |
13569
a6a02227e47f
7056731: Race condition in CORBA code causes re-use of ABORTed connections
coffeys
parents:
diff
changeset
|
122 |
exit ${exitCode} |