Notes de version de Solaris 10 5/09

Commandes et standards Solaris

La section suivante décrit les changements de comportement dans certaines commandes et standards du SE Solaris 10.

SPARC : Échec des applications non conformes à des mutex alignés 8 octets (6729759)

Les objets de type mutex_t et pthread_mutex_t doivent commencer par des adresses alignées 8 octets. Les applications qui ne remplissent pas cette condition échouent. Le message d'erreur suivant s'affiche :


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

Solution de contournement : la définition de la variable d'environnement des valeurs suivantes permette le signalement des erreurs d'alignement dans stderr :

Les utilisateurs doivent tester leurs applications avec la variable d'environnement THREAD_ERROR_DETECTION définies sur l'une de ces valeurs et demander la correction des applications non conformes.

winbind ne récupère que les 1000 premiers utilisateurs Active Directory.

Ce bogue se produit lorsque vous utilisez le serveur Samba avec winbind dans un environnement Active Directory. La version Solaris 10 5/09 inclut la version logicielle Samba 3.0.28. Lorsque vous interrogez tous les utilisateurs ou plus de 1000 d'entre eux depuis un serveur Active Directory, winbind ne récupère que les 1000 premiers résultats.

Solution de contournement : aucune.

PgAdmin III 1.6 ne prend pas en charge PostgreSQL version 8.3

PgAdmin III 1.6 ne peut pas être utilisé pour gérer la version PostgreSQL 8.3. PgAdmin 1.6 ne comprend pas les structures de catalogue dans la nouvelle version PostgreSQL. Plusieurs messages d'erreur s'affichent.

Solution de contournement : mise à niveau vers PgAdmin III version 1.8.

Les pages de manuel modifiées concernant Solaris Trusted Extensions se trouvent uniquement dans le manuel de référence

Pour cette version, les pages de manuel Solaris Trusted Extensions ayant fait l'objet d'une révision sont les suivantes :

L'exécution de la commande man ne permet pas d'afficher les pages de manuel révisées. Pour cela, reportez-vous au Solaris Trusted Extensions Reference Manual .

Bash 3.00 ne définit plus certaines variables d'environnement

SE Solaris 10 comporte Bash 3.00. Ce shell n'exporte plus automatiquement les variables suivantes dans l'environnement :

Ce nouveau comportement s'applique même si le shell attribue des valeurs par défaut à ces variables.

Solution de contournement : exportez ces variables manuellement.

Le nouvel utilitaire ln nécessite l'option -f

Le comportement de /usr/bin/ln a été modifié afin de respecter tous les standards de SVID3 à XCU6. Si vous tentez d'établir la liaison vers un fichier cible existant à l'aide de la commande ln sans l'option -f, l'opération échoue. À la place, un message de diagnostic est écrit pour signaler une erreur de standard et la commande lie les fichiers source restants. Finalement, la commande ln se termine avec une valeur d'erreur.

Par exemple, si le fichier b existe, la syntaxe ln a b génère le message suivant :


ln: b: File exists

Ce changement de comportement a une incidence sur les scripts de shell existants ou les programmes qui comportent la commande ln sans l'option -f. Les scripts qui fonctionnaient auparavant peuvent maintenant échouer dans le SE Solaris 10.

Solution de contournement : utilisez l'option -f avec la commande ln. Si vous disposez de scripts qui exécutent l'utilitaire de liens, modifiez ces scripts pour qu'ils soient conformes au nouveau comportement de cette commande.

Le nouveau tcsh rejette les noms de variables setenv qui comportent un tiret ou un signe égal

Dans le SE Solaris 10, tcsh a été mis à niveau vers la version 6.12. Cette version n'accepte plus les variables d'environnement dont le nom comporte un tiret ou un signe égal. Les scripts qui contiennent les lignes setenv et qui fonctionnent dans les versions antérieures de Solaris peuvent générer des erreurs dans la version actuelle du Solaris10. Le message d'erreur suivant s'affiche :


setenv: Syntax error

Pour plus d'informations, consultez la page de manuel tcsh pour le SE Solaris 10.

Solution de contournement : n'utilisez pas de tirets ni de signes égal dans les variables d'environnement.

Changement de comportement de la condition STDIO getc Family EOF

Les applications créées en stricte conformité avec le standard C sont concernées par les changements de comportement de certaines fonctions de bibliothèque. Par exemple, des applications compilées à l'aide du mode de compilation cc -Xc ou c89. Le comportement des fonctions de bibliothèque suivantes a changé :

Selon l'interprétation formelle du standard 1990 C, une fois qu'une condition de marquage de fin de fichier end-of-file est appliquée, aucune donnée ne doit plus être retournée du fichier à la suite d'opérations d'entrée ; sauf si le pointeur de fichier est repositionné ou si l'erreur ou les indicateurs de fin de fichier sont explicitement supprimés par l'application.

Le comportement des autres modes de compilation ne change pas. En particulier, les interfaces peuvent lire les dernières données écrites en provenance du flux après que l'indicateur de fin de fichier end-of-file a été appliqué.

Solution de contournement : appelez fseek() ou clearerr() sur le flux pour lire les données supplémentaires après que la condition EOF a été signalée sur celui-ci.

Les colonnes de sortie de la commande ps sont élargies

En raison d'ID utilisateur et d'ID processeur plus grands, ainsi que d'un temps d'exécution cumulatif plus long, les colonnes de sortie de la commande ps ont été élargies. Par conséquent, les scripts des utilisateurs ne doivent pas être destinés à des colonnes de sortie fixes.

Solution de contournement : les scripts doivent utiliser l'option -o de la commande ps.

Pour plus d'informations, reportez-vous à la page de manuel ps(1) .