メイン Routing Protocols Implementation & Model Development ipHeaderはNULL | 投稿するにはまず登録を |
題名 | 投稿者 | 日時 |
---|---|---|
ipHeaderはNULL | dsen | 2008/11/13 17:58 |
» Re: ipHeaderはNULL | ipoten | 2008/11/17 18:59 |
Re: ipHeaderはNULL | dsen | 2008/11/20 17:50 |
Re: ipHeaderはNULL | ipoten | 2008/11/20 18:39 |
フラット表示 | 前のトピック | 次のトピック |
投稿者 | スレッド |
---|---|
ipoten | 投稿日時: 2008/11/17 18:59 |
一人前 登録日: 2005/7/12 居住地: 投稿: 102 |
Re: ipHeaderはNULL こんにちは
試しに添付されたシナリオを実行してみましたが、同じ箇所でアサーションストップしました。 私の環境は4.0.1のためか、若干行数は違いますが、以下のようになっています。
dot11->currentMessage は、IPからの送信パケットが発生した時点(関数MacDot11NetworkLayerHasPacketToSend())でセットされますが、 NAVやバックオフを待っている間に、破棄されているような雰囲気です。 デバッガで該当アドレスのメッセージ生成と解放を追ったところ、 下記の場所(l.3996)で最後に解放され、それ以降ほかの処理にメッセージ領域が使用されていることが分かりました。
この MESSAGE_Free() で解放しているメッセージはブロードキャストパケットで、dot11->currentMessage そのものです(コピーではない)。 しかし前後の処理で dot11->currentMessage がクリアされている箇所が見当たりません。 ソースコメントをみると、ここの処理はHCCA関連で変更されたソースコードのようですが、 ここでブロードキャストパケットを MESSAGE_Free() するのは妙な気がします。 ちなみにQualNet3.9.5では上記の箇所で MESSAGE_Free() はしていません。 QualNet4.5では上記に該当するコード自体が大きく書き換わっています。 QualNet4.5(.1)のReleaseNotesには、BugFixのそれらしい記述は見つけられませんでしたが、どうも4.0の不具合のような気がします。 サポートに問い合せるか、ほかのバージョンを利用してみてはいかがでしょうか。 |
フラット表示 | 前のトピック | 次のトピック |