主要メッセージの手引き

"S"

save: SYSTEM error, Arg list too long

原因

保存がエラーで失敗しました。このエラーは、クライアントのデータベース (インデックス) ファイルが 2G バイトよりも大きいと発生します。Solaris 2.6 および SBU 5.0.1 では、この問題は発生しません。

対処方法

旧バージョンの Solaris では、nwadminから「Iindexes」-> 適切なクライアンの選択 -> 適切な fs の選択 ->「Remove oldest cycle」->「Reclaim space」の順で処理を行う必要があります。

十分なスペースを確保するには、この操作を何度か繰り返す必要があります。インデックスが必要な場合は、scanner コマンドを使用してあとで作成できます。

SCSI bus DATA IN phase parity error

原因

この障害が発生する最大の原因は、動作確認されていないのハードウェアにあります。PC 市場に出回っている SCSI デバイスの中には、UNIX 市場の製品に求められる高速入出力の要件を満たしていないものがあります。また、他の原因として、配線または終端の設定が不適切、電力が不安定といったことも考えられます。このパリティエラーがあるとデータ転送は行われないため、データが損傷している可能性は低くなります。

対処方法

バス上のすべての SCSI デバイスがサンの動作確認されたハードウェアであることを確認します。次に、すべてのケーブルの合計が 6 メートル未満であり、すべての SCSI 接続部が正しく終端されていることを確認します。電力が不安定な場合は、無停電電源装置を取り付けてください。

SCSI transport failed: reason 'reset'

原因

このメッセージは、システムが SCSI バスを通じてデータを送信したが、SCSI バスがリセットされたために、データが送信先に到着しなかったことを示します。最も一般的な原因は、SCSI ターゲットの重複です。造 この障害があるとデータ転送は行われないため、データが損傷している可能性は低くなります。

対処方法

すべてのケーブルの合計が 6 メートル未満であることと、すべての SCSI 接続が正しく終端されていることを確認します。電力のサージが問題である場合は、サージサプレッサまたは無停電電源装置を入手します。

マシンの内蔵ディスクドライブは、通常、SCSI ターゲット 3 です。外部および二次ディスクドライブがターゲット 1、2、または 0 になっていて、相互に重複していないことを確認します。また、テープドライブがターゲット 4 または 5、CD ドライブが 6 になっていて、相互に、またはディスクドライブと重複していないことも確認してください。内蔵ディスクドライブのターゲット設定に問題がある場合は、一度マシンの電源を切り、すべての外部ドライブを外してから電源を入れて、PROM モニタから probe-scsi-all コマンドまたは probe-scsi コマンドを実行します。

SCSI デバイスのターゲット設定に問題がない場合は、メモリー構成に問題がある可能性があります。特に sun4c アーキテクチャーのマシンでは、(4 M バイト SIMM などの) 大容量のメモリーチップは下側のバンク、(1 M バイト SIMM などの) 小容量のメモリーチップは上側のバンクに装着されていることを確認します。

なお、SPARC システムはすべての市販の CD-ROM ドライブをサポートしているわけではないため、「unknown vendor」のようなエラーメッセージが表示される場合があります。CD-ROM のベンダに固有の構成要件を問い合わせてください。

市販のディスクドライブの中には、Solaris デバイスドライバと競合する先読みキャッシュを備えたものがあります。既存の先読みキャッシュ機能がある場合は、オフに設定しておいてください。

関連項目

造 SCSI ターゲットの詳細については、『Solaris 移行ガイド』のデバイス命名規則に関する節を参照してください。AnswerBook を使用している場合は、「scsi targets」と入力して検索文字列として使用します。

Security exception on host string. USER ACCESS DENIED.

原因

AdminSuite を経由してユーザーを作成する際に、nisplus サーバとは異なるシステム上にユーザーのホームディレクトリを配置しようとすると、次のエラーメッセージが表示されます。

Security exception on host hostname. USER ACCESS DENIED.
The user identity (555)username was received, but that user
   is not authorized to execute the requested functionality
      on this system. Is this user a member of an appropriate
        security group on this system ?
            (Function: class directory method create_dir)
rsh(1) によりリモートマシンに接続して、システム上にホームディレクトリを作成できます。

対処方法

ユーザーは NIS+ テーブルで sysadmin グループに登録されていませんでした。


 # niscat group.org_dir | grep sysadmin 
 sysadmin::14:
ユーザー名を sysadmin グループに追加します。

Segmentation Fault

原因

セグメント例外は、通常、プログラミングエラーによって発生します。読み取り専用ファイルシステムを除き、通常、このメッセージはコアダンプを伴います。

対処方法

core(4)ファイルを作成したプログラムを特定するには、file(1) コマンドまたは adb(1) コマンドを実行します。dtmail プログラムによって作成された core ファイルに対して fileadb の各コマンドを実行した場合の出力例を次に示します。


$ file core
core: ELF 32-bit MSB core file SPARC Version 1, from `dtmail'

$ adb core
core file = core -- program `dtmail'
SIGSEGV  11: segmentation violation
^D      (adb プログラムを終了するには Control-d と入力します。)
このプログラムのベンダまたは作成者にデバッグ済みのバージョンを問い合わせてください。

テクニカルノート

プロセスが、保護されているかまたは存在しないメモリー領域へアクセスしようとしたことを示すシグナルを受信しました。セグメント例外の最も一般的な 2 つの原因は、ヌルポインタを用いて関接参照をしようとした、または境界を越える添字で配列を参照したことです。

sendmail[]: can't lookup data via name server "dns" または sendmail[]: can't lookup data via name server "nis"

原因

/etc/nsswitch.conf ファイルの中のエントリ sendmailvars: dns nis files が原因で、メッセージがコンソールウィンドウに表示されます。

対処方法

sendmailvars データベースは、ローカルファイルまたは NIS+、あるいはその両方でだけ使用できます。そのためこのデータベースが設定されていない場合、デフォルトの sendmailvars エントリは、次のようになります。


sendmailvars: files

sendmail[int]: NOQUEUE: SYSERR: net hang reading from string

原因

これは、コンソールと /var/adm/messages ログファイルに表示される sendmail(1) メッセージです。このメッセージが特定のユーザーに関して一度だけ表示された場合は、そのユーザーのメールメッセージが行の途中で終わっている (行末の改行文字がない) 可能性があります。このメッセージが頻繁に表示されるか、またはビジー時に表示される場合、他のネットワークエラーが表示されているときは特に、ネットワーク障害を示している可能性があります。

対処方法

そのユーザーのメールスプールファイルを調べて、メッセージの最後に改行文字があるか確認します。改行文字がある場合は、障害が再現しないようにする方法をユーザーと相談します。これらのメッセージの原因がネットワーク障害にある場合は、メールスプールディレクトリを、高速なネットワークインタフェースを備えた別のマシンに移動する方法もあります。

テクニカルノート

DATA フェーズの SMTP 受信中に、行の最後がピリオドで終了しているメッセージが到着しなかったため、sendmail(1) が時間切れになり、このエラーが発生しました。

Service wouldn't let us acquire selection

原因

このメッセージは、OpenWindows のセレクションサービスが、要求されたセレクション項目を /tmp/winselection から取得することに失敗したことを示しています。診断コードが続いて表示されます。要求されたセレクションは、0 不明、1 キャレット、2 プライマリ、3 セカンダリ、4 クリップボードのどれかです。結果は、0 失敗、2 存在しない、3 所有していない、4 ランクの違い、5 継続、6 キャンセル、7 認識できないのどれかです。

setmnt: Cannot open /etc/mnttab for writing

原因

システムに、/etc/mnttab への書き込みに関する障害があります。/etc を含むファイルシステムが読み取り専用にマウントされているか、またはマウントされていない可能性があります。

対処方法

このファイルが存在するかどうか、およびルートによる書き込みが可能かどうかを確認します。いずれも正しいなら、/etc ファイルシステムがマウントされていること、および読み取り専用ではなく、読み取り/書き込みモードでマウントされていることを確認します。

share_nfs: /home: Operation not applicable

原因

通常、このメッセージは、システムに、/home にマウントされたローカルファイルシステムがあることを示します。通常、/home は、オートマウンタがユーザーのホームディレクトリをマウントする場所です。

対処方法

システムがオートマウンタを実行しているときは、ローカルファイルシステムを /home ディレクトリにマウントしないでください。/disk2 など、別のディレクトリにマウントします。ほとんどのシステムでは、新規のディレクトリを作成することになります。オートマウンタの auto_home エントリを変更することもできますが、前者の解決方法の方がより簡単です。

Slice c0t1d0s0 is too small to contain 1 replicas

原因

metatool を使用して状態の複製をディスクのシリンダ 0 に追加しようとすると、次のエラーメッセージが表示されます。


	Your attempt to attach metastate database
	replicas on slice "c?t?d?s?" failed for the
	following reason: Slice c?t?d?s? is too small
	to contain 1 replicas.

これはディスクラベルを保護するために、metatool は最外周のシリンダを使用しないようにしているからです。DiskSuite 4.1 では、metatool は 2.1G バイト以上のディスク上のシリンダ 0 にデータベースを追加できます。

対処方法

スライスの先頭シリンダを 0 ではなく 1 にするか、コマンド行から metadb -a を実行することによりこの問題を回避できます。

Socket type not supported

原因

ソケットタイプのサポートがシステムに設定も実装もされていません。

テクニカルノート

このエラーのシンボルの名前は、ESOCKTNOSUPPORTerrno=121 です。

Soft error rate (int%) during writing was too high

原因

このメッセージは、Exabyte または DAT テープが (回復可能な) ソフトエラーを大量に生成した場合に、SCSI テープドライブによって表示されます。この後に、「Please, replace tape cartridge」というアドバイスメッセージが表示されます。ソフトエラーは、まもなくハードエラーが発生して、データが損傷する可能性があることを示しています。

対処方法

まず、メーカーが推奨するクリーニングテープを使用してテープヘッドをきれいにします。これで解決しない場合は、テープカートリッジを交換します。新しいテープカートリッジでもこの問題が発生する場合は、テープドライブを交換してください。

Soft error rate (retries = int) during writing was too high

原因

このメッセージは、Archive テープが (回復不可能な) ソフトエラーを大量に生成した場合に、SCSI テープドライブによって表示されます。この後に、「Periodic head cleaning required and/or replace tape cartridge」というアドバイスメッセージが表示されます。ソフトエラーは、まもなくハードエラーが発生してデータが損傷する可能性があることを示しています。

対処方法

まず、メーカーが推奨するクリーニングテープを使用してテープヘッドをきれいにします。これで解決しない場合は、テープカートリッジを交換します。新しいテープカートリッジでもこの問題が発生する場合は、テープドライブを交換してください。

Software caused connection abort

原因

ホストマシン内の原因で、接続異常が発生しました。

テクニカルノート

このエラーのシンボルの名前は、ECONNABORTEDerrno=130 です。

Srmount error

原因

RFS に特有のエラーです。このエラーは、リソースがまだリモートマシンによってマウントされているうちに RFS を停止しようとした場合、あるいは現在リソースをマウントしているリモートマシンを除外したクライアントリストで、リソースを再公開しようとした場合に発生します。

テクニカルノート

このエラーのシンボルの名前は、ESRMNTerrno=69 です。

Stale NFS file handle

原因

NFS クライアントが開いたファイルまたはディレクトリが、サーバ上で削除されたかまたは置き換えられました。

対処方法

このファイルを編集していた場合は、代わりに、ローカルファイルシステムに書き込みます。ファイルシステムをマウントし直すか、または古いファイルハンドルを参照するクライアントプロセスをシャットダウンします。このいずれでも解決しない場合は、システムをリブートします。

テクニカルノート

元の v ノードは無効になりました。このエラーを解決する唯一の方法は、NFS サーバとクライアントにファイルハンドルをもう一度ネゴシエーションさせることです。

このエラーのシンボルの名前は、ESTALEerrno=151 です。

statd: cannot talk to statd at string

原因

このメッセージは、NFS 状態監視デーモンである statd(1M) によって表示されます。statd(1M) は、NFS ロックデーモン lockd(1M) にクラッシュ修復サービスを提供します。このメッセージは、statd が古い参照内容を /var/statmon/sm および /var/statmon/sm.bak ディレクトリに残していることを示します。ユーザーが hosts データベース内のホストを削除または変更した後、statd(1M) がこれらのディレクトリのファイルを正しくパージしていない可能性があります。その場合は、存在しないホストと通信しようとします。

対処方法

variable の部分に示されたファイル (variable にはホスト名が入ります) を /var/statmon/sm/var/statmon/sm.bak の両方のディレクトリから削除します。次に、statd デーモンを終了してから再起動します。それでもこのメッセージが表示される場合は、lockd(1M) も終了してから再起動します。これでもうまくいかない場合は、マシンをリブートしてください。

stty: TCGETS: Operation not supported on socket

原因

このメッセージは、ユーザーがマシン間で、rcp(1) によるリモートコピーまたは rsh(1) によるリモートシェルを行おうとしたときに、リモートの .cshrc ファイルに stty(1) コマンドがある場合に表示されます。このエラーが発生すると、rcp(1) コマンドまたは rsh(1) コマンドは失敗します。

対処方法

この問題を解決するには、stty(1) コマンドをユーザーの .login (またはこれに相当する) ファイルに移動します。または、シェルが対話型の場合にのみ stty(1) コマンドを実行するように .cshrc を変更します。シェルが対話型であるか調べるには、次のように入力します。

if ($?prompt) stty ...

テクニカルノート

rcp(1) と rsh(1) の各コマンドは、ソケットを使用して接続します。ソケットは、stty(1) で実行される TCGETS ioctl には対応していません。

su: No shell

原因

このメッセージは、誰かが、ルート用のデフォルトのログインシェルを、システムに存在しないプログラムに変更したことを示します。たとえば、/etc/passwd 内の最後のコロンで区切られたフィールドが /sbin/sh から存在しない /usr/bin/bash に変更された可能性があります。または、行末に余分な空白が付けられている可能性があります。結果的に、root としてログインしたり、ユーザーを root に切り替えたりすることができなくなるため、この問題を直接解決できません。

対処方法

唯一の解決方法は、別の媒体からシステムをリブートして、パスワードファイルを編集し、この問題を解消することです。sync(1M) を何度か呼び出してから、Stop-A と入力するかまたはリセットボタンを押してマシンを停止します。ok プロンプトで boot cdrom -s と入力して、CD-ROM、ネットワーク、またはフロッピーディスクからシングルユーザーモードでリブートします。

システムが立ち上がって # プロンプトが表示されたら、下記に示すような mount(1M) コマンドを使用して、オリジナルの / パーティションに対応するデバイスをマウントします。次に、新たにマウントしたシステムのパスワードファイルでエディタを実行します (端末のサポートがない場合は ed(1) を使用します)。


# mount /dev/dsk/c0t3d0s0 /mnt
# ed /mnt/etc/passwd
エディタを使用してパスワードファイルの root エントリを変更し、/usr/bin/csh または /usr/bin/ksh などの存在するシェルを呼び出します。

テクニカルノート

「No shell」障害が発生しないようにするには、パスワードファイルを編集する際には admintool または /usr/ucb/vipw を使用するように習慣付けます。これらのツールを使用すると、システムが使用不能になるようなパスワードエントリに変更することが難しくなります。

SunPC may NOT run correctly as root

原因

SunPC 4.1 と 102924 パッチがインストールされている場合、ユーザーが SunPC を起動しようとすると、次のエラーメッセージが表示されます。


SunPC may NOT run correctly as root.
Please run in user mode.
SunPC script is exiting
しかし、ユーザーが root ではない場合には、ユーザーの一次グループの ID が root である可能性があります。次に例を示します。

$ /usr/bin/id
uid=33650(gruff) gid=0(root)

対処方法

ユーザーの一次グループを、10 などの別のグループに変更し、ユーザーが root のグループに属している必要がある場合は、root グループをユーザーの二次グループのリストに追加します。

su: 'su root' failed for string on /dev/pts/int

原因

「for」の後に示されたユーザーがスーパーユーザーになろうとしましたが、入力したパスワードが違っています。

対処方法

ユーザーが root のパスワードを知っていると考えられる場合は、正しいパスワードを入力するまで待ちます。パスワードを知っているはずがない場合は、スーパーユーザーになろうとしている理由を問い合わせます。

su: 'su root' succeeded for string on /dev/pts/int

原因

「for」の後に示されたユーザーが、root のパスワードを入力してスーパーユーザーになりました。

対処方法

ユーザーが root のパスワードを知っていると考えられる場合、このメッセージは情報を表示しているだけです。パスワードを知っているはずがない場合は、直ちにこのパスワードを変更し、パスワードを入手した方法をユーザーに問い合わせます。

syncing file systems...

原因

これは、ファイルシステムの整合性を確実にするために、システムが停止する前にカーネルがスーパーブロックを更新していることを示します。このメッセージは、halt(1M) コマンドまたは reboot(1M) コマンドの後に表示されます。また、システムパニックの後に表示されることもありますが、その場合は、システムに損傷データがある可能性があります。

対処方法

マシンを停止またはリブートした直後の場合は、気にする必要はありません。このメッセージは正常です。システムパニックの場合は、このメッセージの上に表示されたパニックメッセージを調べてください。問題点の診断について、システムベンダの協力を得られるか問い合わせてください。ベンダに協力を得られる場合は、パニックの説明ができるように、システムをパニック状態のままにしておくか、または障害を再現できるようにしてください。

テクニカルノート

メッセージ内の 3 つのドットの後に数字が表示されることがありますが、この数字は、書き出されるダーティーページ数を示します。カッコ内の数字は、システムのビジーバッファーの推定数を示します。

SYSLOGD CAUSES SYSTEM HANGS

原因

(繰り返し発生する場合はインストールパッチの問題です。)

syslog service starting.

原因

システムのリブート中、このメッセージが表示されて、ブートがハングしたようになります。syslogd(1M) サービスの開始後、システムは /etc/rc2.d/S75cron を実行します。/etc/rc2.d/S75cron は次に ps(1) を呼び出します。システムが突然クラッシュすると、/dev/bd.off がどこにもリンクされていない状態になることがあり、ps(1) コマンドがハングすることがあります。

対処方法

(たとえば boot -s によって) シングルユーザーモードでリブートし、ls -l /dev/bd* を実行して、これが原因であるかどうかを判断します。原因である場合は、/dev/bd.off を削除してから、bdconfig off を実行するか、または -r (再構成) オプションを付けてリブートします。

これは、ps(1) のハング原因として最も報告が多い状態です。

System booting after fatal error FATAL

原因

システムが自動的にリブートし、その後、メッセージファイルに「System booting after fatal error FATAL」が含まれます。

このメッセージは、システムがハードウェアエラーを検出したあとのリブート中に出力されます。この原因としては、UPA アドレスのパリティーエラー、マスター待ち行列のオーバーフロー、DTAG パリティーエラー、E-Cache タグのパリティーエラー、一貫性エラーなどがあります。

対処方法

prtdiag(1M) は、失敗したハードウェアコンポーネントの特定に使用すると便利です。エラーは、CPU モジュールまたはシステムボードが不良であることを示します。

system hang

原因

4.1.3C の SBUS カードのために、システムがフリーズしました。

SYSTEM HANGS DURING BOOT

原因

ユーザーがシステムを起動すると、ブートアップメッセージ「root on」、「swap on」、および「dump on」のあとにハングします。システムがこれらのメッセージを表示した後、LED が点滅し、システムがハングします。

これは、以前に fsck を実行した際に /dev ディレクトリの下のデバイスが削除されたことが原因で発生します。/dev/console デバイスを探し、ない場合はこのデバイスを作成します。