![]() |
|
FriioWebUIとか作ってあげたのに、
今、友達のFriioはこんな感じになってます。
なんて高価なヘッドフォンスタンドなんだろう…(笑

Firefox 3.0では設定でSSL3.0とTLS1.0を利用するかどうかを決められるのだが、
SSL3.0のチェックボックスを外し、TLSオンリーにしようとしても、
SSLが有効じゃありませんといわれ、すべてのhttps://に接続出来なくなる。
というのは本題じゃなくて、
http://127.0.0.1/ に接続するとき、1度目はきちんとしたデータをサーバに送信するのだが、
2度目以降は何故か {128, 79, 1, 3, 0,0,54,0,...} というデータを送信する。
僕がTLSの仕様を読んだ限りでは、とりあえず最低でも先頭の1バイトは20~23の間である必要があると思うのだが…
なんでだろ?
郡山観光から、実家を経由(2泊)し、アパートに帰宅っと…
また今日から日常が始まる…
もう謎ですね…
NullReferenceExceptionが起こる原因は、メソッドの引数に渡される
ポインタがNULLだったからなので、stackallocがNULLを返しているのかなぁと思って
if (p == 0) throw new StackOverflowException();
という風に、NULLかどうかチェックするコードを入れたら、動くようになる…
C#の言語仕様にはstackallocで十分なメモリ領域が確保できない場合は、
StackOverflowExceptionが発生すると書いてある。ということはNULLが返る可能性は無いと思っていいのかな。
なんか、もう…
前のエントリで、0で埋めれば動くと書いたけど、
さらに調べてみると、0で埋めるメソッドの中身を全部コメントアウトしても動くようになった。
前のエントリで例外が発生するメソッドを詳しくみると、stackallocにより確保したメモリが初期化されていなくても、
利用する前にきちんと各要素に値を代入するようになってた。
というか、NullReferenceExceptionは流石に発生しないよね?
さて…起きて遊びに行って帰ってきたら、まぢめに原因を探すかな…
$ make exec && mono Executable.exe
とし、Mono trunk(r111351)で動かしてみたら、x86なのにSystem.IndexOutOfRangeExceptionが…
$ mono --optimize=-all Executable.exe
とすると、System.NullReferenceExceptionが発生する。
例外が発生しているメソッドでは uint* を利用しているので、
uint* hoge = stackalloc uint[SIZE]; → uint[] hoge = new uint[SIZE];
と書き換えると、正常に動作する。ということはインデックスを超えてアクセスしているわけではないのか…
そして、いつぞやのCamelliaの実装のバグを思い出した。
あれは、stackallocで確保されるメモリ領域は初期化されていないため、
適当な値が初期値として入っていることが原因で発生するバグだった。
あのバグはMSの.NET Frameworkではほぼ100%に近い確率でstackallocで確保した
領域の中身が0で初期化されているため、.NET Frameworkでは発生しなかったのだが、
Monoではそうではないため、発生する。今の状況はまさにその通り。
もしやとおもい、stackalloc後に0で初期化するコードを埋め込んだら
動くようになった。結局、僕のプログラムのバグかよ…orz
というわけで、近いうちに修正版をリリースします…
といっても、僕以外に誰も使っていないと思うけどね ;)
1.0のリリースから一年以上たっていますが、2.0をリリースしました。
内容自体は一年前のtrunkの中なのですがね… リリースするをすっかり忘れてたので。
郡山観光も終わり、一段落。
やっぱ、友達と観光した方がおもしろいね。てか、今回はおもしろすぎた。
先生方との夕食も、SCISの時と違って人数も多いので、会話が盛り上がって楽しかった。
暑そうだけどね・・・
かなり疲れた…
慣れない長時間の新幹線(二時間ちょいだけど…) + 耐えられない暑さ + 人の多さ + 冷房と扇風機のダブルパンチ
はつらい…ってか僕って体力無いなぁ…
ミーティング自体は隣のテーブル(謎)のネタが濃すぎてついて行けませんでした(笑
しばらく、MonoやC#の情報を仕入れていなかったので…w
でもまぁ、atsushienoさんや、akirameiさんに会えてよかったです。(akirameiさんとはあまりはなせませんでしたが…)
てか、僕、消極的すぎましたね。
といっても、人見知りの僕には、知らない年上の方にネタもなく話しかけるなんて難しいわけですが(ぇ
今度また、こういう機会があったらがんばらなきゃなぁ…
以下、十年ぶりの東京の愚痴
あと、ミーティングの前にあった某氏は僕の中のイメージと違ってた。僕と身長いい勝負かな?(そこか