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