Archive

Archive for the ‘note’ Category

$c->log の debug と dumper

Root.pm の end で以下のようにしているのですが、

$c->stash->{fdat} ||= $c->req->parameters;
$c->fillform($c->stash->{fdat});

たまに挙動がおかしく、デバッグしながら追ってみると、
fillform() の呼び出し以前に、$c->log->dumper($c->req->parameters); としているとデータが fillin されないことが分かった。

$c->log->debug($c->req->parameters); だと大丈夫。

おそらく、parameters の内部のポインタを dumper が進めてしまっているのだろう。
ポインタを戻す方法とかありそうだけど、今はドキュメント探したり、ソースを追っている時間が無いので、とりあえず原因が分かったということで他の方法で回避することにする。

webalizer 拡張その後

色々ごてごて組み込もうとしたらコンパイル周りでハマりました。

webalizer-CT-1.0 をベースに、Webalizer-Xtended と浦島氏の検索語句の日本語化を組み込みました。

configure は通りましたが、make したらこんなエラー

output.o(.text+0×4236): In function top_urls_table’:
: undefined reference to msg_top_p’
output.o(.text+0×4287): In function top_urls_table’:
: undefined reference to msg_v_pages’
collect2: ld はステータス 1 で終了しました
make: *** [webalizer] エラー 1

日本語の言語ファイルを開いてみたら、どうやら単に変数が足りなかった様子。英語のファイルから引っ張ってきて無事コンパイル通過。

無事、webalizer が拡張子無しの URL でも HTML ページとして認識してくれるようになった。Servlet とか、Zope とか使ってる場合はこの拡張は必須だろう。

今回手で修正したパッチ

daemontools の怪

自宅の Linux マシンにて、なんか svstat の様子がおかしい。以下コピペ。

# svstat /service/*
/service/apache: down 1848361 seconds
/service/dnscachex: up (pid 621) 111175402 seconds
/service/httpd: up (pid 18371) 1849581 seconds
/service/miniUpdate: up (pid 630) 111175402 seconds
/service/pgpool: up (pid 24664) 393643 seconds
/service/pop3d: up (pid 633) 111175402 seconds
/service/qmail: up (pid 625) 111175402 seconds
/service/smtpd: up (pid 628) 111175402 seconds
/service/tinydns: up (pid 623) 111175402 seconds

111175402秒って 1286日なんですが?
この家には2年も住んでいませんよ?
一番上の apache の 1848361秒 ≒ 21日ってのは合ってるんですが。