RFR (S): 8139801: Error message from validation check has wrong order on Windows
sangheon.kim
sangheon.kim at oracle.com
Mon Oct 19 15:56:17 UTC 2015
Hi all,
Can I get some reviews for this change of adding 'fflush()' on
validation message print?
The order of 'validation error message' and 'vm exit message' is wrong
on Windows.
- Windows is buffering the validation error message which is sent to
'stderr'.
- 'stderr' from 'jvm.dll' is flushed later than 'stderr' from the caller
of 'jvm.dll'.
eg) Expected message order (all other platforms except Windows)
$ java -XX:MinTLABSize=1 -version
1) MinTLABSize (1) must be greater than or equal to reserved area in
TLAB (16)
2) Error: Could not create the Java Virtual Machine. \n Error: A
fatal exception has occurred. Program will exit.
On Windows:
$ java -XX:MinTLABSize=1 -version
2) Error: Could not create the Java Virtual Machine. \n Error: A
fatal exception has occurred. Program will exit.
1) MinTLABSize (1) must be greater than or equal to reserved area in
TLAB (16)
As a solution, I added 'fflush()' on print function of validation check
(CommandLineError::print).
And any other functions that are printing to 'stderr' would have similar
fix for Windows.
CR: https://bugs.openjdk.java.net/browse/JDK-8139801
Webrev: http://cr.openjdk.java.net/~sangheki/8139801/webrev.00/
Testing: JPRT
Thanks,
Sangheon
More information about the hotspot-runtime-dev
mailing list