2007年1月10日(水) どんよりとした曇り [同日]
● 古い方の自動車の冷却水漏れはエンジン始動直後に多いような気がする。漏れているところが暖まってくると金属が膨張してひび割れがふさがれるのだろうか?
● [momonga] オモコンメモ
famを要求されたらgaminを入れるべし。StatusReport-20060520より…やっと去年の5月の状態に追い付きつつあるということか。
● オモコンマシン、3度目のフリーズ
昨日に引続き、 落ちました。ssh経由で端末に表示されたログは下記の通り:
c9d22508 de0aaae0 c9d22524 c0472abf dc89fe40 00000005 1383b35c df10502a Call Trace: [_raw_spin_lock+27/220] _raw_spin_lock+0x1b/0xdc [<c04d8e72>] _raw_spin_lock+0x1b/0xdc [__d_lookup+96/228] __d_lookup+0x60/0xe4 [<c0472abf>] __d_lookup+0x60/0xe4 [do_lookup+40/346] do_lookup+0x28/0x15a [<c046a118>] do_lookup+0x28/0x15a [__link_path_walk+2224/3446] __link_path_walk+0x8b0/0xd76 [<c046bfb0>] __link_path_walk+0x8b0/0xd76 [link_path_walk+73/189] link_path_walk+0x49/0xbd [<c046c4bf>] link_path_walk+0x49/0xbd [do_path_lookup+538/619] do_path_lookup+0x21a/0x26b [<c046c89c>] do_path_lookup+0x21a/0x26b [__user_walk_fd+47/64] __user_walk_fd+0x2f/0x40 [<c046d061>] __user_walk_fd+0x2f/0x40 [vfs_stat_fd+25/64] vfs_stat_fd+0x19/0x40 [<c0466ba7>] vfs_stat_fd+0x19/0x40 [sys_stat64+15/35] sys_stat64+0xf/0x23 [<c0466c5b>] sys_stat64+0xf/0x23 [syscall_call+7/11] syscall_call+0x7/0xb [<c0402cff>] syscall_call+0x7/0xb DWARF2 unwinder stuck at syscall_call+0x7/0xb Leftover inexact backtrace: ======================= Code: 0c 89 44 24 10 8b 41 10 89 7c 24 04 c7 04 24 18 d5 63 c0 89 44 24 08 e8 aa 26 f4 ff 83 c8 ff 85 db 8b 4e 08 ba 43 d5 63 c0 74 0c <8b> 83 a8 00 00 00 8d 93 94 01 00 00 89 4c 24 14 89 44 24 10 89 EIP: [spin_bug+115/255] spin_bug+0x73/0xff SS:ESP 0068:dc89fd7c EIP: [<c04d8d5b>] spin_bug+0x73/0xff SS:ESP 0068:dc89fd7c
一昨日と似たようなスタックなのかな。ACさんに教えていただいたパッチを当ててみよう。あとで。
● tDiaryが500を返したときにFirefoxがデータを待ち続けているように見えた。Content-lengthか何かがおかしくなってるのかな?後で見る。(12日追記) <%=timeout(0.1){sleep 1} %>というコードで500を出させてみた。Content-lengthは返さない、IEのために空白を500バイト追加することはわかった。そしてFirefoxは待ち続けなかった。うーん、再現できず。次の機会をまとう。
● オモコンマシンのフリーズはpage_mkclean_oneのバグのせいではなかった
ACさんに教えていただいたパッチを当てたカーネルでビルドしていたら…やっぱり落ちました。
落ちた瞬間のtop。オモコンをはじめてだいたい1時間しかもたなかったか。
top - 18:45:34 up 1:04, 4 users, load average: 2.75, 2.74, 2.63
Tasks: 65 total, 1 running, 64 sleeping, 0 stopped, 0 zombie
Cpu(s): 13.6% us, 10.6% sy, 0.0% ni, 2.0% id, 73.1% wa, 0.7% hi, 0.0% si,
Mem: 515236k total, 385960k used, 129276k free, 43000k buffers
Swap: 522104k total, 44k used, 522060k free, 247944k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
17638 system 21 0 9396 3920 2780 S 6.7 0.8 0:00.20 rpmbuild
26885 system 18 0 40956 33m 3408 S 2.3 6.6 0:09.36 ruby
17643 system 22 0 1548 420 348 D 0.7 0.1 0:00.02 rm
28424 system 15 0 1900 912 720 R 0.3 0.2 0:06.90 top
1 root 15 0 1908 696 596 S 0.0 0.1 0:00.69 init
(以下省略)
sshで取得できたスタックトレース
[do_lookup+40/346] do_lookup+0x28/0x15a [<c046a0c0>] do_lookup+0x28/0x15a [__link_path_walk+816/3446] __link_path_walk+0x330/0xd76 [<c046b9d8>] __link_path_walk+0x330/0xd76 [link_path_walk+73/189] link_path_walk+0x49/0xbd [<c046c467>] link_path_walk+0x49/0xbd [do_path_lookup+538/619] do_path_lookup+0x21a/0x26b [<c046c844>] do_path_lookup+0x21a/0x26b [__path_lookup_intent_open+69/117] __path_lookup_intent_open+0x45/0x75 [<c046d19d>] __path_lookup_intent_open+0x45/0x75 [path_lookup_open+32/37] path_lookup_open+0x20/0x25 [<c046d23c>] path_lookup_open+0x20/0x25 [open_namei+125/1567] open_namei+0x7d/0x61f [<c046d34b>] open_namei+0x7d/0x61f [do_filp_open+37/57] do_filp_open+0x25/0x39 [<c045d1d0>] do_filp_open+0x25/0x39 [do_sys_open+66/190] do_sys_open+0x42/0xbe [<c045d226>] do_sys_open+0x42/0xbe [sys_open+28/30] sys_open+0x1c/0x1e [<c045d2db>] sys_open+0x1c/0x1e [syscall_call+7/11] syscall_call+0x7/0xb [<c0402cff>] syscall_call+0x7/0xb DWARF2 unwinder stuck at syscall_call+0x7/0xb Leftover inexact backtrace: ======================= Code: 06 00 85 c0 75 17 31 f6 f6 43 04 10 75 05 90 ff 03 89 de 8d 43 08 e8 16 f3 19 00 eb 27 8d 43 08 e8 0c f3 19 00 8b 3f 85 ff 74 17 <8b> 07 0f 18 00 90 8d 5f e4 8b 44 24 08 39 43 28 75 e8 e9 7b ff EIP: [__d_lookup+193/228] __d_lookup+0xc1/0xe4 SS:ESP 0068:c7771d9c EIP: [<c0472ac8>] __d_lookup+0xc1/0xe4 SS:ESP 0068:c7771d9c
ハードウェアの問題かなあ。嫌だなあ…。
● 名前付きパイプは双方向にデータを流せますが…
名前付きパイプからコマンドをもらって答えを同じ名前付きパイプに返すようなサーバーを作ったら、自分で自分の返した答えを読んじゃいました。そりゃそうか。
● tDiaryの最近のツッコミのtitleアトリビュートには改行のある文字列が書かれることが多い。Firefoxでは、マウスをツッコミの上に置くとtitleアトリビュートの内容がツールチップに表示される。少なくとも、Firefoxの1.0.6や1.5.0.6では、titleアトリビュートの改行前後は改行でも空白でもない文字として表示されるが、これはFirefoxのバグのようだ。w3c.orgでは、titleアトリビュートの内容はtextとされていて、textはCDATAで、CDATAのLFは無視し、CRは空白に置きかえなければならないから。というわけでtDiary側では放置しておくべきみたいだね。
● Lisp:よくある正解
角谷HTML化計画より。shiroさん超々かっこいい!
やっぱりLispを手に馴染ませておきたいなあ。僕の頭じゃ手におえないかもしれないけど。
(追記) textfile.orgよりDebugging Backwards in Time。VisualStudio 2005では同じメソッドの中までなら巻戻して編集して実行しなおせるのだそうだ。これを極めるとshiroさんのように動いているコードをばしばしといぢれるようになるのかな?
● tDiaryのプラグインのエスケープ漏れがないか確認していて、これってBASICみたい、と思った。BASICには行番号があって制御がどの行に移ってくるかわからないし、tDiaryのプラグインではメソッド呼び出しがどこで再定義されるかわからないので、メソッドにローカルな変数以外は信用できない。
最近のツッコまれどころ