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

Back to archive index

yosuke takadate taten****@gmail*****
2012年 5月 2日 (水) 14:51:23 JST


もりさん

たかだてです。

頂いたパッチにて、手元の環境でも正常に動作する事を確認しました。
こちらの修正で問題ないものと思われます。

ご連絡ありがとうございました。

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
>
>
-------------- next part --------------
HTMLの添付ファイルを保管しました...
Download 



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