JDK-4463080 : Regression test java/util/Date/bug4323273.sh Failing (timeout)
  • Type: Bug
  • Component: core-libs
  • Sub-Component: java.util:i18n
  • Affected Version: 1.4.0
  • Priority: P2
  • Status: Closed
  • Resolution: Duplicate
  • OS: linux,solaris_8
  • CPU: x86
  • Submitted: 2001-05-25
  • Updated: 2001-07-24
  • Resolved: 2001-07-24
Related Reports
Duplicate :  
Description
Split from 4350017:

////////////////////////////////////
al.smith@eng 2001-05-24

Regression test java/util/Date/bug4323273.sh is failing again with Merlin build 64 on sol2.8x86, host schist.  This failure is timing out rather than the exit code 1 from the previous occurance of this failure.  It times out on a fast machine when run as a local stand alone test.  If you have any questions, please eMail me at ###@###.###
 For test hardware config's, see http://sqesvr.eng/st3/jdk1.4/docs/Merlin-hw.html

#Test Results (version 2)
#Mon May 14 18:01:33 PDT 2001
#checksum:4e9bf144fc473289
#-----testdescription-----
$file=/net/sqesvr/export/st1/regression/merlin/jdk1.4Tests/tests/b64/java/util/Date/bug4323273.sh
$root=/net/sqesvr/export/st1/regression/merlin/jdk1.4Tests/tests/b64
keywords=bug4323273 shell
run=USER_SPECIFIED build mtdate\nUSER_SPECIFIED shell/timeout=800 bug4323273.sh\n
source=bug4323273.sh
title=Make sure that the static initialization is properly synchronized.

#-----environment-----

#-----testresult-----
description=file:///net/sqesvr/export/st1/regression/merlin/jdk1.4Tests/tests/b64/java/util/Date/bug4323273.sh
end=Mon May 14 18:01:33 PDT 2001
environment=regtest
execStatus=Failed. Execution failed: Program `sh' interrupted! (timed out?)
javatestOS=SunOS 5.8 (x86)
javatestVersion=2.1.5
script=com.sun.javatest.regtest.RegressionScript 
sections=script_messages build compile shell
start=Mon May 14 17:48:11 PDT 2001
status=Failed. Execution failed: Program `sh' interrupted! (timed out?)
test=java/util/Date/bug4323273.sh
work=/export0/results/regression/merlin/b64/schist5.8-jth13-jdk14b64.05-14.15.51-ALL/java/util/Date

#section:script_messages
----------messages:(5/261)----------
JDK under test: (/net/sqesvr/export/st1/jdk14-beta/b64/solx86)
java version "1.4.0-beta"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.0-beta-b64)
Java HotSpot(TM) Client VM (build 1.4.0-beta-b64, mixed mode)
Timeout signalled after 800.0 seconds

#section:build
----------messages:(3/102)----------
command: build mtdate 
reason: User specified action: run build mtdate 
elapsed time (seconds): 2.033
result: Passed. Compilation successful

#section:compile
----------messages:(3/188)----------
command: compile /net/sqesvr/export/st1/regression/merlin/jdk1.4Tests/tests/b64/java/util/Date/mtdate.java 
reason: .class file out of date or does not exist
elapsed time (seconds): 2.029
----------System.out:(0/0)----------
----------System.err:(2/179)----------
Note: /net/sqesvr/export/st1/regression/merlin/jdk1.4Tests/tests/b64/java/util/Date/mtdate.java uses or overrides a deprecated API.
Note: Recompile with -deprecation for details.
result: Passed. Compilation successful

#section:shell
----------messages:(3/130)----------
command: shell bug4323273.sh 
reason: User specified action: run shell/timeout=800 bug4323273.sh 
elapsed time (seconds): 800.011
----------System.out:(0/0)----------
----------System.err:(3/30)----------
1: PASSED
2: PASSED
3: PASSED
result: Failed. Execution failed: Program `sh' interrupted! (timed out?)


test result: Failed. Execution failed: Program `sh' interrupted! (timed out?)

///////////////////////////
al.smith@eng 2001-07-23

The regression test java/util/Date/bug4323273.sh is failing on Linux 7.1 for the reasons that Mark has outlined in bug 4480926. Because of this failure of this test, more than 600 other regression tests are failing.  Mostly because of the unstable condition this test leaves the machine in.  This test also fails on win98 but not Win NT or win2000.  On Solaris this test passes with no problem.  

al.smith@eng 2001-07-23

#Test Results (version 2)
#Mon Jul 23 17:13:11 PDT 2001
#checksum:423933ff0d83e88d
#-----testdescription-----
$file=/.automount/sqesvr/root/export/st1/regression/merlin/jdk1.4Tests/tests/b72/java/util/Date/bug4323273.sh
$root=/.automount/sqesvr/root/export/st1/regression/merlin/jdk1.4Tests/tests/b72
keywords=bug4323273 shell
run=USER_SPECIFIED build mtdate\nUSER_SPECIFIED shell/timeout=800 bug4323273.sh\n
source=bug4323273.sh
title=Make sure that the static initialization is properly synchronized.

#-----environment-----

#-----testresult-----
description=file:///.automount/sqesvr/root/export/st1/regression/merlin/jdk1.4Tests/tests/b72/java/util/Date/bug4323273.sh
end=Mon Jul 23 17:13:11 PDT 2001
environment=regtest
execStatus=Failed. Execution failed: Program `sh' interrupted! (timed out?)
javatestOS=Redhat Linux 7.1 (x86)
javatestVersion=2.1.5
script=com.sun.javatest.regtest.RegressionScript 
sections=script_messages build compile shell
start=Mon Jul 23 16:59:48 PDT 2001
status=Failed. Execution failed: Program `sh' interrupted! (timed out?)
test=java/util/Date/bug4323273.sh
work=/export0/results/regression/merlin/b72/cwbybkr.eng.sun.com2.4.2-2-jth13-jdk14b72-07.23-16.59-java-util-Date/java/util/Date

#section:script_messages
----------messages:(5/289)----------
JDK under test: (/net/sqesvr/export/st1/jdk14-beta/b72/linux-i386)
java version "1.4.0-beta_refresh"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.0-beta_refresh-b72)
Java HotSpot(TM) Client VM (build 1.4.0-beta_refresh-b72, mixed mode)
Timeout signalled after 800.0 seconds

#section:build
----------messages:(3/102)----------
command: build mtdate 
reason: User specified action: run build mtdate 
elapsed time (seconds): 2.256
result: Passed. Compilation successful

#section:compile
----------messages:(3/200)----------
command: compile /.automount/sqesvr/root/export/st1/regression/merlin/jdk1.4Tests/tests/b72/java/util/Date/mtdate.java 
reason: .class file out of date or does not exist
elapsed time (seconds): 2.248
----------System.out:(0/0)----------
----------System.err:(2/191)----------
Note: /.automount/sqesvr/root/export/st1/regression/merlin/jdk1.4Tests/tests/b72/java/util/Date/mtdate.java uses or overrides a deprecated API.
Note: Recompile with -deprecation for details.
result: Passed. Compilation successful

#section:shell
----------messages:(3/130)----------
command: shell bug4323273.sh 
reason: User specified action: run shell/timeout=800 bug4323273.sh 
elapsed time (seconds): 800.022
----------System.out:(0/0)----------
----------System.err:(9/422)----------
1014 threads started.
Exception in thread "main" java.lang.OutOfMemoryError: unable to create new native thread
	at java.lang.Thread.start(Native Method)
	at java.lang.Shutdown.runHooks(Shutdown.java:129)
	at java.lang.Shutdown.sequence(Shutdown.java:168)
	at java.lang.Shutdown.exit(Shutdown.java:213)
	at java.lang.Runtime.exit(Runtime.java:93)
	at java.lang.System.exit(System.java:711)
	at mtdate.main(mtdate.java:61)
result: Failed. Execution failed: Program `sh' interrupted! (timed out?)


test result: Failed. Execution failed: Program `sh' interrupted! (timed out?)

Comments
EVALUATION It sometimes (not always) takes several minutes to schedule the main thread of mtthread.java which controls the execution. 20-40% of executions failed with timeout on schist due to this. Giving a higher priority to the main thread will fix this problem. (Note that one execution takes 4 to 8 minutes on the same system (schist) even with the fix. The JRE binaries should be on a local disk.) masayoshi.okutsu@Eng 2001-05-25 The fix was tested on Solaris 8 P2/825MHz (schist), Solaris 8 Ultra 60/450MHz, Solaris 8 Ultra-1/167MHz, Windows 2000 P3/933MHz, Arabic Windows 2000 P2/400MHz, Japanese Red Hat 6.2 P2/400MHz. masayoshi.okutsu@Eng 2001-05-25 Calling gc() seems to cause deadlock since b63b. Need to remove the gc() call. masayoshi.okutsu@Eng 2001-06-11 Since this bug report status has been changed for the same problem as 4480926. I'm closing this one as a dup. This shouldn't have done, though. This bug report is losing the correct history (unless looking at the change log). masayoshi.okutsu@Eng 2001-07-24
24-07-2001

SUGGESTED FIX *** /tmp/geta14993 Thu May 24 23:50:23 2001 --- mtdate.java Thu May 24 22:33:16 2001 *************** *** 10,20 **** static final int N = 2500; static Thread[] threads = new Thread[N]; /** * Creates N threads with a task object. Try to start the N * threads until start() fails due to out of memory. */ ! public mtdate() { task t; for (int i = 0; i < N; i++) { --- 10,23 ---- static final int N = 2500; static Thread[] threads = new Thread[N]; + public mtdate() { + } + /** * Creates N threads with a task object. Try to start the N * threads until start() fails due to out of memory. */ ! void startTest() { task t; for (int i = 0; i < N; i++) { *************** *** 39,44 **** --- 42,53 ---- public static void main(String args[]) { mtdate tasks = new mtdate(); + tasks.startTest(); + Thread.currentThread().setPriority(Thread.MAX_PRIORITY); + + /* + * Watch out for any failure of the thread execution. + */ for (int i = 0; i < 5; i++) { int count = Thread.activeCount(); if (count < active_num) { masayoshi.okutsu@Eng 2001-05-25
25-05-2001