[Linux-ha-jp] pacemaker-1.0.11 /usr/sbin/ldirectord

Back to archive index

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





Linux-ha-japan メーリングリストの案内
Back to archive index