Solaris 10 10/08 Release Notes

Solaris Commands and Standards

The following section describes behavior changes in certain commands and standards in Solaris 10 OS.

SPARC: Applications Noncompliant With 8–byte Aligned Mutexes Fail (6729759)

Objects of type mutex_t and pthread_mutex_t must start at 8-byte aligned addresses. Applications that do not satisfy this requirement fail. The following error message is displayed:

*** _THREAD_ERROR_DETECTION: lock usage error detected ***
"mutex is misaligned"
"condvar is misaligned"

Workaround: Setting the environment variable to the following values causes alignment errors to be reported on stderr:

Users should test their applications with the THREAD_ERROR_DETECTION environment variable set to one of these values and request corrections to noncompliant applications.

winbind Fetches Only the First 1000 Active Directory Users

This bug occurs while using the Samba server with winbind in an Active Directory environment. The Solaris 10 10/08 release includes the Samba 3.0.28 software version. When querying all the users or more than 1000 users from the Active Directory server, winbind fetches only the first 1000 results.

Workaround: None.

PgAdmin III 1.6 Does Not Support PostgreSQL version 8.3

PgAdmin III 1.6 cannot be used to administer PostgreSQL 8.3 version. PgAdmin 1.6 does not understand catalog structures in the new PostgreSQL version. Various error messages are displayed.

Workaround: Upgrade to PgAdmin III version 1.8.

Changed Man Pages for Solaris Trusted Extensions Are in Reference Manual Only

The following Solaris Trusted Extensions man pages are revised for this release:

The revised man pages cannot be viewed using the man command. To view the revised man pages, see the Solaris Trusted Extensions Reference Manual.

Bash 3.00 No Longer Sets Some Environment Variables

Solaris 10 OS includes Bash 3.00. This shell no longer automatically exports the following variables to the environment:

This new behavior applies even if the shell assigns default values to these variables.

Workaround: Export these variables manually.

New ln Utility Requires -f Option

The behavior of /usr/bin/ln has changed to adhere to all of the standards from SVID3 through XCU6. If you use the ln command without the -f option to link to an existing target file, the link is not established. Instead, a diagnostic message is written to standard error, and the command proceeds to link any remaining source files. Finally, the ln command exits with an error value.

For example, if file b exists, the syntax ln a b generates the following message:

ln: b: File exists

This behavior change affects existing shell scripts or programs that include the ln command without the -f option. Scripts that used to work might now fail in Solaris 10 OS.

Workaround: Use the -f option with the ln command. If you have existing scripts that execute the link utility, make sure to modify these scripts to comply with the command's new behavior.

New tcsh Rejects setenv Variable Names That Use a Dash or an Equals Sign

In Solaris 10 OS, tcsh has been upgraded to version 6.12. This version no longer accepts environment variables whose names use a dash or an equals sign. Scripts that contain setenv lines and that work in earlier Solaris versions might generate errors in the current Solaris 10 release. The following error message is displayed:

setenv: Syntax error

For more information, refer to the tcsh man page for the Solaris 10 OS.

Workaround: Do not use the dash or equals sign in names for environment variables.

STDIO getc Family EOF Condition Behavior Change

Applications that were built in strict standard C conformance mode are affected by the behavior changes of certain library functions. An example is applications that were compiled by using the cc -Xc or c89 compilation mode. The behavior has changed for the following library functions:

A formal interpretation of the 1990 C Standard requires that after an end-of-file condition is set, no more data is returned from the file on subsequent input operations. The exception is if the file pointer is repositioned or the error and end-of-file flags are explicitly cleared by the application.

The behavior for all other compilation modes remains unchanged. Specifically, the interfaces can read additional newly written data from the stream after the end-of-file indicator has been set.

Workaround: Call fseek() or clearerr() on the stream to read additional data after the EOF condition has been reported on the stream.

Output Columns of the ps Command Have Been Widened

Due to larger UIDs, processor ids, and cumulative execution time, the columns of the ps command output have been widened. Customer scripts should not assume fixed output columns.

Workaround: Scripts should use the -o option of the ps command.

For more information, see the ps(1) man page.

Command ping -v Does Not Work on IPv6 Addresses (4984993)

The command ping -v fails when the command is applied to addresses that use Internet Protocol version 6 (IPv6). The following error message is displayed:

ping: setsockopt IPV6_RECVRTHDRDSTOPTS Invalid argument

Workaround: None. To obtain the same ICMP packet information that ping -v provides, use the snoop command.