-
Bug
-
Resolution: Fixed
-
P3
-
7, 8
-
b105
-
b115
-
windows
-
Verified
2 tests fail on fastdebug builds in HotSpot compiler nightly:
java/lang/ProcessBuilder/InheritIOEHandle.java
java/lang/ProcessBuilder/SiblingIOEHandle.java
because JTreg fails to cleanup after tests writing: StatusError: failed to clean up files after test...
JTreg tries to remove hotspot.log file generated by test's processes, but fails because one of them is still holding the hotspot.log file.
This file is generated by default on fatsdebug VM builds.
Both tests synchronize processes A and C with the file StopC.txt. Process C waits in a loop for a StopC.txt file created in the test directory, and if file exists process C exits. StopC.txt file is created by process A after A is done its work.
When A ends JTreg marks test as passed and tries to remove all files in test directory ("-retain:none"). Because C checks for a file with some timeout JTreg is able to remove StopC.txt file and hence C will end much later holding the hotspot.log file for a while.
JTreg can't remove the hotspot.log file while it's open by C.
To fix this test process A should wait for C and exit only after C is finished.
java/lang/ProcessBuilder/InheritIOEHandle.java
java/lang/ProcessBuilder/SiblingIOEHandle.java
because JTreg fails to cleanup after tests writing: StatusError: failed to clean up files after test...
JTreg tries to remove hotspot.log file generated by test's processes, but fails because one of them is still holding the hotspot.log file.
This file is generated by default on fatsdebug VM builds.
Both tests synchronize processes A and C with the file StopC.txt. Process C waits in a loop for a StopC.txt file created in the test directory, and if file exists process C exits. StopC.txt file is created by process A after A is done its work.
When A ends JTreg marks test as passed and tries to remove all files in test directory ("-retain:none"). Because C checks for a file with some timeout JTreg is able to remove StopC.txt file and hence C will end much later holding the hotspot.log file for a while.
JTreg can't remove the hotspot.log file while it's open by C.
To fix this test process A should wait for C and exit only after C is finished.
- relates to
-
JDK-7147084 (process) appA hangs when read output stream of appB which starts appC that runs forever
- Closed