提交 9cfe8b73 编写于 作者: D dcubed

6971847: 4/4 jmap '-histo:live' option is necessary for proper leak detection

Summary: Add work around for 6971851. Abort if 'histo:live' option isn't supported.
Reviewed-by: alanb, darcy
上级 ada24262
......@@ -59,9 +59,34 @@ set +e
status="$?"
set -e
if [ "$status" != 0 ]; then
echo "INFO: switching jmap option from '$jmap_option'\c"
jmap_option="-histo"
echo " to '$jmap_option'."
# usage message doesn't show ':live' option
if $isWindows; then
# If SA isn't present, then jmap gives a different usage message
# that doesn't show the ':live' option. However, that's a bug that
# is covered by 6971851 so we try using the option just to be sure.
# For some reason, this problem has only been seen on OpenJDK6 on
# Windows. Not sure why.
set +e
# Note: Don't copy this code to try probing process 0 on Linux; it
# will kill the process group in strange ways.
"${JMAP}" "$jmap_option" 0 2>&1 | grep 'Usage' > /dev/null 2>&1
status="$?"
set -e
if [ "$status" = 0 ]; then
# Usage message generated so flag the problem.
status=1
else
# No usage message so clear the flag.
status=0
fi
fi
if [ "$status" != 0 ]; then
echo "ERROR: 'jmap $jmap_option' is not supported so this test"
echo "ERROR: cannot work reliably. Aborting!"
exit 2
fi
fi
# Start application and use TEST_NAME.port for coordination
......
......@@ -59,9 +59,34 @@ set +e
status="$?"
set -e
if [ "$status" != 0 ]; then
echo "INFO: switching jmap option from '$jmap_option'\c"
jmap_option="-histo"
echo " to '$jmap_option'."
# usage message doesn't show ':live' option
if $isWindows; then
# If SA isn't present, then jmap gives a different usage message
# that doesn't show the ':live' option. However, that's a bug that
# is covered by 6971851 so we try using the option just to be sure.
# For some reason, this problem has only been seen on OpenJDK6 on
# Windows. Not sure why.
set +e
# Note: Don't copy this code to try probing process 0 on Linux; it
# will kill the process group in strange ways.
"${JMAP}" "$jmap_option" 0 2>&1 | grep 'Usage' > /dev/null 2>&1
status="$?"
set -e
if [ "$status" = 0 ]; then
# Usage message generated so flag the problem.
status=1
else
# No usage message so clear the flag.
status=0
fi
fi
if [ "$status" != 0 ]; then
echo "ERROR: 'jmap $jmap_option' is not supported so this test"
echo "ERROR: cannot work reliably. Aborting!"
exit 2
fi
fi
# Start application and use TEST_NAME.port for coordination
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册