I det här kapitlet beskrivs kända körtidsproblem.
Följande beskrivningar av körtidsfel har lagts till i kapitlet sedan dokumentet publicerades på Solaris 8 10/00 dokumentations.cd:n och i installationskiosken på Solaris 8 10/00 installations-cd:n.
Den här produkten heter Solaris 8 10/00, men det kan hända att kod och sökvägar refererar till Solaris 2.8 eller SunOS 5.8. Använd alltid koden eller sökvägen exakt så som den är skriven.
Ett fel känt som "Brown Orifice" skapar en HTTP-server som en Java-applet vilket gör att Netscape-webbläsaren fungerar som en webbserver. Det betyder att fjärranslutna användare kan få åtkomst till lokala och nätverksanslutna filer. De filerna inkluderar webbadresser bakom brandväggar med anslutningar av typen "file://", "http://", "https://", "ftp://" och andar typer. Det finns inga symptom som visar att problemet har inträffat.
Detta är inte fel i arkitekturen hos säkerhetsmodellen i Java.
Netscape Communicator versionerna 4.04 till 4.74 påverkas. Mer information om den här sårbarheten finns i CERT-instruktionerna CA-2000-15 på: http://www.cert.org/advisories/CA-2000-15.html
Du kan korrigera felet och installera Netscape Communicator version 4.75 från: http://www.sun.com/software/solaris/netscape
ypbind har ett bufferspill som kan utnyttjas från en fjärransluten användare i försök att få root-behörighet till systemet.
Lösning: Om du vill undvika det här problemet installerar du korrigeringsfilen 110322-01 .
Detta problem uppstår alltid när du kompilerar ett Motif-program i Solaris 8 om du länkar till ett delat bibliotek som har kompilerats i Solaris 2.4, 2.5, 2.5.1 eller 2.6 och det äldre biblioteket också använder Motif-API:t (Application Programming Interface).
Motif-programmet använder Motif version 2.1, och det gamla delade biblioteket använder Motif version 1.2. En minnesutskriftsfil skapas. Detta är inte ett binärt kompatibilitetsproblem för program som har kompilerats i Solaris 2.4, 2.5, 2.5.1 eller 2.6. Sådana program bör fungera korrekt i Solaris 8-operativmiljön.
Lösning: Om det finns ett äldre delat bibliotek som länkar direkt till Motif-biblioteket, och du vill kompilera ett program i Solaris 8 som länkar till både Motif-biblioteket och det äldre biblioteket, bör du använda följande rad för kompileringen:
cc foo.c -o program -DMOTIF12_HEADERS -I/usr/openwin/include -I/usr/dt/include -lXm12 -lXt -lX11 |
sdtwinlst (Window List) och sdtgwm(Fönsterhanteraren) -ikoner visas inte i Programhanteraren. Istället visas en generisk ikon. Anledningen är att två åtgärdsfiler, sdtgwm.dt och sdtwinlst.dt, saknas i katalogen /usr/dt/appconfig/types/C.
Lösning: Så här lägger du till de saknade ikonerna:
Skapa en ny fil i /usr/dt/appconfig/type/C och kalla den sdtgwm.dt.
Redigera filen och infoga följande text:
ACTION SDtgwm { LABEL GWM TYPE COMMAND EXEC_STRING sdtgwm ICON SDtgwm WINDOW_TYPE NO_STDIO } |
Skapa en ny fil i /usr/dt/appconfig/type/C och kalla den sdtwinlst.dt.
Redigera filen och infoga följande text:
ACTION SDtWinLst { LABEL Window List TYPE COMMAND EXEC_STRING sdtwinlst ICON SDtWinLst WINDOW_TYPE NO_STDIO } |
Om du vill kontrollera att alla åtgärder har laddats om avslutar du CDE-sessionen och loggar sedan in igen.
En cd-rom med en ovanlig datalayout kan misslyckas att monteras automatiskt. Filhanterarfönstret visar kanske inte cd-rominnehållet när den satts in i enheten.
Lösning: Montera cd-romskivan manuellt:
Bli root.
Stoppa volymhanteraren:
/etc/init.d/volmgt stop |
Montera cd-romskivan.
mount -F hsfs -r device_pathname /mnt |
Där device_pathname är söknamnet till den plats i systemet där cd-romenheten är ansluten. Till exempel /dev/dsk/c0t6d0s0.
cd-romenheter är vanligen anslutna till c0t6d0s0 eller till c0t2d0s0 vid leverans men du måste använda rätt sökväg om kommandot ska fungera.
Starta om volymhanteraren:
/etc/init.d/volmgt start |
Om du sätter in en diskett i en diskettenhet på ett system med flyttbara SCSI-enheter och sedan väljer Kontrollera diskettenhet på Fil-menyn i OpenWindowsTM filhanterare, monterar filhanteraren disketten i katalogen /floppy, men visar inte någon översikt över diskettens innehåll i själva filhanteraren. Alternativen Formatera diskett och Eject Floppy visas inte på Fil-menyn i filhanteraren.
Lösning: Välj en av följande lösningar:
Följ stegen nedan om du vill visa innehållet på en diskett:
Klicka på mappen / i filhanterarens ikonsökväg.
Dubbelklicka på mappen floppy i visningsfönstret /.
Dubbelklicka på mappen floppy0 i visningsfönstret /floppy.
Följ stegen nedan om du vill formatera en diskett:
Demontera disketten.
% volrmmount -e floppy0 |
Formatera disketten.
% fdformat floppy0 |
Följ stegen nedan om du vill skapa ett nytt filsystem på en diskett:
Om du redan har demonterat disketten går du till steg 2 i det här avsnittet.
Demontera disketten.
% volrmmount -e floppy0 |
Skapa önskat filsystem på disketten.
Om du vill skapa ett nytt UFS-filsystem på disketten använder du kommandot newfs:
% newfs /vol/dev/aliases/floppy0 |
Om du vill skapa ett PCFS-filsystem på disketten använder du kommandot mkfs:
% mkfs -F pcfs /vol/dev/aliases/floppy0 |
Montera disketten.
% volrmmount -i floppy0 |
Använd kommandot eject för att mata ut disketten.
% eject floppy0 |
Om du vill undvika det här problemet installerar du korrigeringsfilen 109463-01.
När den sista posten har raderats från skrivbordet (till exempel det senaste mötet i kalendern eller den senaste adressen i adresshanteraren), återställs den senaste inmatningen från handdatorn till skrivbordet när du synkroniserar handdatorn.
Lösning: Ta bort den senaste inmatningen från handdatorn manuellt före synkroniseringen.
Om du utbyter multibyte-data mellan en PDA-enhet och Solaris CDE kan dessa data förstöras i båda miljöerna.
Lösning: Säkerhetskopiera informationen på din dator med PDA-säkerhetskopieringsverktyget innan du kör programmet PDASync. Om du av misstag råkar utbyta multibyte-data så att dessa förstörs, kan du återställa dem från säkerhetskopian.
När du väljer Hjälp -> Information i Huvudgruppen visas en lista med ogiltiga filer. Den rätta filen är S8FCreleasenotes.
Följande felmeddelande visas när minnet håller på att ta slut:
CIM_ERR_LOW_ON_MEMORY |
Lösning: Så här återställer du CIM-objekthanteraren:
Logga in som superanvändare.
Avsluta CIM-objekthanteraren.
# /etc/init.d/init.wbem stop |
Ta bort katalogen med loggen för JavaSpaces.
# /bin/rm -rf /var/sadm/wbem/log |
Starta om CIM-objekthanteraren.
# /etc/init.d/init.wbem start |
Du förlorar alla egna definitioner i datalager. Du måste kompilera om de MOF-filer som innehåller egna definitioner med kommandot mofcomp. Till exempel:
# /usr/sadm/bin/mofcomp -u root -p root_password your_mof_file |
När du kör antingen /usr/sadm/bin/mofcomp eller /usr/sadm/bin/wbemadmin kanske följande felmeddelande visas:
NO_SUCH_QUALIFIER1: Ingen associerad kvalifierare hittades. |
Lösning: Så här återställer du CIM-objekthanteraren:
Logga in som superanvändare.
Avsluta CIM-objekthanteraren.
# /etc/init.d/init.wbem stop |
Byt namn på katalogen med loggen för JavaSpaces.
# mv /var/sadm/wbem/log /var/sadm/wbem/logprepatch |
Starta om CIM-objekthanteraren.
# /etc/init.d/init.wbem start |
Du förlorar alla egna definitioner i datalager. Du måste kompilera om de MOF-filer som innehåller egna definitioner med kommandot mofcomp. Till exempel:
# /usr/sadm/bin/mofcomp -u root -p root_password your_mof_file |
Om du räknar upp instanser av klassen Solaris_FileSystem med hjälp av CIM WorkShop- eller WBEM-API:erna slutar CIMOM att fungera, och följande felmeddelande visas:
Försökte utföra RMI-åtgärden enumInstances och undantagsfelet java.rmi.UnmarshalExeption inträffade: Felet unmarshaling return header; inkapslat undantagsfel är: java.io.EOFException |
Lösning: Starta om CIMOM genom att ange följande kommando i superanvändarläge:
# /etc/init.d/init.wbem start |
USB-kompatibla system med små minneskonfigurationer kanske låser sig när de startas från antingen diskett, cd-skiva eller nätverk och flera USB-enheter är anslutna. I sådana fall visas ett av följande allvarligt fel-meddelanden:
panic[cpu0]/thread=1040800: main: unable to fork init. |
eller
panic[cpu0]/thread=2a1000fdd40: FELAKTIG FÄLLA type=31 rp=2a1000fd0a0 addr=c0 mmu_fsr=0 inträffade i modulen "genunix" pga att en pekare med värdet NULL avrefererats |
Lösning: Starta systemet med endast USB-tangentbordet och -musen anslutna om du har fler än fyra USB-enheter. Anslut övriga USB-enheter när Solaris inloggningsledtext visas.
Java Plug-in 1.2 är standardtilläggsprogrammet som kan användas för att köra Java 2-appletar men inte alla Java 1.1-appletar. Om du behöver Java Plug-in 1.1 kan du hämta det på http://www.sun.com/solaris/netscape.
Om du vill använda både Java Plug-in 1.1 och Java Plug-in 1.2 i samma system måste du följa anvisningarna för att installera Java Plug-in 1.1 och konfigurera miljön.
Du hittar anvisningarna i avsnittet "Installera Java Plugin" i Java Plugin för Solaris Användarhandbok, som finns på adressen http://www.sun.com/solaris/netscape/jpis/usersguide_java_plugin.html.
libjvm.so fungerar inte korrekt om den öppnas med hjälp av dlopen. Den måste länkas till den körbara filen när objektet skapas.
Lösning: Ange uttryckligen att libjvm.so (-ljvm) och libjava.so (-ljava) är beroendefiler när du skapar en körbar fil.
Som standard är DMA-funktionen deaktiverad för Solaris-drivrutinen ata för ATA/ATAPI-enheter.
Funktionen har deaktiverats för att undvika problem i vissa system som inte stöder DMA på ATA/ATAPI-enheter fullt ut. De flesta problemen gäller för gamla system-BIOS.
Så här aktiverar (eller deaktiverar) du DMA för ata-drivrutinen när du har installerat Solaris 8:
Kör Enhetskonfigurationsassistenten för Solaris (Intel-versionen) från startdisketten eller installations-cd:n (om systemet stöder cd-romstart).
När du startar med startdisketten bevaras det nya egenskapsvärdet för ata-dma-enabled på disketten. Det ändrade värdet gäller därför när du använder startdisketten igen.
Tryck på F2 (fortsätt) om du vill söka efter enheter.
Tryck på F2 (fortsätt) om du vill visa en lista över startenheter.
Tryck på F4_Boot Tasks, välj Visa/Redigera egenskapsinställningar och tryck på F2 (fortsätt).
Ändra värdet för egenskapen ata-dma-enabled till 1 för att aktivera DMA (0 för att deaktivera DMA):
Markera egenskapen ata-dma-enabled i listan och tryck på F3 (ändra).
Skriv 1 och tryck på F2 (fortsätt) om du vill aktivera (skriv 0 och tryck på F2 (fortsätt) om du vill deaktivera).
Tryck på F2 (bakåt)och sedan F3 (bakåt) om du vill gå tillbaka till Solaris-startmenyn.
Välj vilken enhet du vill installera från (nätverksenhet eller cd-romenhet) och tryck på F2 (fortsätt).
Om det uppstår problem när du har aktiverat DMA, deaktiverar du DMA (ange 0 för egenskapen ata-dma-enabled enligt anvisningarna ovan), uppdaterar systemet med den senaste BIOS-versionen från maskinvarutillverkaren och aktiverar därefter DMA på nytt.
Om kommandot ab2admin misslyckas, innehåller felmeddelandet ytterligare information utöver att kommandot misslyckades. Det kan till exempel också innehålla Det går inte att hitta sökvägen eller Ogiltigt ID.
Lösning: Om meddelandet kommandot misslyckades visas, bör du kontrollera att åtgärden verkligen misslyckades. Om du till exempel körde ett kommando som skulle ta bort en samling från AnswerBook2-databasen kontrollerar du om samlingen visas i databasen med hjälp av följande kommando:
# ab2admin -o list |
När AnswerBook2TM-servern startas, kan det hända att skriptet ab2cd visar följande felaktiga felmeddelande:
sortera: kan inte läsa /tmp/ab1_sort.XXX: Det finns ingen sådan fil eller katalog |
Detta felmeddelande anger att ab2cd-skriptet inte har hittat någon av volymerna för AnswerBook1 (Display PostScriptTM) på cd:n.
Lösning: Ignorera felmeddelandet.
Om du vill skriva ut från en icke-ISO8859-1-språkversion med Font Downloader utför du följande steg:
Logga in i CDE.
Skriv fdl på kommandoraden för att starta Font Downloader.
Välj Lägg till på menyn Skrivare för att ange skrivare.
Välj Medföljande teckensnitt på menyn Hämta.
De medföljande teckensnitten laddas då ned till den angivna skrivaren, beroende på vilken koduppsättning som krävs för utskriften.
Teckensnittsaliasen för LucidaSansLat4 är inte tillgängliga så att relaterade felmeddelanden kan visas när du startar en Java-tillämpning från en UTF-8-spårkversion.
Lösning: Logga in på ISO-1-motsvarigheten till språkversionen och starta Java-tillämpningen därifrån.
sdtwinlst (Windows List) och sdtgwm (Graphical Workspace Manager) är inte översatta i UTF-8-koder för europeiska språk.
Lösning: Logga in på en kod för ISO8859-1 och kör sedan sdtwinlst och sdtgwm.
En del tangentkombinationer fungerar inte korrekt i CDE. Månadsnamn fungerar inte heller korrekt i Kalendern för grekiska.
Om du försöker skriva ut utökade tecken när du använder Kalendern i ett delvis lokalanpassat språkområde, skrivs de inte ut korrekt.
Det går inte att klippa ut eller klistra in arabisk text mellan ett program eller fönster som körs i arabiskt indataläge i en_US.UTF-8 och ett program eller fönster som körs i arabiskt indataläge i ar_EY.ISO8859-6.
När du högerklickar i ett CDE-program i en europeisk språkversion visas inga alternativ på menyn Extra.
CTL-stöd (Complex Text Language) för inmatning av hebreiska, arabiska och thailändska ingår i en_US.UTF-8 och europeiska UTF-8-språkversioner, men CTL stöds inte i språkversionerna ja_JP.UTF-8, ko.UTF-8 (även kallat ko_KR.UTF-8), zh.UTF-8 (även kallat zh_CH.UTF-8) och zh_TW.UTF-8.
Lösning: Använd en_US.UTF-8-språkversionen om du behöver använda thailändska, arabiska eller hebreiska med CTL. Gör så här om du vill använda de här språken i asiatiska och japanska UTF-8-språkversioner:
Skapa en symbolisk länk till gemensamma CTL-moduler. För ja_JP.UTF-8:
# cd /usr/lib/locale/ja_JP.UTF-8 # mkdir LO_LTYPE ; cd LO_LTYPE # ln -s ../../common/LO_LTYPE/umle.layout.so.1 ja_JP.UTF-8.layout.so.1 # mkdir sparcv9 ; cd sparcv9 # ln -s ../../../common/LO_LTYPE/sparcv9/umle.layout.so.1 ja_JP.UTF-8.layout.so.1 |
Redigera filen /usr/openwin/lib/locale/ja_JP.UTF-8/XLC_LOCALE genom att kommentera bort raden load_option delay_nocheck från posterna för thailändska, arabiska eller hebreiska (exemplet gäller thailändska):
# fs14 class (Thai) fs14 { charset TIS620.2533-0:GR font { # load_option delay_nocheck <--- comment out primary TIS620.2533-0:GR }} |
Flera skärmbilder i Smart Card-tillämpningen har inte lokaliserats helt.
Skärmarna Lägg till, Ändra och Ta bort användare är tomma i Solstice AdminTool för grekiska.
Lösning: Kopiera följande fil som superanvändare:
# cp /usr/openwin/lib/locale/C/app-defaults/Admin /usr/openwin/lib/locale/el_GR.ISO8859-7/app-defaults/Admin |
När du kör den italienska versionen med Font Downloader är både knappen Lägg till och Avbryt i dialogrutan Lägg till skrivare felaktigt märkta, båda med A ....
Den vänstra knappen ska heta Aggiungi (Lägg till).
Den högra knappen ska heta Annulla (Avbryt).
I följande tabell beskrivs skillnaderna mellan Suns och Microsofts arabiska tangentbord.
Tabell 2-1 Skillnader mellan Suns och Microsofts arabiska tangentbord
Tangent |
Sun-tangentbord |
Microsoft-tangentbord |
---|---|---|
T |
T |
Arabic Lam_alef med Hamza nedanför |
U |
U |
Enkelt högerställt citattecken (\rquote) |
I |
I |
Arabiskt multiplikationstecken |
O |
O |
Arabiskt tecken för division |
A |
; |
Arabisk Kasra |
S |
S |
Arabisk Kasratan |
Z |
Z |
Tilde |
X |
X |
Arabisk Sukun |
C |
Arabisk Kasratan |
Vänster klammerparentes |
V |
Arabisk Kasra |
Höger klammerparentes |
M |
Sukun |
Enkelt, lågt citattecken |
< |
< |
Arabiskt komma |
SEAM använder en del av resursfilerna i operativmiljön Solaris 8, men bara när Kerberos-inställningarna väljs under installationen.
Symbolen för euron skapas inte när du trycker på AltGr +E i UTF-8-språkversioner.
Lösning: Utför följande steg om du vill skriva symbolen för euron i UTF-8-språkversioner:
Välj Sök i urvalsfönstret för UTF-8-indata.
Välj Valutasymboler.
Välj eurotecken.
Om du använder den grekiska versionen, skriver du dumpcs vid systemledtexten. Sedan kopierar och klistrar du in eurosymbolen.
Sorteringen i europeiska UTF-8-språkversioner fungerar inte korrekt.
Lösning: Innan du försöker sortera i en FIGGS UTF-8-språkversion ställer du in variabeln LC_COLLATE på motsvarigheten till ISO1.
# echo $LC_COLLATE > es_ES.UTF-8 # setenv LC_COLLATE es_ES.IS08859-1 |