Catalyst::Plugin::Session
CatalystのApplicationをmod_perl経由で起動しているのだが、
ある時からapacheのログに下記のエラーが発生するようになった。
[Wed Jul 11 19:37:16 2007] [error] handler MyAPP didn't return a valid return value!
本エラーが発生するhostと発生しないホストがある。
原因不明なので perl -MCPAN -e "autobundle"
してInstall Moduleの比較をしたところ、
Catalyst::Plugin::SessionにVersoinの違いがあることが分かった。
- エラーの発生しているホスト: 0.16
- エラーの発生しないホスト: 0.14
エラーの発生しているhostでも、0.14をlib/Catalyst/Plugin/Session.pmに配置すれば動く。
0.14と0.16の差分は、user Carpの追加とfinalize_sessionの順序の違いぐらいなのだが
何が原因なのか・・・
*** 91,99 **** sub finalize { my $c = shift; - $c->finalize_session; - $c->NEXT::finalize(@_); } sub finalize_session { --- 92,100 ---- sub finalize { my $c = shift; $c->NEXT::finalize(@_); + + $c->finalize_session; }