United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-6750389 The cpuManufactorer does not correctly recognized for Solaris 10
JDK-6750389 : The cpuManufactorer does not correctly recognized for Solaris 10

Details
Type:
Bug
Submit Date:
2008-09-19
Status:
Closed
Updated Date:
2011-05-18
Project Name:
JDK
Resolved Date:
2011-05-18
Component:
install
OS:
solaris
Sub-Component:
servicetags
CPU:
x86
Priority:
P3
Resolution:
Fixed
Affected Versions:
6u7
Fixed Versions:

Related Reports
Backport:

Sub Tasks

Description
Original report is at http://www.netbeans.org/issues/show_bug.cgi?id=143095

Once fixed please send me updated sources/diff so I can keep our private copy in sync.

Here is the code for Solaris CPU Manufacturer. 
 private String getSolarisCpuManufacturer() {
        // not fully accurate, this could be another manufacturer (fujitsu for example)
        if ("sparc".equalsIgnoreCase(System.getProperty("os.arch"))) {
            return "Sun Microsystems, Inc";
        }

        // if we're here, then we'll try smbios (type 3)
        return getSmbiosData("3", "Manufacturer: ");
    }
However it is needed to check the paramter "4" to get CPU information.
-----------------
-->/usr/sbin/smbios -t 4
ID    SIZE TYPE
4     66   SMB_TYPE_PROCESSOR (processor)

  Manufacturer: AMD
  Version: AMD               
  Location Tag: CPU1    
..
I checked on "SunOS 5.11 snv_79 i86pc i386 i86pc".

                                    

Comments
EVALUATION

It's a bug.  The processor information is of type "4" instead of "3" in SMBIOS data according to http://www.dmtf.org/standards/published_documents/DSP0134_2.6.0.pdf.

Will fix it in the next release.
                                     
2008-10-10
EVALUATION

http://hg.openjdk.java.net/jdk7/tl/jdk/rev/baa10242c544
                                     
2008-12-05
SUGGESTED FIX

src/share/classes/com/sun/servicetag/SolarisSystemEnvironment.java
@@ -60,12 +60,12 @@
         // not fully accurate, this could be another manufacturer (fujitsu for example)
         if ("sparc".equalsIgnoreCase(System.getProperty("os.arch"))) {
             return "Sun Microsystems, Inc";
         }
 
-        // if we're here, then we'll try smbios (type 3)
-        return getSmbiosData("3", "Manufacturer: ");
+        // if we're here, then we'll try smbios (type 4)
+        return getSmbiosData("4", "Manufacturer: ");
     }
 
     /**
      * Tries to obtain the system manufacturer.
      * @return The system manufacturer (an empty string if not found or an error occurred)
                                     
2008-12-05



Hardware and Software, Engineered to Work Together