JDK-6750389 : The cpuManufactorer does not correctly recognized for Solaris 10
  • Type: Bug
  • Component: install
  • Sub-Component: servicetags
  • Affected Version: 6u7
  • Priority: P3
  • Status: Closed
  • Resolution: Fixed
  • OS: solaris
  • CPU: x86
  • Submitted: 2008-09-19
  • Updated: 2011-05-18
  • Resolved: 2011-05-18
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 6 JDK 7
6u12Fixed 7 b43Fixed
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
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)
05-12-2008

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

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.
10-10-2008