JDK-4480926 : Regression test java/util/Date/bug4323273.sh fails on Linux
  • Type: Bug
  • Component: core-libs
  • Sub-Component: java.util:i18n
  • Affected Version: 1.4.0
  • Priority: P2
  • Status: Closed
  • Resolution: Fixed
  • OS: generic,linux,solaris_8
  • CPU: generic,x86
  • Submitted: 2001-07-17
  • Updated: 2001-09-27
  • Resolved: 2001-08-08
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.
Other
1.4.0 beta2Fixed
Related Reports
Duplicate :  
Relates :  
Description
This regression test creates threads until it receives an error, and then it
proceeds with the test itself.  This is a problem on Linux systems, where the
total number of threads is limited and the test is therefore unable to complete
properly when run under the jtreg harness.

-- mr@eng 2001/7/17

 /////////////////////

The regression test java/util/Date/bug4323273.sh is failing on Linux 7.1 for the reasons that Mark has outlined above. 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
CONVERTED DATA BugTraq+ Release Management Values COMMIT TO FIX: merlin-beta2 FIXED IN: merlin-beta2 INTEGRATED IN: merlin-beta2 VERIFIED IN: merlin-beta3
14-06-2004

EVALUATION I realized any of the revisions of this test program can reproduce the original bug (i.e., 4323273) on Linux. Nonetheless, each time JVM changed some behavior, such as garbage collation, I needed to spend some time to maintain this program. Since there's no platform dependency in the original bug, I will disable this regression test on Linux. (It's hard to reproduce the problem with a small number of threads on Solaris and Win32.) masayoshi.okutsu@Eng 2001-07-18 Obviously System.exit() (which calls Shutdown.exit()) behavior changed on Linux and Win32. I assume the change was intentional. masayoshi.okutsu@Eng 2001-07-24 ###@###.### 2001-09-27 This bug was verified with Merlin build 80.
24-07-2001

SUGGESTED FIX Create a much smaller number of threads (say, 100), or at least arrange for all of the test threads to terminate before System.exit is invoked. -- mr@eng 2001/7/17
07-09-0183