test/java/util/logging/LoggerWeakRefLeak.sh
Print this page
*** 57,69 ****
set +e
"${JMAP}" 2>&1 | grep ':live' > /dev/null 2>&1
status="$?"
set -e
if [ "$status" != 0 ]; then
! echo "INFO: switching jmap option from '$jmap_option'\c"
! jmap_option="-histo"
! echo " to '$jmap_option'."
fi
# Start application and use TEST_NAME.port for coordination
startApplication "$TEST_NAME" "$TEST_NAME.port" $seconds
--- 57,94 ----
set +e
"${JMAP}" 2>&1 | grep ':live' > /dev/null 2>&1
status="$?"
set -e
if [ "$status" != 0 ]; then
! # 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
startApplication "$TEST_NAME" "$TEST_NAME.port" $seconds