主要メッセージの手引き

"C"

Cannot access a needed shared library

原因

静的共有ライブラリを必要とする a.outexec(2) により実行しようとしたときに、静的共有ライブラリが存在しないか、あるいはユーザーにそのライブラリを使う権限がありません。

テクニカルノート

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

Cannot allocate colormap entry for "string"

原因

このメッセージは libXt (X イントリンシクスライブラリ) から発生していて、引用符によって指定されたカラー名が要求される前に、システムのカラーマップがいっぱいになったことを示します。アプリケーションによっては、このメッセージが表示されても続行できます。ワークスペースプロパティカラーなど、その他のアプリケーションは、カラーマップがいっぱいになると表示できません。

対処方法

カラーマップの使用率が高いプログラムを終了してから、失敗したアプリケーションを再起動してもう一度行なってください。

Cannot assign requested address

原因

現在のマシンにないアドレスにトランスポート終端を作成しようとしました。

テクニカルノート

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

cannot change passwd, not correct passwd

原因

yppasswd(1) を実行中にユーザーのパスワードを変更しようとすると、「cannot change passwd, not correct passwd」というメッセージが表示されます。

また、サーバコンソールで「yppasswd user string does not exist」が表示された場合に ypcat passwd | grep (user) を実行するとユーザー名が返されます。これにより yppasswdd(1M) が実行中であることがわかります。

対処方法

pwck(1M) で passwd(4) ファイルをチェックし、yppasswdd(1M) が正しいサーバで実行されていることを確認します。次に、passwd(4) ファイルの場所を確認し、変更されている場合は、yppasswdd(1M) がその場所を指定して起動されていることを確認します。/etc/yp にあるパスワードは、/usr/lib/yp/rpc.yppasswdd -D /etc/yp になっているはずです。-D オプションを passwd ファイルのディレクトリ位置とともに指定すると、パスワードの変更および変更の検証を行う場所が yppasswdd(1M) に通知されます。

Cannot exec a shared library directly

原因

共有ライブラリを直接 exec(2) により実行しようとしています。

テクニカルノート

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

Cannot find SERVER hostname in network database

原因

異なるサブネットにいるユーザーが、ライセンスサーバーにアクセスしています。


ultra1(50)% cc -o hello hello.c
License Error : Cannot find the license server (fry)
in the network database for product(Sun WorkShop Compiler C)
Cannot find SERVER hostname in network database (-14,7)
cc: acomp failed for hello.c
ultra1(51)%

対処方法

1 番目に、サーバが稼動中であることを確認します。2 番目に、ping server name と入力して、クライアントシステムの /etc/hosts ファイル内にそのサーバがあることを確認します。3 番目に、サーバのライセンスデーモンを調べ、実行中であることを確認します。4 番目に、クライアントに基本ライセンスファイルがあることを確認します。


cd /etc/opt/licenses
more sunpro.loc
5 番目に、sunpro.loc ディレクトリには、 sunpro.lic,1 のようなテキストライセンスファイルだけがあることを確認します。6 番目に、クライアントで次の確認を行います。

 % cd /etc
 % more nsswitch.conf | grep hosts
 hosts:      nis [NOTFOUND=return] files
これは、NIS サーバを使用して IP アドレスを検索していることを示します。最初に NIS 用に設定されており、/etc/hosts ファイルに名前を登録されたサーバがある場合は、次のように行を変更します。

hosts:      files nis 
次に、検索できるかどうかを調べます。検索できない場合は、原因を調べるために、truss と snoop を実行します。

Cannot open FCC file

原因

このメッセージは、Netscape を使用したメールの送信で表示されます。このエラーは、発信メッセージの保存用にユーザーが指定したファイルが存在しない場合に発生します。

対処方法

この問題を解決するには、「設定」を選択し、次に「Composer」 を選択します。テンプレートが表示されます。このテンプレートには、発信メールとニュースファイルを保存する場所を指定するセクションがあります。これらのファイルが存在することを確認してください。Netscape が送信したメッセージのログを保存しない場合は、これらのファイルをテンプレートから削除します。

Cannot send after transport endpoint shutdown

原因

トランスポート終端がすでに停止されているため、データ送信要求が拒否されました。

テクニカルノート

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

Can't create public message device (Device busy)

原因

このメッセージは lp(1) 印刷スケジューラに起因するものであり、極度のビジー状態かまたはハング状態にあることを示します。

対処方法

印刷ジョブが該当するプリンタからのものである場合は、現在の印刷が終了するまで待ち、それからこの印刷ジョブを再度提出します。このメッセージが再び表示された場合は、lp(1) システムがハングしている可能性が高いです。

待ち行列をクリアする手順については、「lp hang」メッセージを参照してください。

テクニカルノート

プリンタメッセージ用のデバイスの作成に lp(1) を使用できない場合は、メッセージ FIFO がすでに使用中か、または別の印刷ジョブによってロックされています。

関連項目

印刷スケジューラの詳細については、『Solaris のシステム管理 (第 2 巻)』のプリンタの管理に関する節を参照してください。

Can't invoke /etc/init, error int

原因

このメッセージはシステムのブート中に表示され、init(1M) プログラムが失われているかまたは損傷していることを示します。なお、/etc/init/sbin/init へのシンボリックリンクです。

対処方法

ミニルートを起動して、init(1M) を置き換えられるようにします。Stop-A と入力するか、またはリセットボタンを押して、マシンを停止します。CD-ROM、ネット、またはフロッピーディスクからシングルユーザーをリブートします。たとえば CD-ROM からブートする場合は、ok プロンプトで boot cdrom -s と入力します。システムが起動して # プロンプトが表示されたら、元の / パーティションの場所に応じて下記のように mount(1M) コマンドを使用し、デバイスをマウントします。次に、ミニルートから元の / パーティションに init(1M) プログラムをコピーし、システムをリブートします。


# mount /dev/dsk/c0t3d0s0 /mnt
# cp /sbin/init /mnt/sbin/init
# reboot
これでうまくいかない場合は、他のファイルが損傷している可能性があります。その場合は、システム全体をインストールし直さなければなりません。

テクニカルノート

/sbin/init がない場合のエラー番号は 2 であり、/sbin/init に不正な実行可能形式がある場合は 8 です。通常はこの後に「panic: icode」メッセージが続きます。システムは自分自身をリブートしようとしますが、init(1M) なしではリブートできないため、ループに入ります。

関連項目

システムのブートについて詳細は、『Solaris のシステム管理 (第 1 巻)』のシステムの停止とブートに関する節を参照してください。

can't open /dev/rdsk/string: (null): UNEXPECTED INCONSISTENCY

原因

SunOS 4.1.x で、/dev ファイルシステムが組み込まれたデバイスが切断されています。Solaris の動作は確認されていません。

can't synchronize with hayes

原因

システムが「Hayes」タイプと見なしたモデムを使用していると、このメッセージが表示されることがあります。現在製造されているモデムの大部分は「Hayes」タイプです。スイッチの設定が正しくない、ケーブル接続が悪い、またはモデムの電源が入っていない場合は、このメッセージが表示される可能性があります。

対処方法

モデムの電源が入っていて、モデムとシステム間のケーブルが確実に接続されていることを確認します。次に、内部と外部のモデムスイッチの設定を調べます。必要に応じて、モデムの電源を切ってから入れ直します。

cd: Too many arguments

原因

C シェルの cd(1) コマンドは引数を 1 つしか取りません。複数のディレクトリが指定されているか、または空白を含むディレクトリ名が指定されています。ファイルマネージャを使用していると、空白を含むディレクトリ名を作成してしまうことがあります。

対処方法

ディレクトリ名を 1 つのみにします。名前に空白を含むディレクトリに変更するには、ディレクトリ名を二重引用符 (") または引用符 (`) で囲むか、あるいはファイルマネージャを使用します。

Channel number out of range

原因

システムがストリームデバイスを使い果たしました。このエラーは、存在しないかまたは現在使用中のマイナーデバイスをストリームヘッドが開こうとすると発生します。

対処方法

該当するストリームデバイスが存在し、適切な番号のマイナーデバイスによって作成されていることを確認します。また、ハードウェアがこの構成に一致しているかどうかも調べます。ストリームデバイスの構成が正しい場合は、より多くのシステムリソースを使用できるときに再度実行してください。

テクニカルノート

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

chmod: ERROR: invalid mode

原因

このメッセージは chmod(1) コマンドから発生し、オプションではない最初の引数に問題があることを示します。

対処方法

数値ファイルモードを指定している場合は、任意のけた数を提供できますが (ただし、最後の 1〜4 けたのみ使用します)、すべてのけた数は 0〜7 でなければなりません。シンボリックファイルモードを指定している場合は、chmod(1) 使用法メッセージに表示された構文を使用すると次の「invalid mode」エラーメッセージを避けられます。

Usage: chmod [ugoa][+-=][rwxlstugo] file ...
なお、シンボリックキー文字の組み合わせによっては、エラーメッセージは表示されませんが効果はありません。最初のグループ [ugoa] は省略可能です。2 番目のグループ [+-=] は、chmod(1) が機能するためには必須です。3 番目のグループ [rwxlstugo] も必須であり、重複しない限り組み合わせて使用できます。

Command not found

原因

C シェルが、コマンドとして与えられたプログラムを見つけられません。

対処方法

コマンド行の書式とスペルを調べます。正しければ、echo $path を実行して、ユーザーの検索パスが正しいかどうかを確認します。通信が不正確な場合は、組み込みシェルコマンドだけが使用可能になるように検索パスの設定を解除できます。基本的な検索パスを再設定するコマンドを次に示します。


 % set path = (/usr/bin /usr/ccs/bin /usr/openwin/bin .)
検索パスが正しければ、検索パスに沿ってディレクトリの内容を調べ、プログラムが失われていないか、またはディレクトリのマウントが解除されていないかどうかを確認します。

関連項目

C シェルの詳細については、csh(1) のマニュアルページを参照してください。

Communication error on send

原因

このエラーは、現在のプロセスがリモートマシンからのメッセージを待っているとき、そのマシンに接続するリンクが破壊されている場合に発生します。

テクニカルノート

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

Connection closed.

原因

このメッセージは、別のシステムに対して rlogin(1) を使用したときに、リモートホストがこのユーザー用のプロセスを作成できなかった場合、ユーザーが正しいパスワードを入力するまでの時間が長すぎた場合、ユーザーがネットワーク接続に割り込んだ場合、またはリモートホストが停止していた場合に表示される可能性があります。ファイルを修正して、接続を切断する前に保存しなかった場合は、データが失われる恐れがあります。

対処方法

もう一度実行します。相手のシステムが停止している場合は、リブートされるまで待ちます。

Connection closed by foreign host.

原因

このメッセージは、ユーザーが telnet(1) を使用して別のシステムに接続したときに、ユーザーが正しいパスワードを入力するまでの時間が長すぎた場合、リモートホストがこのユーザー用のログインを作成できなかった場合、またはリモートホストが停止しているかまたは接続を終了した場合に表示される可能性があります。ファイルを修正して、接続を切断する前に保存しなかった場合は、データが失われる恐れがあります。

対処方法

もう一度実行します。相手のシステムが停止している場合は、リブートされるまで待ちます。

[Connection closed. Exiting]

原因

talk(1) コマンドを使用して別のユーザーと交信した後、そのユーザーが割り込み (通常は Control-c) を入力すると、こちらのユーザーの画面にこのメッセージが表示されます。

対処方法

このような割り込みを送信するのは、talk(1) プログラムを終了する際の通常の方法です。talk(1) セッションが終了するので、作業に戻ることができます。

Connection refused

原因

対象のマシンが拒否したため、接続できません。アクティブでないサービスに接続しようとした場合、または要求したアドレスにサービスプロセスが存在しなかった場合に起こります。

対処方法

対象のマシン上のサービスをアクティブにするか、またはサービスがなくなっていた場合は再度起動します。セキュリティ上の理由からこのサービスを提供したくない場合は、ユーザーグループにそのことを伝え、できれば代替サービスを提供します。

テクニカルノート

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

Connection reset by peer

原因

リモートホストが接続を強制的に切断しました。通常、このエラーは、時間切れや再起動によって、リモートホストとの接続が切断されたことにより起こります。

テクニカルノート

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

Connection timed out

原因

宛先ホストが停止している場合、またはネットワーク上の障害のために伝送に失敗した場合に起こります。

対処方法

たとえば ping(1M) や ftp(1) を使用して、まずホストシステムの動作を調べます。次に、必要があれば修理またはリブートします。これで解決できない場合は、ネットワークのケーブルと接続を調べます。

テクニカルノート

指定された時間内に接続が確立されませんでした。適切な時間内に宛先ホストが正しく応答しなかったため、接続要求または送信要求は失敗しました (タイムアウト期間は通信プロトコルによって異なります)。

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

console login: ^J^M^Q^K^K^P

原因

これは、通常、OpenWindows が異常終了したために、システムのキーボードが誤ったモードのままになっているために発生します。この場合、ログインしようとしたときに表示される文字は、入力した内容の無意味な文字変換になってしまいます。

対処方法

SPARC システムでは、別のマシンを探してこのシステムにリモートログインし、次のコマンドを実行します。

$ /usr/openwin/bin/kbd_mode -a
これで、コンソールが ASCII モードに戻ります。なお、kbd_mode はウィンドウプログラムではありません。コンソールのモードを修正するだけです。

x86 システムでは、リモートからログインして起動後、X サーバを終了するかシステムを再起動します。

テクニカルノート

この問題が生じる一般的な原因は、/tmp ディレクトリを一定間隔ごとにクリアする cron(1) から実行した、自動化されたスクリプトにあります。このようなスクリプトが、/tmp/.X11-pipe または /tmp/.X11-unix の各ディレクトリとその中のファイルを削除しないことを確認してください。

core dumped

原因

core(4) ファイルには、ソフトウェア障害の発生時点でのメモリーのイメージが収められており、障害の原因を調べる際にプログラマが使用します。

対処方法

core(4) ファイルを生成したプログラムを特定するには、file(1) コマンドまたは adb(1) コマンドを実行します。dtmail からのコアファイルに対して 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      (use Control-d to quit the program)
プログラムのベンダまたは作成者に、デバッグ済みのバージョンを要求してください。

テクニカルノート

SIGQUIT、SIGBUS、SIGSEGV など、一部のシグナルはコアファイルを生成します。該当するシグナルの完全なリストについては、signal(5) のマニュアルページを参照してください。

プログラムのソースコードがある場合は、cc -g によってコンパイルし、dbx または同様のデバッガを使用して自分でデバッグできます。dbxwhere 命令を実行するとスタックトレースが得られます。

混在ネットワークでは、あるタイプのシステムで adb(1) を実行しても、別のタイプのシステムで生成されたコアダンプを読み取ることは通常できないため、特定のcore(4) ファイルを生成したマシンアーキテクチャーを特定するのは困難です。このため、「unrecognized file」メッセージが作成されます。正しいアーキテクチャーが判明するまで、各種のマシンアーキテクチャーで adb(1) を実行してください。

「コア」という用語は古くからあります。放射線に対する抵抗力のため、宇宙船では現在もコアメモリーを使用していますが、フェライトコアメモリーがシリコン RAM にその座を譲ったのは 1970 年代です。

関連項目

クラッシュ情報の保存と表示については、『Solaris のシステム管理 (第 2 巻)』を参照してください。AnswerBook を使用している場合は、「system crash」と入力して検索文字列として使用します。

corrupt label - wrong magic number または corrupt label - label checksum failed

原因

電源を入れてマシンを起動すると、「corrupt label - label checksum failed」または「corrupt label - wrong magic number」というメッセージが表示されます。format(1M) では次のように表示されます。


  0 unassigned    wm       0               0         (0/0/0)          0
  1 unassigned    wm       0               0         (0/0/0)          0
  2     backup    wm       0 - 5460        4.2G    (5460/0/0)   4154160
  3 unassigned    wm       0               0         (0/0/0)          0
  4 unassigned    wm       0               0         (0/0/0)          0
  5 unassigned    wm       0               0         (0/0/0)          0
  6 unassigned    wm       0 - 2730       2.1G       (0/0/0)          0
  7 unassigned 	  wm       2730-5460      2.1G       (0/0/0)          0
ディスクは、ブロック 0 (シリンダ 0) で開始する raw パーティションを使用していました。

ディスクラベル (VTOC) はシリンダ 0 のブロック 0 に保持されます。raw パーティションがシリンダ 0 で開始する場合は、raw パーティションを使用するデータベースプログラムがラベルを上書きすることになります (UNIX ファイルシステムでは、パーティションのこの領域は使われません)。

対処方法

format を実行し、backup コマンドを使用してバックアップラベルを取得します。このバックアップラベルを使用してディスクのラベルを変更します。これで、ディスクにアクセスできるようになります。

このディスクのデータをバックアップします。

ディスクに戻ってラベルを変更し、raw パーティションをシリンダ 1 で開始します (これで 1 つのシリンダが消費されますが、VTOC の破壊を防止できます)。

ラベルを付け直します。

バックアップからデータを復元します。

could not grant slave pty

原因

telnet(1)、rlogin(1)、rsh(1) などのシェルが必要なセッションを実行しようとしたとき、あるいは X 端末を起動しようとしたときに、エラーメッセージ「could not grant slave pty」が表示されます。

対処方法

/usr/lib/pt_chmod でのファイルのアクセス権の設定が正しくありません。次のように設定されていたとします。


# ls -la /usr/lib/pt_chmod
---s--x--x   1 bin     bin         3120 May  3  1996
アクセス権は次のようにします。

# ls -la /usr/lib/pt_chmod
---s--x--x   1 root     bin         3120 May  3  1996
所有者として bin を設定していましたが、root にする必要があります。setuid ビットも設定する必要があります。chown root pt_chmod を実行すると、問題は解決します。

Could not initialize tooltalk (tt_open): TT_ERR_NOMP

原因

ttsession(1) プロセスが使用できない場合、さまざまなデスクトップツールでこのメッセージが表示または出力されます。通常、ToolTalk サービスは、ttsession(1) が実行されていないと再起動しようとします。したがって、このエラーは、ToolTalk サービスがインストールされていないか、または正しくインストールされていないことを示します。

対処方法

ttsession(1) コマンドが /usr/openwin/bin または /usr/dt/bin に存在することを確認します。このコマンドが存在しない場合は、ToolTalk が正しくインストールされていません。ToolTalk を構成するパッケージは、実行時の SUNWtltk、開発者支援の SUNWtltkd、およびマニュアルページの SUNWtltkm です。

テクニカルノート

完全な TT_ERR_NOMP メッセージ文字列は次のような意味になります。「ttsession(1) が実行されていません。tt_open(3) がまだ呼び出されていない可能性があります。このメッセージ文字列が tt_open(3) から返された場合は、ttsession(1) を開始できなかったことを示します。これは、通常、ToolTalk がシステムにインストールされていないことを意味します。」

Could not open ToolTalk Channel

原因

workshop をリモートから実行しようとすると、このエラーメッセージが表示されます。

解決方法は次のとおりです。1. workshop が実行されていないことを確認します。2. telnet/rlogin セッションウィンドウで /bin/ps -ef | grep ttsession と入力します。システムと telnet で通信しているユーザーに属するものがある場合は、kill pid_of_ttsession と入力します。3. telnet rlogin セッションで、/usr/dt/bin/ttsession -s -d <machine_telnetting_from>:0.0 と入力します。4. workshop を起動します。

Could not start new viewer

原因

このメッセージは AnswerBook ナビゲータウィンドウに表示され、コンソールには XView エラーメッセージが表示されます。

対処方法

詳細については、「answerbook: XView error: NULL pointer passed to xv_set」メッセージを参照してください。

cpio: Bad magic number/header.

原因

cpio(1) アーカイブが損傷したか、または互換性のないバージョンの cpio(1) によって書き出されました。

対処方法

cpio(1) に -k オプションを付けて、入出力エラーと損傷したファイルヘッダをスキップします。これにより、cpio(1) アーカイブから他のファイルを抽出できる場合があります。損傷したヘッダ付きのファイルを抽出するには、emacs(1) などのバイナリエディタでアーカイブを編集します。cpio(1) ファイルヘッダにはそれぞれ、ファイル名が文字列として含まれています。

関連項目

マジックナンバーの詳細については、magic(4) のマニュアルページを参照してください。

cpio : can't read input : end of file encountered prior to expected end of archive.

原因

次のコマンドを使用して、bar コマンドによって保存されたマルチボリュームフロッピーを読み取ろうとすると、処理は失敗し、メッセージが表示されます。


  # cpio -id -H bar -I /dev/diskette0

対処方法

/etc/init.d/volmgt stop を実行して /usr/sbin/vold を終了し、デバイス名 /dev/rfd0 を使用します。

Cross-device link

原因

別のファイルシステムなど、別のデバイス上のファイルに対してハードリンクしようとしました。

対処方法

ln -s を使用してシンボリックリンクを確立します。シンボリックリンクは、ファイルシステムの境界を越えることができます。

テクニカルノート

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