United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: 7178775 Format of print_os_info changed on Solaris after integration of CR 7165755
7178775 : Format of print_os_info changed on Solaris after integration of CR 7165755

Details
Type:
Bug
Submit Date:
2012-06-21
Status:
Closed
Updated Date:
2012-07-31
Project Name:
JDK
Resolved Date:
2012-07-31
Component:
hotspot
OS:
solaris
Sub-Component:
runtime
CPU:
generic
Priority:
P4
Resolution:
Won't Fix
Affected Versions:
hs23.2
Fixed Versions:
hs24

Related Reports
Relates:

Sub Tasks

Description
After integration of CR 7165755 information about libthread printed on the new line, while previously it was printed on the same line as OS version:

Before: 
uname:SunOS 5.11 11.0 i86pc  (T2 libthread)
rlimit: STACK 10000k, CORE infinity, NOFILE 65536, AS infinity
load average:0.48 0.24 0.13

http://stt-13.ru.oracle.com/results/1.7.0_06/b11/vm/137D0D2B8E8_vm.debug.testlist/ResultDir/StackTrace_jvm_core/hs_err_pid6020.log

After:
uname:SunOS 5.11 11.0 i86pc
  (T2 libthread)
rlimit: STACK 10000k, CORE infinity, NOFILE 65536, AS infinity
load average:0.46 0.33 0.20

http://stt-13.ru.oracle.com/results/1.7.0_06/b11/vm/137D0E03428_vm.debug.testlist/ResultDir/StackTrace_jvm_core/hs_err_pid22408.log

Now it seems quite odd.
I think that it should be placed either on the same line as uname output or on the distinct line, but preceded with some title (as for libc on linux).

                                    

Comments
EVALUATION

The library info was factored out into a distinct function, which preserved the use of print:

+void os::Solaris::print_libversion_info(outputStream* st) {
+ if (os::Solaris::T2_libthread()) {
+     st->print(" (T2 libthread)");
+ }
+ else {
+     st->print(" (T1 libthread)"); 

and this is called in the sequence

+ os::Solaris::print_distro_info(st);
+ os::Posix::print_uname_info(st);
+ os::Solaris::print_libversion_info(st); 

but os::Posix::print_uname_info ends with

+  st->cr();

so the library info goes on a line by itself.

It is reasonable for print_name_info to print a line. On linux there was already a newline before any library info was printed.

The best solution, as suggested, may be to make the solaris library text more distinct eg:

Libthread: T1
Libthread: T2

though we do not support any platforms using T1 anymore (and haven't done so for a while) so that information is somewhat irrelevant.
                                     
2012-06-21



Hardware and Software, Engineered to Work Together