アカウント名:
パスワード:
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
コンピュータは旧約聖書の神に似ている、規則は多く、慈悲は無い -- Joseph Campbell
そう言えば…、カーネルパニック (スコア:1)
#オフトッピク気味です。
現在、赤帽7.1+RTLinux(バージョンは今は失念。ver2.x系で、Linux2.4.4へのパッチ)で開発しております。
制御系のプログラムですが、Linuxマシンがサーバ、クライアントはWindows NTです。
#以下は、純粋なC言語での開発です。特別なライブラリ等は使用していません。
#gccでの開発です。移植性の為。
#まぁ、ドライバはRTLinuxを使用してはいますが…。
送/受信データが可変長なので、ヘッダ部分にデータ部長を埋めこんであります。
サーバ向/クライアント向どちらにもあります(あたりまえか(^^;)。
こういう所で、htons()関数・htonl()関数等をいれ込み忘れて、ネットワークバイトオーダに変換するのを忘れてそのまま送信してしまうというバグがよく起きています。主に、受信したデータサイズをそのまま送信サイズとして送信したときです。
ココで一つ問題が…。ネットワークオーダに変換し忘れたデータサイズでを送信したとき、カーネルがパニックを起こすのです。想定していないようなサイズ(ネットワークオーダに変換していないので)のデータを送信しようとしてスタックがあふれてしまっているようです(送信サイズからして)。
#まぁ、この時はWindows NTのクライアントソフトもハングるのですが(^^;。
単なるアプリケーションのバグなのでいいのですが、ココからが僕の疑問です。
これって、今のバージョンで回避できているのでしょうか?。
#change logにあったらごめんなさい。RTのパッチ無しでも再現あり。
カーネルのバグとして報告すべきでしょうか。
#開発側レベルの不具合なのでタッチしない?
現在の僕のスタンスは
「アプリケーション開発上で馬鹿な事をしたんだから、そんな馬鹿なことは俺ッチに言うなよ。俺?。カーネル」
と
「まぁ、ごめん。俺が悪かったよ。でも、OSごと落ちるなよ。俺?。アプリ」
です。
本音は後者。
#リトルエンディアンとビッグエンディアン。
#僕はゆでたまごはまるごと食らうがな…。
#ゆでたまごを知らない人はネットに来て欲しくないな(爆
閑話休題