主要メッセージの手引き

"K"

kernel read error

原因

このメッセージは、アクティブな savecore(1M) がカーネルのメモリーにあるデバッグ中のイメージをディスクにコピーしようとしましたが、カーネルの各種のデータ構造を正しく読み取れなかった場合に表示されます。通常は、システムパニックによってメインメモリーが損傷を受けた後で表示されます。そのため、システムのデータが損傷している恐れがあります。

対処方法

このメッセージの前に表示されるカーネルのエラーメッセージを調べて、障害の原因を特定します。「BAD TRAP」などのエラーメッセージであれば、通常はハードウェア障害を示します。カーネルのパニックを引き起こした障害が解消されるまで、カーネルのコアイメージをデバッグ用に保存できません。

killed

原因

配列として、あるいは malloc を使用して、サイズの大きなメモリを割り当てようとしたプロセスが、シェルによる起動時に失敗しました。この問題は 240,000,000 の要素を倍精度の配列として割り当てたとき、あるいは malloc により 1,920,000,000 バイトのスペースを割り当てたときに発生が確認されています。

対処方法

原因は、2 つのどちらかです。それぞれに応じた処理をしてください。

1. スワップスペースの不足

プログラムをルートとしてコンソールで実行してください。実行できる場合は問題ありません。

2. スタックサイズとデータセグメントサイズが競合しています。

スタックサイズの設定が大きすぎると、データセグメントと競合するためプロセスが開始しません。スタックサイズをデフォルトの 8192 に設定するとこの問題が解決し、プログラムが開始します。

Killed

原因

このメッセージは情報を表示しているだけです。強制終了されたプロセスがファイルへの書き込み中だった場合は、データの一部が失われている恐れがあります。

対処方法

作業を続行します。

テクニカルノート

シグナルハンドラまたは各種シェルからのこのメッセージは、プロセスが SIGKILL によって終了されたことを示します。ただし、このメッセージが表示されず、SIGKILL でプロセスを終了できない場合は、マシンをリブートしてそのプロセスを削除してください。

kmem_free block already free

原因

これはプログラミングエラーであり、デバイスドライバが原因の可能性があります。

対処方法

このメッセージはドライバにバグがあることを示しているため、メッセージの原因となったドライバを特定し、ソフトウェアの更新をベンダに要請してください。

テクニカルノート

このメッセージは、DDI プログラミング関数 kmem_free(9F) が表示したものです。この関数は、DDI 関数 kmem_alloc(9F) が前に割り当てたサイズ siz のアドレス addr にあるブロックメモリーを解放します。addrsiz は、両方とも元の割り当てと一致しなければなりません。ドライバのソースコードがある場合は、コード内の kmem_alloc(9F)kmem_free(9F) を追跡して、割り当てるメモリー部分と解放する部分が一致することを確認します。