ここのところ、ずっと /var/log/messagesに perl が core を吐いたと言うメッセージが出ていた。
調べてみたところ、plaggerで落ちてる。
core ファイルができているので、gdb で bt を見てみたところ、libxml2を使っているperlのライブラリあたりで、リソースの解放あたりで落ちてる。
不思議なことに、ログインして手動でplaggerを起動すると落ちなくて、cronから起動すると落ちている。
何が原因かわからなかったけれど、とりあえず該当のperl moduleとか、perlとかをアップデートしてみたけど改善せず。
どうせだから〜と、portupgrade p5\* とかやってperlのモジュールを全てアップデートしてみた。
すると、plaggerが以下のエラーで落ちるようになった。
Plagger::Plugin [debug] Load YAML .../plagger/trunk/assets/plugins/Filter-EntryFullText/cookpad.yaml
Cannot decode string with wide characters at /usr/local/lib/perl5/site_perl/5.8.9/mach/Encode.pm line 176.
良くわからなかったが、pluginのFilter::EntryFullTextで落ちてるっぽいので、yamlをいじってEntryFullTextを外したら先に進んだ。
そして、最後にStore::FastladderでDBに入れる所で、
Plagger::Plugin::Store::Fastladder::Schema::Members::subscriptions(): No such relationship 'subscriptions' on Members at .../plagger/trunk/lib/Plagger/Plugin/Store/Fastladder.pm line 73
と言って落ちている。
どうも、DBIx::Class周りが、最近(ってほど最近でもないらしい)のバージョンでは挙動が違うらしく、その辺で落ちているらしい。
DBIC で後付けの relationship を定義してたらうまく動かなくなった - daily dayflowerとか見つけて、Store/Fastladder/Loader.pmあたりを触ろうと思ったけど、やはり読んでも良くわからず。
途方にくれて彷徨っていたら、そのものずばりryu22eBlog : DBIx::Class 0.08121ではPlagger::Plugin::Store::Fastladder 0.01が動かないのでアドホックなパッチを書いたと言うページを発見。
このパッチをあてたら、無事にplaggerが動き出した。
ここに来て再度plaggerのログを良く見たら、
Plagger [info] plugin Plagger::Plugin::Store::Fastladder loaded.

Dynamic schema detected, will run in 0.04006 mode.

Set the 'naming' attribute or the SCHEMA_LOADER_BACKCOMPAT environment variable
to disable this warning.

See perldoc DBIx::Class::Schema::Loader::Manual::UpgradingFromV4 for more
details.
なんて出てた。
さっそくperldocで該当箇所を読んでみたけど、ちんぷんかんぷんで理解できなかった。
自分の頭が大丈夫か不安になる。

しっかし、perlをバージョンアップするたびに portupgrade p5-\* とかやってたはずなのに、どうして今頃になってこの問題が表に出てきたんだろうか。

カテゴリ

トラックバック(0)

このブログ記事を参照しているブログ一覧: plaggerが動かない

このブログ記事に対するトラックバックURL: https://www.wizard-limit.net/cgi-bin/mt/mt-tb.cgi/2865

コメントする

このブログ記事について

このページは、falseが2012年3月31日 21:41に書いたブログ記事です。

ひとつ前のブログ記事は「VMware Fusionのファイル共有の罠」です。

次のブログ記事は「org-mode使い始め」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

広告

Powered by Movable Type 6.1.1