JDK-6498300 : nsk/logging/Logger/getParent/getparent001, ../LogManager/getLoggerNames/getlogrn001 fail in b03 PIT
  • Type: Bug
  • Component: core-libs
  • Sub-Component: java.util.logging
  • Affected Version: 7
  • Priority: P2
  • Status: Closed
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2006-11-28
  • Updated: 2012-02-02
  • Resolved: 2011-04-19
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 6 JDK 7
6u18Resolved 7 b12Fixed
Related Reports
Relates :  
Description
getlogrn001.tlog

#!/usr/bin/sh

CLASSPATH=/export/gtee/Work/exec/nsk.logging-27-TLNIGHTLY-SERVICE-ClientVM-mixed-SOLSPARC-2006-11-27-16-33-16/gridadm.Solaris.sparc/getlogrn001:/net/vmsqe.sfbay/export/backup/UNIFIED-DTF/DTWS/suites/nsk.logging/testbase/bin/classes:/net/gtee.sfbay/export/nightly/TL/JDK/latest/solaris-sparc/lib/tools.jar
TESTBASE=/net/vmsqe.sfbay/export/backup/UNIFIED-DTF/DTWS/suites/nsk.logging/testbase
HOME=/var/tmp
RAS_OPTIONS=
LD_LIBRARY_PATH=/net/gtee.sfbay/export/nightly/TL/JDK/latest/solaris-sparc/jre/lib/sparc/client
PATH=/net/gtee.sfbay/export/nightly/TL/JDK/latest/solaris-sparc/bin:/bin:/usr/bin:/net/gtee.sfbay/export/nightly/TL/JDK/latest/solaris-sparc/jre/bin:/mksnt
DISPLAY=vmsqe.sfbay:0.0
SHELL=/usr/bin/sh

while [ $# -gt 0 ];
do
  if [ $1 = "-jdk" ]; then
	shift 1
	PATH=${1}/bin:${PATH}
	shift 1
  else
	if [ $1 = "-d" ]; then
	  shift 1
	  if [ $# -gt 0  ]; then
		DISPLAY=$1
		shift 1
	  else
		DISPLAY=:0.0
	  fi
	fi
  fi
done

export CLASSPATH
export TESTBASE
export HOME
export RAS_OPTIONS
export LD_LIBRARY_PATH
export PATH
export DISPLAY
export SHELL

#annotate TEST javaopt=-client -Xmixed
#/net/koori.sfbay/onestop/jdk/1.7.0/promoted/all/b02/binaries/solaris-sparcv9/bin/java -client -Xmixed -DHANGINGJAVA7164 nsk.logging.LogManager.getLoggerNames.getlogrn001
#/net/gtee.sfbay/export/nightly/TL/JDK/latest/solaris-sparc/bin/java -client -Xmixed -DHANGINGJAVA7164 nsk.logging.LogManager.getLoggerNames.getlogrn001
/net/jre.sfbay/p/v06/jdk/6.0/rc/b104/binaries/solaris-sparcv9/bin/java -client -Xmixed -DHANGINGJAVA7164 nsk.logging.LogManager.getLoggerNames.getlogrn001
##Exit status of execution step=97
##!checkExitCode

## getLoggerNames() returned unexpected logger names, while there is one explicit registered logger:
## expected logger names (3):
#  expectedNames[0] = testing.logger.existing
#  expectedNames[1] = global
#  expectedNames[2] = 
## returned logger names (5):
#  returnedNames[0] = testing.logger.existing
#  returnedNames[1] = testing
#  returnedNames[2] = testing.logger
#  returnedNames[3] = global
#  returnedNames[4] = 
## getLoggerNames() returned unexpected logger names, while there are three explicit registered loggers:
## expected logger names (5):
#  expectedNames[0] = testing.logger.existing
#  expectedNames[1] = testing.logger.existing.1
#  expectedNames[2] = testing.logger.existing.2
#  expectedNames[3] = 
#  expectedNames[4] = global
## returned logger names (7):
#  returnedNames[0] = testing.logger.existing.2
#  returnedNames[1] = testing.logger.existing
#  returnedNames[2] = testing.logger.existing.1
#  returnedNames[3] = testing
#  returnedNames[4] = testing.logger
#  returnedNames[5] = global
#  returnedNames[6] = 
#
## TEST FAILED.
The following testcases are failing on all platforms

nsk/logging/Logger/getParent/getparent001
nsk/logging/LogManager/getLoggerNames/getlogrn001

Results Page : http://vmsqe.sfbay/nightly/TL/results/1.7.0-auto-331/ClientVM/SOLSPARC/mixed/SERVICE/nsk.logging-27-TLNIGHTLY-SERVICE-ClientVM-mixed-SOLSPARC-2006-11-27-16-33-16/analysis.html#New_Failures

Also this looks to be a regression when compared to previous PROMOTED JDK 1.7 (B01 & B02)

Was wondering if you have any clue about these 2 test cases.
getparent001.tlog:

#!/usr/bin/sh

CLASSPATH=/export/gtee/Work/exec/nsk.logging-27-TLNIGHTLY-SERVICE-ClientVM-mixed-SOLSPARC-2006-11-27-16-33-16/gridadm.Solaris.sparc/getparent001:/net/vmsqe.sfbay/export/backup/UNIFIED-DTF/DTWS/suites/nsk.logging/testbase/bin/classes:/net/gtee.sfbay/export/nightly/TL/JDK/latest/solaris-sparc/lib/tools.jar
TESTBASE=/net/vmsqe.sfbay/export/backup/UNIFIED-DTF/DTWS/suites/nsk.logging/testbase
HOME=/var/tmp
RAS_OPTIONS=
LD_LIBRARY_PATH=/net/gtee.sfbay/export/nightly/TL/JDK/latest/solaris-sparc/jre/lib/sparc/client
PATH=/net/gtee.sfbay/export/nightly/TL/JDK/latest/solaris-sparc/bin:/bin:/usr/bin:/net/gtee.sfbay/export/nightly/TL/JDK/latest/solaris-sparc/jre/bin:/mksnt
DISPLAY=vmsqe.sfbay:0.0
SHELL=/usr/bin/sh

while [ $# -gt 0 ];
do
  if [ $1 = "-jdk" ]; then
	shift 1
	PATH=${1}/bin:${PATH}
	shift 1
  else
	if [ $1 = "-d" ]; then
	  shift 1
	  if [ $# -gt 0  ]; then
		DISPLAY=$1
		shift 1
	  else
		DISPLAY=:0.0
	  fi
	fi
  fi
done

export CLASSPATH
export TESTBASE
export HOME
export RAS_OPTIONS
export LD_LIBRARY_PATH
export PATH
export DISPLAY
export SHELL

#annotate TEST javaopt=-client -Xmixed
#/net/koori.sfbay/onestop/jdk/1.7.0/promoted/all/b02/binaries/solaris-sparcv9/bin/java -client -Xmixed -DHANGINGJAVA7164 nsk.logging.Logger.getParent.getparent001
/net/gtee.sfbay/export/nightly/TL/JDK/latest/solaris-sparc/bin/java -client -Xmixed -DHANGINGJAVA7164 nsk.logging.Logger.getParent.getparent001
##Exit status of execution step=97
##!checkExitCode

### Logger.getParent() method returned unexpected Logger
#   when there is NO explicit parent Logger!
#   Returned Logger = java.util.logging.Logger@150bd4d
#   Returned Logger name = "nsk.logging.Logger.getParent"
#   Expected returned (root) Logger = java.util.logging.LogManager$RootLogger@1bc4459
#   Expected returned Logger name = ""
### Logger.getParent() method returned unexpected Logger
#   when the parent Logger name is NOT the nearest name for checked Logger!
#   Returned Logger = java.util.logging.Logger@150bd4d
#   Returned Logger name = "nsk.logging.Logger.getParent"
#   Expected returned Logger = java.util.logging.Logger@12b6651
#   Expected returned Logger name = "nsk.logging.Logger"
### nsk/logging/Logger/getParent/getparent001 test FAILED.
getlogrn001.tlog

#!/usr/bin/sh

CLASSPATH=/export/gtee/Work/exec/nsk.logging-27-TLNIGHTLY-SERVICE-ClientVM-mixed-SOLSPARC-2006-11-27-16-33-16/gridadm.Solaris.sparc/getlogrn001:/net/vmsqe.sfbay/export/backup/UNIFIED-DTF/DTWS/suites/nsk.logging/testbase/bin/classes:/net/gtee.sfbay/export/nightly/TL/JDK/latest/solaris-sparc/lib/tools.jar
TESTBASE=/net/vmsqe.sfbay/export/backup/UNIFIED-DTF/DTWS/suites/nsk.logging/testbase
HOME=/var/tmp
RAS_OPTIONS=
LD_LIBRARY_PATH=/net/gtee.sfbay/export/nightly/TL/JDK/latest/solaris-sparc/jre/lib/sparc/client
PATH=/net/gtee.sfbay/export/nightly/TL/JDK/latest/solaris-sparc/bin:/bin:/usr/bin:/net/gtee.sfbay/export/nightly/TL/JDK/latest/solaris-sparc/jre/bin:/mksnt
DISPLAY=vmsqe.sfbay:0.0
SHELL=/usr/bin/sh

while [ $# -gt 0 ];
do
  if [ $1 = "-jdk" ]; then
	shift 1
	PATH=${1}/bin:${PATH}
	shift 1
  else
	if [ $1 = "-d" ]; then
	  shift 1
	  if [ $# -gt 0  ]; then
		DISPLAY=$1
		shift 1
	  else
		DISPLAY=:0.0
	  fi
	fi
  fi
done

export CLASSPATH
export TESTBASE
export HOME
export RAS_OPTIONS
export LD_LIBRARY_PATH
export PATH
export DISPLAY
export SHELL

#annotate TEST javaopt=-client -Xmixed
#/net/koori.sfbay/onestop/jdk/1.7.0/promoted/all/b02/binaries/solaris-sparcv9/bin/java -client -Xmixed -DHANGINGJAVA7164 nsk.logging.LogManager.getLoggerNames.getlogrn001
#/net/gtee.sfbay/export/nightly/TL/JDK/latest/solaris-sparc/bin/java -client -Xmixed -DHANGINGJAVA7164 nsk.logging.LogManager.getLoggerNames.getlogrn001
/net/jre.sfbay/p/v06/jdk/6.0/rc/b104/binaries/solaris-sparcv9/bin/java -client -Xmixed -DHANGINGJAVA7164 nsk.logging.LogManager.getLoggerNames.getlogrn001
##Exit status of execution step=97
##!checkExitCode

## getLoggerNames() returned unexpected logger names, while there is one explicit registered logger:
## expected logger names (3):
#  expectedNames[0] = testing.logger.existing
#  expectedNames[1] = global
#  expectedNames[2] = 
## returned logger names (5):
#  returnedNames[0] = testing.logger.existing
#  returnedNames[1] = testing
#  returnedNames[2] = testing.logger
#  returnedNames[3] = global
#  returnedNames[4] = 
## getLoggerNames() returned unexpected logger names, while there are three explicit registered loggers:
## expected logger names (5):
#  expectedNames[0] = testing.logger.existing
#  expectedNames[1] = testing.logger.existing.1
#  expectedNames[2] = testing.logger.existing.2
#  expectedNames[3] = 
#  expectedNames[4] = global
## returned logger names (7):
#  returnedNames[0] = testing.logger.existing.2
#  returnedNames[1] = testing.logger.existing
#  returnedNames[2] = testing.logger.existing.1
#  returnedNames[3] = testing
#  returnedNames[4] = testing.logger
#  returnedNames[5] = global
#  returnedNames[6] = 
#
## TEST FAILED.
This bug also affects the following nsk.quick_monitoring tests:

    nsk/monitoring/LoggingMXBean/getParentLoggerName/getparentloggername001
    nsk/monitoring/LoggingMXBean/getParentLoggerName/getparentloggername002
    nsk/monitoring/LoggingMXBean/getParentLoggerName/getparentloggername003
    nsk/monitoring/LoggingMXBean/getParentLoggerName/getparentloggername004
    nsk/monitoring/LoggingMXBean/getParentLoggerName/getparentloggername005

Comments
SUGGESTED FIX Please, see the suggested fix in the lm_regr.Mar9.tar.gz is in attachment.
02-02-2007

EVALUATION Probably, it is a regression integrated with the fix for: 6274920 JDK logger holds strong reference to java.util.logging.Logger instances There code of the LogManager.java was refactured a little in that fix and refactoring touched the parent-child relationship between loggers.
08-12-2006