annotate test/runtime/7020373/Test7020373.sh @ 3862:52e4ba46751f

7020373: JSR rewriting can overflow memory address size variables Summary: Abort if incoming classfile's parameters would cause overflows Reviewed-by: coleenp, dcubed, never
author kamg
date Tue, 12 Apr 2011 16:42:26 -0400
parents
children a884a8b0ec6d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3862
52e4ba46751f 7020373: JSR rewriting can overflow memory address size variables
kamg
parents:
diff changeset
1 #!/bin/sh
52e4ba46751f 7020373: JSR rewriting can overflow memory address size variables
kamg
parents:
diff changeset
2
52e4ba46751f 7020373: JSR rewriting can overflow memory address size variables
kamg
parents:
diff changeset
3 ##
52e4ba46751f 7020373: JSR rewriting can overflow memory address size variables
kamg
parents:
diff changeset
4 ## @test
52e4ba46751f 7020373: JSR rewriting can overflow memory address size variables
kamg
parents:
diff changeset
5 ## @bug 7020373
52e4ba46751f 7020373: JSR rewriting can overflow memory address size variables
kamg
parents:
diff changeset
6 ## @key cte_test
52e4ba46751f 7020373: JSR rewriting can overflow memory address size variables
kamg
parents:
diff changeset
7 ## @summary JSR rewriting can overflow memory address size variables
52e4ba46751f 7020373: JSR rewriting can overflow memory address size variables
kamg
parents:
diff changeset
8 ## @run shell Test7020373.sh
52e4ba46751f 7020373: JSR rewriting can overflow memory address size variables
kamg
parents:
diff changeset
9 ##
52e4ba46751f 7020373: JSR rewriting can overflow memory address size variables
kamg
parents:
diff changeset
10
52e4ba46751f 7020373: JSR rewriting can overflow memory address size variables
kamg
parents:
diff changeset
11 if [ "${TESTSRC}" = "" ]
52e4ba46751f 7020373: JSR rewriting can overflow memory address size variables
kamg
parents:
diff changeset
12 then TESTSRC=.
52e4ba46751f 7020373: JSR rewriting can overflow memory address size variables
kamg
parents:
diff changeset
13 fi
52e4ba46751f 7020373: JSR rewriting can overflow memory address size variables
kamg
parents:
diff changeset
14
52e4ba46751f 7020373: JSR rewriting can overflow memory address size variables
kamg
parents:
diff changeset
15 if [ "${TESTJAVA}" = "" ]
52e4ba46751f 7020373: JSR rewriting can overflow memory address size variables
kamg
parents:
diff changeset
16 then
52e4ba46751f 7020373: JSR rewriting can overflow memory address size variables
kamg
parents:
diff changeset
17 PARENT=`dirname \`which java\``
52e4ba46751f 7020373: JSR rewriting can overflow memory address size variables
kamg
parents:
diff changeset
18 TESTJAVA=`dirname ${PARENT}`
52e4ba46751f 7020373: JSR rewriting can overflow memory address size variables
kamg
parents:
diff changeset
19 echo "TESTJAVA not set, selecting " ${TESTJAVA}
52e4ba46751f 7020373: JSR rewriting can overflow memory address size variables
kamg
parents:
diff changeset
20 echo "If this is incorrect, try setting the variable manually."
52e4ba46751f 7020373: JSR rewriting can overflow memory address size variables
kamg
parents:
diff changeset
21 fi
52e4ba46751f 7020373: JSR rewriting can overflow memory address size variables
kamg
parents:
diff changeset
22
52e4ba46751f 7020373: JSR rewriting can overflow memory address size variables
kamg
parents:
diff changeset
23 if [ "${TESTCLASSES}" = "" ]
52e4ba46751f 7020373: JSR rewriting can overflow memory address size variables
kamg
parents:
diff changeset
24 then
52e4ba46751f 7020373: JSR rewriting can overflow memory address size variables
kamg
parents:
diff changeset
25 echo "TESTCLASSES not set. Test cannot execute. Failed."
52e4ba46751f 7020373: JSR rewriting can overflow memory address size variables
kamg
parents:
diff changeset
26 exit 1
52e4ba46751f 7020373: JSR rewriting can overflow memory address size variables
kamg
parents:
diff changeset
27 fi
52e4ba46751f 7020373: JSR rewriting can overflow memory address size variables
kamg
parents:
diff changeset
28
52e4ba46751f 7020373: JSR rewriting can overflow memory address size variables
kamg
parents:
diff changeset
29 BIT_FLAG=""
52e4ba46751f 7020373: JSR rewriting can overflow memory address size variables
kamg
parents:
diff changeset
30
52e4ba46751f 7020373: JSR rewriting can overflow memory address size variables
kamg
parents:
diff changeset
31 # set platform-dependent variables
52e4ba46751f 7020373: JSR rewriting can overflow memory address size variables
kamg
parents:
diff changeset
32 OS=`uname -s`
52e4ba46751f 7020373: JSR rewriting can overflow memory address size variables
kamg
parents:
diff changeset
33 case "$OS" in
52e4ba46751f 7020373: JSR rewriting can overflow memory address size variables
kamg
parents:
diff changeset
34 SunOS | Linux )
52e4ba46751f 7020373: JSR rewriting can overflow memory address size variables
kamg
parents:
diff changeset
35 NULL=/dev/null
52e4ba46751f 7020373: JSR rewriting can overflow memory address size variables
kamg
parents:
diff changeset
36 PS=":"
52e4ba46751f 7020373: JSR rewriting can overflow memory address size variables
kamg
parents:
diff changeset
37 FS="/"
52e4ba46751f 7020373: JSR rewriting can overflow memory address size variables
kamg
parents:
diff changeset
38 ## for solaris, linux it's HOME
52e4ba46751f 7020373: JSR rewriting can overflow memory address size variables
kamg
parents:
diff changeset
39 FILE_LOCATION=$HOME
52e4ba46751f 7020373: JSR rewriting can overflow memory address size variables
kamg
parents:
diff changeset
40 if [ -f ${FILE_LOCATION}${FS}JDK64BIT -a ${OS} = "SunOS" ]
52e4ba46751f 7020373: JSR rewriting can overflow memory address size variables
kamg
parents:
diff changeset
41 then
52e4ba46751f 7020373: JSR rewriting can overflow memory address size variables
kamg
parents:
diff changeset
42 BIT_FLAG=`cat ${FILE_LOCATION}${FS}JDK64BIT | grep -v '^#'`
52e4ba46751f 7020373: JSR rewriting can overflow memory address size variables
kamg
parents:
diff changeset
43 fi
52e4ba46751f 7020373: JSR rewriting can overflow memory address size variables
kamg
parents:
diff changeset
44 ;;
52e4ba46751f 7020373: JSR rewriting can overflow memory address size variables
kamg
parents:
diff changeset
45 Windows_* )
52e4ba46751f 7020373: JSR rewriting can overflow memory address size variables
kamg
parents:
diff changeset
46 NULL=NUL
52e4ba46751f 7020373: JSR rewriting can overflow memory address size variables
kamg
parents:
diff changeset
47 PS=";"
52e4ba46751f 7020373: JSR rewriting can overflow memory address size variables
kamg
parents:
diff changeset
48 FS="\\"
52e4ba46751f 7020373: JSR rewriting can overflow memory address size variables
kamg
parents:
diff changeset
49 ;;
52e4ba46751f 7020373: JSR rewriting can overflow memory address size variables
kamg
parents:
diff changeset
50 * )
52e4ba46751f 7020373: JSR rewriting can overflow memory address size variables
kamg
parents:
diff changeset
51 echo "Unrecognized system!"
52e4ba46751f 7020373: JSR rewriting can overflow memory address size variables
kamg
parents:
diff changeset
52 exit 1;
52e4ba46751f 7020373: JSR rewriting can overflow memory address size variables
kamg
parents:
diff changeset
53 ;;
52e4ba46751f 7020373: JSR rewriting can overflow memory address size variables
kamg
parents:
diff changeset
54 esac
52e4ba46751f 7020373: JSR rewriting can overflow memory address size variables
kamg
parents:
diff changeset
55
52e4ba46751f 7020373: JSR rewriting can overflow memory address size variables
kamg
parents:
diff changeset
56 JEMMYPATH=${CPAPPEND}
52e4ba46751f 7020373: JSR rewriting can overflow memory address size variables
kamg
parents:
diff changeset
57 CLASSPATH=.${PS}${TESTCLASSES}${PS}${JEMMYPATH} ; export CLASSPATH
52e4ba46751f 7020373: JSR rewriting can overflow memory address size variables
kamg
parents:
diff changeset
58
52e4ba46751f 7020373: JSR rewriting can overflow memory address size variables
kamg
parents:
diff changeset
59 THIS_DIR=`pwd`
52e4ba46751f 7020373: JSR rewriting can overflow memory address size variables
kamg
parents:
diff changeset
60
52e4ba46751f 7020373: JSR rewriting can overflow memory address size variables
kamg
parents:
diff changeset
61 ${TESTJAVA}${FS}bin${FS}java ${BIT_FLAG} -version
52e4ba46751f 7020373: JSR rewriting can overflow memory address size variables
kamg
parents:
diff changeset
62
52e4ba46751f 7020373: JSR rewriting can overflow memory address size variables
kamg
parents:
diff changeset
63 ${TESTJAVA}${FS}bin${FS}jar xvf ${TESTSRC}${FS}testcase.jar
52e4ba46751f 7020373: JSR rewriting can overflow memory address size variables
kamg
parents:
diff changeset
64
52e4ba46751f 7020373: JSR rewriting can overflow memory address size variables
kamg
parents:
diff changeset
65 ${TESTJAVA}${FS}bin${FS}java ${BIT_FLAG} OOMCrashClass4000_1 > test.out 2>&1
52e4ba46751f 7020373: JSR rewriting can overflow memory address size variables
kamg
parents:
diff changeset
66
52e4ba46751f 7020373: JSR rewriting can overflow memory address size variables
kamg
parents:
diff changeset
67 cat test.out
52e4ba46751f 7020373: JSR rewriting can overflow memory address size variables
kamg
parents:
diff changeset
68
52e4ba46751f 7020373: JSR rewriting can overflow memory address size variables
kamg
parents:
diff changeset
69 egrep "SIGSEGV|An unexpected error has been detected" test.out
52e4ba46751f 7020373: JSR rewriting can overflow memory address size variables
kamg
parents:
diff changeset
70
52e4ba46751f 7020373: JSR rewriting can overflow memory address size variables
kamg
parents:
diff changeset
71 if [ $? = 0 ]
52e4ba46751f 7020373: JSR rewriting can overflow memory address size variables
kamg
parents:
diff changeset
72 then
52e4ba46751f 7020373: JSR rewriting can overflow memory address size variables
kamg
parents:
diff changeset
73 echo "Test Failed"
52e4ba46751f 7020373: JSR rewriting can overflow memory address size variables
kamg
parents:
diff changeset
74 exit 1
52e4ba46751f 7020373: JSR rewriting can overflow memory address size variables
kamg
parents:
diff changeset
75 else
52e4ba46751f 7020373: JSR rewriting can overflow memory address size variables
kamg
parents:
diff changeset
76 grep "java.lang.LinkageError" test.out
52e4ba46751f 7020373: JSR rewriting can overflow memory address size variables
kamg
parents:
diff changeset
77 if [ $? = 0 ]
52e4ba46751f 7020373: JSR rewriting can overflow memory address size variables
kamg
parents:
diff changeset
78 then
52e4ba46751f 7020373: JSR rewriting can overflow memory address size variables
kamg
parents:
diff changeset
79 echo "Test Passed"
52e4ba46751f 7020373: JSR rewriting can overflow memory address size variables
kamg
parents:
diff changeset
80 exit 0
52e4ba46751f 7020373: JSR rewriting can overflow memory address size variables
kamg
parents:
diff changeset
81 else
52e4ba46751f 7020373: JSR rewriting can overflow memory address size variables
kamg
parents:
diff changeset
82 echo "Test Failed"
52e4ba46751f 7020373: JSR rewriting can overflow memory address size variables
kamg
parents:
diff changeset
83 exit 1
52e4ba46751f 7020373: JSR rewriting can overflow memory address size variables
kamg
parents:
diff changeset
84 fi
52e4ba46751f 7020373: JSR rewriting can overflow memory address size variables
kamg
parents:
diff changeset
85 fi