Note su Solaris 10 10/08

Comandi e standard di Solaris

La sezione seguente descrive le modifiche nel comportamento di alcuni comandi e standard di Solaris 10.

SPARC: Problemi con le applicazioni non conformi ai mutex allineati su 8 byte (6729759)

Gli oggetti di tipo mutex_t e pthread_mutex_t devono partire da indirizzi allineati su 8 byte. Le applicazioni che non soddisfano questo requisito hanno problemi di funzionamento. Viene visualizzato il seguente messaggio di errore:


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

Soluzione. L'impostazione della variabile d'ambiente qui indicata sui valori seguenti produce la visualizzazione degli errori di allineamento su stderr:

Gli utenti dovrebbero verificare le applicazioni con la variabile d'ambiente THREAD_ERROR_DETECTION impostata su uno dei valori indicati sopra e richiedere le opportune correzioni per le applicazioni non conformi.

winbind riporta solo i primi mille utenti di Active Directory

Questo bug si verifica nell'utilizzo del server Samba con winbind in un ambiente Active Directory. Solaris 10 10/08 include la versione 3.0.28 del software Samba. Quando si esegue un'interrogazione su tutti gli utenti o su oltre mille utenti del server di Active Directory, winbind carica solo i primi mille risultati.

Soluzione. Nessuna.

PgAdmin III 1.6 non supporta PostgreSQL versione 8.3

PgAdmin III 1.6 non può essere usato per amministrare la versione 8.3 di PostgreSQL. PgAdmin 1.6 non è in grado di comprendere le strutture dei cataloghi della nuova versione di PostgreSQL. Vengono visualizzati vari messaggi di errore.

Soluzione. Eseguire un aggiornamento a PgAdmin III versione 1.8.

Le pagine man modificate relative a Solaris Trusted Extensions sono presenti solo nel manuale di riferimento

Nella presente versione sono state revisionate le seguenti pagine man relative a Solaris Trusted Extensions:

Queste pagine man riviste non possono essere visualizzate con il comando man. Per visualizzare queste pagine man, vedere il documento Solaris Trusted Extensions Reference Manual .

Bash 3.00 non imposta più alcune variabili d'ambiente

Solaris 10 include la shell Bash 3.00. Questa shell non esporta più automaticamente le seguenti variabili nell'ambiente:

Questo nuovo comportamento si verifica anche se la shell assegna valori predefiniti a queste variabili.

Soluzione. Esportare queste variabili manualmente.

Il nuovo programma ln richiede l'opzione -f

Il comportamento di /usr/bin/ln è stato modificato per aderire agli standard da SVID3 a XCU6. Se si utilizza il comando ln senza l'opzione -f per eseguire il collegamento a un file di destinazione esistente, il collegamento non viene stabilito. Un messaggio diagnostico viene inviato all'output standard per i messaggi di errore e il comando procede collegando eventuali altri file. Infine, il comando ln termina con un valore di errore.

Se ad esempio il file b esiste, la sintassi ln a b genera il messaggio seguente:


ln: b: File exists

Questo nuovo comportamento ha effetto sugli script delle shell o sui programmi esistenti che includono il comando ln senza l'opzione -f. Alcuni script che operavano senza problemi possono generare un errore in Solaris 10.

Soluzione. Usare l'opzione -f con il comando ln. Se si dispone di uno script che esegue il programma ln, modificarlo in modo conforme al nuovo comportamento del comando.

La nuova versione di tcsh non accetta le variabili setenv che contengono trattini o segni di uguale

In Solaris 10, tcsh è stato aggiornato alla versione 6.12. La versione attuale non supporta più variabili d'ambiente i cui nomi contengono un trattino o un segno di uguale. Gli script che contengono righe setenv e che nelle precedenti versioni di Solaris funzionavano correttamente possono generare errori in Solaris 10. Viene visualizzato il seguente messaggio di errore:


setenv: Syntax error

Per maggiori informazioni, vedere la pagina man di tcsh per Solaris 10.

Soluzione. Non usare trattini o segni di uguale nei nomi delle variabili d'ambiente.

Comportamento modificato in relazione alla condizione EOF nella famiglia getc STDIO

Le applicazioni create in stretta conformità con gli standard C sono interessate dalle modifiche al comportamento di alcune funzioni delle librerie. Un esempio è rappresentato dalle applicazioni compilate in modalità cc -Xc o c89. Le modifiche al comportamento riguardano le seguenti funzioni delle librerie:

Un'interpretazione formale dello standard C 1990 richiede che, dopo l'impostazione di una condizione di fine file, il file non restituisca altri dati nelle successive operazioni di input. È prevista un'eccezione quando il puntatore del file viene riposizionato o quando i flag di errore e di fine file vengono esplicitamente cancellati dall'applicazione.

Il comportamento rimane invariato per tutte le altre modalità di compilazione. In particolare, le interfacce possono leggere dal flusso i dati aggiuntivi scritti dopo l'impostazione dell'indicatore di fine file.

Soluzione. Chiamare fseek() o clearerr() nel flusso per continuare la lettura di dati aggiuntivi dopo la rilevazione della condizione EOF.

Le colonne di output del comando ps sono state allargate

A causa della maggiore lunghezza degli UID, degli id dei processori e del tempo di esecuzione cumulativo, le colonne del comando ps sono state allargate. Gli script non devono perciò basarsi sull'uso di colonne di output a larghezza fissa.

Soluzione. Negli script, usare l'opzione -o del comando ps.

Per maggiori informazioni, vedere la pagina man ps(1).

Il comando ping -v non funziona con gli indirizzi IPv6 (4984993)

Il comando ping -v non riesce quando viene applicato a indirizzi che utilizzano la versione 6 del protocollo Internet (IPv6). Viene visualizzato il seguente messaggio di errore:


ping: setsockopt IPV6_RECVRTHDRDSTOPTS Invalid argument

Soluzione. Nessuna. Per ottenere le stesse informazioni sui pacchetti ICMP restituite dal comando ping -v, usare il comando snoop.