Keisuke MORI
keisu****@gmail*****
2012年 5月 2日 (水) 15:03:35 JST
たかだてさん、 森です。 動作確認ありがとうございました。 ではこのパッチをフィードバックしてみます。 2012年5月2日14:51 yosuke takadate <taten****@gmail*****>: > もりさん > > たかだてです。 > > 頂いたパッチにて、手元の環境でも正常に動作する事を確認しました。 > こちらの修正で問題ないものと思われます。 > > ご連絡ありがとうございました。 > > 2012年5月2日13:43 Keisuke MORI <keisu****@gmail*****>: > >> たかだてさん、 >> >> もりと申します。 >> >> すでにご自分で解決されたようなので蛇足かもしれませんが… >> >> 事象は私の方でも確認しました。どうやら CentOS 5 / RHEL 5 付属のバージョンの perl で発生する ldirectord >> のバグのようですね(CentoS 6 / RHEL6 では発生しません)。 >> >> 添付のパッチを本家開発コミュニティにフィードバックしようと思いますが、この修正でいかがでしょうか? >> >> >> 以前本家開発コミュニティ側でも、類似の事象ですでに一度修正されていたようなのですが、その後別の箇所で同じようなコードが入り込んでしまったのが原因のようです。 >> >> https://github.com/ClusterLabs/resource-agents/commit/829aed7b962e1e90f4f5e43b03373e9aa93d4032 >> >> 以上、ご確認いただけると助かります。 >> >> >> >> >> 2012年5月2日11:49 yosuke takadate <taten****@gmail*****>: >> > たかだてです。 >> > >> > /usr/sbin/ldirectordの構文エラーの件ですが、 >> > returnの中で文字列を連結する際、AF_INET6を使用しているのが >> > 原因になっているようです。 >> > (AF_INET6の条件式部分をreturnの外に出したらsyntax OKになりました) >> > -- >> > 2461: return &get_virtual($v) . " " . $v->{protocol} . >> > ($v->{addressfamily} >> > == AF_INET6 ? "6" : ""); >> > 4828: return $v->{"protocol"} . ($v->{addressfamily} == AF_INET6?"6":"") >> > . >> > ":" . &get_virtual($v); >> > -- >> > >> > 他に根本原因があるかもしれませんが、 >> > 回避方法のひとつとして。 >> > (あまりLinux-HAと関係なくてすみません) >> > >> > 2012年4月25日22:58 yosuke takadate <taten****@gmail*****>: >> > >> >> たかだてと申します。 >> >> >> >> お手数をおかけしますが、ご相談させ下さい。 >> >> pacemaker-1.0.11-1.2.2 (ldirectord-3.9.2-1.1)の/usr/sbin/ldirectordですが、 >> >> 実行すると以下のようなエラーが発生します。 >> >> >> >> >> >> >> >> ---------------------------------------------------------------------------------------------- >> >> # /usr/sbin/ldirectord status >> >> Possible unintended interpolation of @real_checked in string at >> >> /usr/sbin/ldirectord line 2461. >> >> Possible unintended interpolation of @real_checked in string at >> >> /usr/sbin/ldirectord line 2461. >> >> Possible unintended interpolation of @real_checked in string at >> >> /usr/sbin/ldirectord line 2461. >> >> Global symbol "$oldsrv" requires explicit package name at >> >> /usr/sbin/ldirectord line 2461. >> >> Global symbol "$real_service" requires explicit package name at >> >> /usr/sbin/ldirectord line 2461. >> >> (略) >> >> Global symbol "$r" requires explicit package name at >> >> /usr/sbin/ldirectord >> >> line 2461. >> >> Global symbol "$r" requires explicit package name at >> >> /usr/sbin/ldirectord >> >> line 2461. >> >> syntax error at /usr/sbin/ldirectord line 2811, near "$$r{url} =~ >> >> /(http|https):\/\/([^:\/]+)(:([^\/]+))?(" >> >> /usr/sbin/ldirectord has too many errors. >> >> >> >> >> >> ---------------------------------------------------------------------------------------------- >> >> >> >> ○実行環境 >> >> os: CentOS5.6 (2.6.18-164) >> >> perl: v5.8.8 >> >> >> >> 同環境でheartbeat-2.1.4の/usr/sbin/ldirectordは問題なく動作します。 >> >> 何か情報をお持ちの方おりますでしょうか。 >> >> >> >> よろしくお願いします。 >> >> >> > >> > >> > _______________________________________________ >> > Linux-ha-japan mailing list >> > Linux****@lists***** >> > http://lists.sourceforge.jp/mailman/listinfo/linux-ha-japan >> > >> >> >> >> -- >> Keisuke MORI >> >> _______________________________________________ >> Linux-ha-japan mailing list >> Linux****@lists***** >> http://lists.sourceforge.jp/mailman/listinfo/linux-ha-japan >> > > > _______________________________________________ > Linux-ha-japan mailing list > Linux****@lists***** > http://lists.sourceforge.jp/mailman/listinfo/linux-ha-japan > -- Keisuke MORI