The following Change Requests (CRs) and notes reflect known problems with the Sun Studio Express software. Workarounds are documented as they become available.
----
{section}
{column}
h2. Solaris Operating System
* Solaris OS CR 6567350
CPC support for Intel Core2 processors causes HW counter-profiling on Intel Core2 and Xeon processors to fail.
----
h2. Performance Analyzer
* Analyzer CR 6537929
CPC support for Intel Woodcrest (Xeon 51xx) is not working
* Analyzer CR 6714565
Analyzer JDK search strategy does not match IDE's search strategy. This could cause the wrong JDK to be used, or a valid JDK to be missed.
* Analyzer CR 6374102
Collector misses lazily loaded objects, causes some data to be attributed to Unknown, when the library is lazily-loaded.
*Workaround* Set *LD_BIND_NOW* to 1.
The following items detail the serious known problems with the MPI features implemented for this Express release.
* Analyzer CR 6696433
{{collect}} emits spurious messages that inundate the output for high-np MPI jobs
* Analyzer CR 6698228
The Add Experiment command does not correctly load MPI experiments after an experiment has been loaded.
*Workaround* Use the Open Experiment command to load MPI experiments.
* Analyzer CR 6674802
The Filter Data command does not work on MPI tabs.
*Workaround* Use the MPI Chart Control and MPI Timeline Control tabs to filter MPI data.
* Analyzer CR 6718586
The Event Timeline tab takes too long to show MPI experiments
* Analyzer CR 6675341
The Event Timeline tab does not show correct timestamps for MPI events.
*Workaround* Use the MPI Timeline tab instead of the event Timeline tab to view MPI data.
* Analyzer CR 6718626
The MPI Timeline does not show connecting lines for MPI Collectives.
* Analyzer CR 6718638
On Linux, the "MPI Wait" metric is undercounted if MPI sleeps rather than busy-waits.
* Analyzer CR 6695217
Collection may fail when tracing certain combinations of MPI calls.
* Analyzer CR 6671757
Clock skew: multi-node-cluster timestamps should be consistent. Skew between nodes may cause messages to appear to go backwards in time.
----
h2. C Compiler
* Specifying both {{\-include}} and {{\-g}} causes the compiler to dump core.
* Default treatment of string literals by the C compiler can lead to segmentation faults.
With this express release the Sun Studio C compiler now places string literals in read only memory by default. For C programs that modify string literals this can result in a segmentation fault. The best solution to the problem is to avoid this non-portable and undefined programming practice by correcting the program's code to avoid modifying a string literal. A work-around is to use the flag {{\-features=no%conststrings}} which places string literals in writable memory.
* CR 6758500
The C compiler cannot build 32-bit programs or libraries on 64-bit Ubuntu 8. Possible workaround is to add the /lib32 and /usr/lib32 directories to your PATH.
----
h2. C++ Compiler
The default standard C++ library, {{libCst.so.1}}, included in the November 2008 Sun Studio Express provides functions which are not available in the library of the latest Solaris software patch for C++ runtime libraries. See CR 6761222.
The missing function are listed below:
{{bool std::operator==(const std::string, const char*);}}
{{bool std::operator==(const char*, const std::string);}}
Consequently, a C++ program that is built by using the November 2008 Sun Studio Express software, especially one compiled with {{\-g}}, might not run on a system where the express software is not installed in the same location.
The following are possible workarounds:
# Compile with {{\-g0}} instead of {{\-g}}. This allows the compiler to generate the functions inline.
# Install the November 2008 Sun Studio Express software in the same location on the target machine.
# Copy the portion of the November 2008 Sun Studio Express installation from {{SUNWspro/prod/usr/lib}} to the same location on the target machine.
When the newer Solaris SUNWlibC patch for C++ runtime libraries is available, install the patch on all target machines. Subsequently, no workarounds will be needed.
* CR 6758500
The C++ compiler cannot build 32-bit programs or libraries on 64-bit Ubuntu 8. Possible workaround is to add the /lib32 and /usr/lib32 directories to your PATH.
----
h2. Fortran Compiler
* Fortran CR 6673813
Scoping bug in module internal procedures
If an internal procedure inside a module procedure happens to have the same name as an array defined in the module then the internal procedure should be defined before it is referenced by other internal procedures inside the same module procedure for it to be correctly recognized
* Fortran CR 6674892
f95 fails with an INTERNAL error when using DATE_AND_TIME(3F)
Calling DATE_AND_TIME(3F) with allocatable arrays for arguments can cause the compiler to dump core. The workaround is not to use allocatable arrays when calling DATE_AND_TIME(3F).
----
h2. dbx
* dbx CR 6563341
dbx produces mismatched-checksum warnings during library loading on Ubuntu 8.
* dbx CR 6757670
dbx hangs when debugging multi-threaded programs on 32-bit Red Hat Enterprise Linux 5.
* dbx CR 6741442
dbx gives the message 'dbx: cannot determine return address - stack corrupted' after it displays a function while runtime checking is enabled on Red Hat Enterprise Linux 5 and SuSE Linux Enterprise Server 10.
* dbx CR 6694047
dbx shows the stacktrace incorrectly while debugging a core file from a program that was compiled with g++ on Red Hat Enterprise Linux 5 and SuSE Linux Enterprise Server 10.
----
{column}
{column:width=30%}
{panel}
h3. Contents
{toc:minLevel=2|maxLevel=2}
{panel}
{column}
{section}
----
{section}
{column}
h2. Solaris Operating System
* Solaris OS CR 6567350
CPC support for Intel Core2 processors causes HW counter-profiling on Intel Core2 and Xeon processors to fail.
----
h2. Performance Analyzer
* Analyzer CR 6537929
CPC support for Intel Woodcrest (Xeon 51xx) is not working
* Analyzer CR 6714565
Analyzer JDK search strategy does not match IDE's search strategy. This could cause the wrong JDK to be used, or a valid JDK to be missed.
* Analyzer CR 6374102
Collector misses lazily loaded objects, causes some data to be attributed to Unknown, when the library is lazily-loaded.
*Workaround* Set *LD_BIND_NOW* to 1.
The following items detail the serious known problems with the MPI features implemented for this Express release.
* Analyzer CR 6696433
{{collect}} emits spurious messages that inundate the output for high-np MPI jobs
* Analyzer CR 6698228
The Add Experiment command does not correctly load MPI experiments after an experiment has been loaded.
*Workaround* Use the Open Experiment command to load MPI experiments.
* Analyzer CR 6674802
The Filter Data command does not work on MPI tabs.
*Workaround* Use the MPI Chart Control and MPI Timeline Control tabs to filter MPI data.
* Analyzer CR 6718586
The Event Timeline tab takes too long to show MPI experiments
* Analyzer CR 6675341
The Event Timeline tab does not show correct timestamps for MPI events.
*Workaround* Use the MPI Timeline tab instead of the event Timeline tab to view MPI data.
* Analyzer CR 6718626
The MPI Timeline does not show connecting lines for MPI Collectives.
* Analyzer CR 6718638
On Linux, the "MPI Wait" metric is undercounted if MPI sleeps rather than busy-waits.
* Analyzer CR 6695217
Collection may fail when tracing certain combinations of MPI calls.
* Analyzer CR 6671757
Clock skew: multi-node-cluster timestamps should be consistent. Skew between nodes may cause messages to appear to go backwards in time.
----
h2. C Compiler
* Specifying both {{\-include}} and {{\-g}} causes the compiler to dump core.
* Default treatment of string literals by the C compiler can lead to segmentation faults.
With this express release the Sun Studio C compiler now places string literals in read only memory by default. For C programs that modify string literals this can result in a segmentation fault. The best solution to the problem is to avoid this non-portable and undefined programming practice by correcting the program's code to avoid modifying a string literal. A work-around is to use the flag {{\-features=no%conststrings}} which places string literals in writable memory.
* CR 6758500
The C compiler cannot build 32-bit programs or libraries on 64-bit Ubuntu 8. Possible workaround is to add the /lib32 and /usr/lib32 directories to your PATH.
----
h2. C++ Compiler
The default standard C++ library, {{libCst.so.1}}, included in the November 2008 Sun Studio Express provides functions which are not available in the library of the latest Solaris software patch for C++ runtime libraries. See CR 6761222.
The missing function are listed below:
{{bool std::operator==(const std::string, const char*);}}
{{bool std::operator==(const char*, const std::string);}}
Consequently, a C++ program that is built by using the November 2008 Sun Studio Express software, especially one compiled with {{\-g}}, might not run on a system where the express software is not installed in the same location.
The following are possible workarounds:
# Compile with {{\-g0}} instead of {{\-g}}. This allows the compiler to generate the functions inline.
# Install the November 2008 Sun Studio Express software in the same location on the target machine.
# Copy the portion of the November 2008 Sun Studio Express installation from {{SUNWspro/prod/usr/lib}} to the same location on the target machine.
When the newer Solaris SUNWlibC patch for C++ runtime libraries is available, install the patch on all target machines. Subsequently, no workarounds will be needed.
* CR 6758500
The C++ compiler cannot build 32-bit programs or libraries on 64-bit Ubuntu 8. Possible workaround is to add the /lib32 and /usr/lib32 directories to your PATH.
----
h2. Fortran Compiler
* Fortran CR 6673813
Scoping bug in module internal procedures
If an internal procedure inside a module procedure happens to have the same name as an array defined in the module then the internal procedure should be defined before it is referenced by other internal procedures inside the same module procedure for it to be correctly recognized
* Fortran CR 6674892
f95 fails with an INTERNAL error when using DATE_AND_TIME(3F)
Calling DATE_AND_TIME(3F) with allocatable arrays for arguments can cause the compiler to dump core. The workaround is not to use allocatable arrays when calling DATE_AND_TIME(3F).
----
h2. dbx
* dbx CR 6563341
dbx produces mismatched-checksum warnings during library loading on Ubuntu 8.
* dbx CR 6757670
dbx hangs when debugging multi-threaded programs on 32-bit Red Hat Enterprise Linux 5.
* dbx CR 6741442
dbx gives the message 'dbx: cannot determine return address - stack corrupted' after it displays a function while runtime checking is enabled on Red Hat Enterprise Linux 5 and SuSE Linux Enterprise Server 10.
* dbx CR 6694047
dbx shows the stacktrace incorrectly while debugging a core file from a program that was compiled with g++ on Red Hat Enterprise Linux 5 and SuSE Linux Enterprise Server 10.
----
{column}
{column:width=30%}
{panel}
h3. Contents
{toc:minLevel=2|maxLevel=2}
{panel}
{column}
{section}