-
Bug
-
Resolution: Duplicate
-
P2
-
None
-
5.0
-
x86, sparc
-
solaris_9, windows_2003
Name: vsR10238 Date: 08/27/2003
Filed By : J2SE-SQA [###@###.###
JDK : JDK1.5.0-b16
Testbase : Regression-test, Regression-CTE
Platform[s] : Windows 2003, Solaris 9 (sparc) (GNOME)
switch/Mode : -client, -d64
Falling test[s]:
Regression-test: sun/security/provider/PolicyFile/SelfExpansion.java
Regression-test: sun/security/x509/AVA/AVAEqualsHashCode.java
Regression-CTE: CTE_REGTEST/Generic/4422857/Test4422857.sh
3 Regression tests fail with JDK1.5.0-b16 because of java.lang.ExceptionInInitializerError.
The tests pass with JDK1.5.0-b15 and with JDK1.4.2-b28.
All these tests have the following common lines in their printStackTrace output:
java.lang.ExceptionInInitializerError
at sun.text.Normalizer.decompose(Normalizer.java:673)
at sun.text.Normalizer$NFKDMode.normalize(Normalizer.java:325)
at sun.text.Normalizer.normalize(Normalizer.java:735)
at sun.security.x509.AVA.toRFC2253CanonicalString(AVA.java:923)
The following information may be useful for evaluators:
I tried to investigate the behavior of sun/security/x509/AVA/AVAEqualsHashCode.java running it manually and
I got the following results:
-------------------------------------------------------------------------
$ /net/linux-15/export/home/java/jdk1.5.0/linux/bin/java -server -cp /home/vsh/l15ehv/regtest/scripts/workDir/test/classes/sun/security/x509/AVA -Djava.security.manager
-Djava.security.policy==Allow.policy_new AVAEqualsHashCode
Exception in thread "main" java.lang.ExceptionInInitializerError
$ /net/linux-15/export/home/java/jdk1.5.0/linux/bin/java -server -cp /home/vsh/l15ehv/regtest/scripts/workDir/test/classes/sun/security/x509/AVA -Djava.security.manager
-Djava.security.policy==Allow.policy AVAEqualsHashCode
Exception in thread "main" java.lang.ExceptionInInitializerError
$ /net/linux-15/export/home/java/jdk1.5.0/linux/bin/java -server -cp /home/vsh/l15ehv/regtest/scripts/workDir/test/classes/sun/security/x509/AVA -Djava.security.manager
-Djava.security.policy==Allow.all AVAEqualsHashCode
PASSED
/net/linux-15/export/home/java/jdk1.5.0/linux/bin/java -server -cp /home/vsh/l15ehv/regtest/scripts/workDir/test/classes/sun/security/x509/AVA -Djava.security.policy==Allow.policy_new AVAEqualsHashCode
PASSED
-------------------------------------------------------------------------
Allow.policy is the sun/security/x509/AVA/Allow.policy file from the test suite.
Allow.policy_new is the Allow.policy modified by javatest (can be found in the scratch directory)
Allow.all is a policy file granting all permissions
Thus, the test fails on JDK1.5.0-b16 if -Djava.security.manager is defined and the security policy file from
the test is used.
Test source location:
=====================
/java/re/jdk/1.5.0/promoted/latest/ws/j2se/test/sun/security/provider/PolicyFile/SelfExpansion.java
/java/re/jdk/1.5.0/promoted/latest/ws/j2se/test/sun/security/x509/AVA/AVAEqualsHashCode.java
jtr file location:
==================
/net/jtgb4u4c.sfbay/export/sail15/results.2/tiger/b16/regtest/win32/win2003_linux-19/workDir/test/sun/security/provider/PolicyFile/SelfExpansion.jtr
/net/jtgb4u4c.sfbay/export/sail15/results.2/tiger/b16/regtest/win32/win2003_linux-19/workDir/test/sun/security/x509/AVA/AVAEqualsHashCode.jtr
/net/jtgb4u4c.sfbay/export/sail15/results.2/tiger/b16/regtest/win32/win2003_linux-19/workDir/cte/CTE_REGTEST/Generic/4422857/Test4422857.jtr
How to reproduce:
=================
Run the following script (you may need to change its variables)
--- script start ---
#!/bin/sh
RESULT_DIR=`pwd`
WORK_DIR=$RESULT_DIR/workDir/test
REPORT_DIR=$RESULT_DIR/reportDir
JT_HOME="h:/java/jct"
JAVA_HOME="h:/java/jdk1.5.0/win32"
TEST_BASE_PATH="h:/java/regtest.tiger/test"
TESTWITH=$JAVA_HOME
TESTJAVA=$JAVA_HOME
JTOPTS="-client"
TESTVMOPTS="-client"
CLASSPATH="$JT_HOME/classes;$JT_HOME/lib/javatest.jar;$JT_HOME/lib/jtreg.jar;$JT_HOME/jemmy/jemmy.jar"
export JAVA_HOME
export JT_HOME
export TESTWITH
export CLASSPATH
mkdir -p $WORK_DIR/scratch 2>&1
mkdir -p $WORK_DIR/jtData 2>&1
mkdir -p $REPORT_DIR 2>&1
#rm $WORK_DIR/jtData/ResultCache.jtw 2>&1
cd $WORK_DIR/scratch
$JAVA_HOME/bin/java -cp $CLASSPATH $JTOPTS -DenvVars=TESTJAVAHOME=$JAVA_HOME,TESTVMOPTS=$TESTVMOPTS,DISPLAY=:0,windir=$windir,PATH=${SHELL%/*},CPAPPEND=$JT_HOME/jemmy/jemmy.jar,TZ=,LC_ALL=en_US,LC_CTYPE=en_US,LANG=en_US,LPDEST= -DDISPLAY=:0 -DlocalHost="linux-19" -Dprogram=jtreg com.sun.javatest.regtest.Main -a -v default -batch -params -w "$WORK_DIR" -r "$REPORT_DIR" -t "$TEST_BASE_PATH" "$TEST_BASE_PATH/sun/security/provider/PolicyFile/SelfExpansion.java"
--- script end ---
Script output:
==============
Test output (jtr part):
=======================
----------System.out:(0/0)----------
----------System.err:(37/2145)----------
java.lang.ExceptionInInitializerError
at sun.text.Normalizer.decompose(Normalizer.java:673)
at sun.text.Normalizer$NFKDMode.normalize(Normalizer.java:325)
at sun.text.Normalizer.normalize(Normalizer.java:735)
at sun.security.x509.AVA.toRFC2253CanonicalString(AVA.java:923)
at sun.security.x509.RDN.toRFC2253StringInternal(RDN.java:374)
at sun.security.x509.RDN.toRFC2253String(RDN.java:355)
at sun.security.x509.X500Name.getRFC2253CanonicalName(X500Name.java:666)
at sun.security.x509.X500Name.hashCode(X500Name.java:353)
at javax.security.auth.x500.X500Principal.hashCode(X500Principal.java:363)
at java.util.HashMap.hash(HashMap.java:264)
at java.util.HashMap.put(HashMap.java:382)
at java.util.HashSet.add(HashSet.java:194)
at java.util.AbstractCollection.addAll(AbstractCollection.java:318)
at java.util.HashSet.<init>(HashSet.java:100)
at javax.security.auth.SubjectDomainCombiner.combine(SubjectDomainCombiner.java:206)
at java.security.AccessControlContext.goCombiner(AccessControlContext.java:390)
at java.security.AccessControlContext.optimize(AccessControlContext.java:304)
at java.security.AccessController.getContext(AccessController.java:362)
at SelfExpansion$1.run(SelfExpansion.java:23)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAsPrivileged(Subject.java:440)
at SelfExpansion.main(SelfExpansion.java:21)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at com.sun.javatest.regtest.MainWrapper$MainThread.run(MainWrapper.java:82)
at java.lang.Thread.run(Thread.java:549)
Caused by: java.lang.RuntimeException
at sun.text.NormalizerImpl.<clinit>(NormalizerImpl.java:44)
... 28 more
JavaTest Message: Test threw exception: java.lang.ExceptionInInitializerError
JavaTest Message: shutting down test
STATUS:Failed.`main' threw exception: java.lang.ExceptionInInitializerError
result: Failed. Execution failed: `main' threw exception: java.lang.ExceptionInInitializerError
test result: Failed. Execution failed: `main' threw exception: java.lang.ExceptionInInitializerError
Specific machine info:
======================
Hostname: linux-19
OS: Windows 2003
Hostname: novo48
OS: Solaris 9 (sparc) (GNOME)
======================================================================
- duplicates
-
JDK-4909553 Missing doPrivileged() in sun.text.NormalizerImpl
- Closed