[Ultramonkey-l7-develop 833] Re: [Ultramonkey-l7-users 531] Re: UltraMonkey-L7 v3系の処理異常事象報告

Back to archive index

中野 宏朗 nakan****@nttco*****
2012年 12月 7日 (金) 15:40:28 JST


中野@幕張です。

障害パターン2だと、Malformedは出てなかった。
となると、Malformedとは別に原因があるかぁ。

urlencodeの長さかな?

(2012/12/07 15:13), 中野 宏朗 wrote:
> 中野@幕張です。
> 
> セッションレスとかの正常編パケットキャプチャみてると、
> Malformedは出て無いね。
> Malformed パケットのHTTPレスポンスが契機なのかな。
> 
> となると、ヘッダにContent-Lengthが無くて
> HTTP chunked responseがある場合、各Data ChunkのChunk sizeを
> ちゃんと解釈してHTTPパケット長を計算するルーチンを
> handle_realserver_recv()(と、そこから呼ばれるhttp_utilの
> 中)に実装してやればこの事象は出ないのかな。
> 
> Chunk sizeって、テキストに直した数字は16進数なんだな。
> 10進数と思ってそのまんまぶち込むと全然違う結果になるから注意w
> 
> (2012/12/06 20:51), 中野 宏朗 wrote:
>> 中野@幕張です。
>>
>> 最初に貰ったキャプチャデータみてますが、
>> 最初のMalformedになったレスポンスのHTTPヘッダ内には
>> Content-Lengthが無くて、2回目のやつにはContent-Lengthが
>> 入っているんだけど、1回目のときは、
>>
>> protocol_module_ip.cpp @ handle_realserver_recv():L3618
>>
>> のところで、NGになってelse文に行っちゃうんじゃね?
>>
>> L3677でsession_data_ptr->data_state == UNKNOWN なら、
>> バッファサイズのdata_length をごっそりパケットとして
>> 送るから、Malformedになってる気がする。
>>
>> Web側capのサイズunlimited版が欲しいな・・・
>> 58番パケットとか、HTTPヘッダの途中でsize limitでぶちきられてる。
>> X-Forwarded-forが入ったヘッダを確認したいのに。
>> Postデータがちゃんと途切れずにWebに届いているか確認したい。
>>
>> (2012/12/06 16:51), 中野 宏朗 wrote:
>>> 中野@幕張です。
>>> 開発MLもCcに入れてます。
>>>
>>> (2012/12/06 13:46), Hibari Michiro wrote:
>>>> 太田様
>>>>
>>>> 雲雀です。
>>>> 早速の対応ありがとうございます。
>>>>
>>>>> 複数パターンで検証いたしました。
>>>>> 結論から申し上げますと、
>>>>>
>>>>> 「module = IP -F」の場合のみ、障害が発生いたします。
>>>> 情報ありがとうございます。
>>>>
>>>> コードをざっと確認したところ、ipモジュールのXFF付与処理に
>>>> 問題がありそうな感じでした。
>>>> ちなみに、sessionlessモジュールにもXFF付与処理が実装されていますが、
>>>> ipモジュールと実装方法が異なるようで、ipモジュールにのみ問題が
>>>> 含まれている模様です。
>>>> #まだ、ざっくり見ただけなので、確証はありませんが・・・
>>>> #頂いた情報をもとに、引き続き調査します。
>>>
>>> ipモジュールだけ、モジュール内のクライアントからの受信処理内に
>>> HTTPヘッダ解析ルーチンが入っていますね。
>>> その中で、今回のPOSTのクエリストリングを解釈しきれていない
>>> ルーチンがあるんだと思います。
>>> # 頑張って見つけます(汗)
>>>
>>> で、途中でちょん切れたクエリを受け取ったWebアプリが、空の
>>> セットを返して真っ白な表になった、という感じかと。
>>>
>>>> ひとまず回避策としては、-Fオプションを外すことになるのですが、
>>>> -Fを利用しているのは、バックエンドにクライアントのIPアドレスを
>>>> 記録するためだと思います。
>>>> 代替案として、-Fオプションの代わりにTransparent Proxy 機能を
>>>> 利用する事で、バックエンドにクライアントのIPアドレスを記録する
>>>> 方法が考えられます。
>>>>
>>>> Transparent Proxy 機能を利用するには、UltraMonkey-L7 サーバの
>>>> カーネルバージョンが2.6.28 以上(Cent OS6以降)である必要が
>>>> ございますので、OSのバージョンアップが可能であれば、
>>>> 上記代替案をご検討ください。
>>>>
>>>> 【参考】
>>>> http://sourceforge.jp/projects/ultramonkey-l7/docs/uml7-administration_manual_v3.2_ja/ja/1/uml7-administration_manual_v3.2_ja.txt
>>>> =>8.2 Transparent Proxy について
>>>>
>>>> 以上、宜しくお願いいたします。
>>>>
>>>> (2012/12/06 13:07), 株式会社ジーシーシー 太田 立志 wrote:
>>>>> 雲雀様
>>>>>
>>>>> お世話になります。
>>>>> 太田です。
>>>>> どうぞよろしくお願いいたします。
>>>>>
>>>>> 複数パターンで検証いたしました。
>>>>> 結論から申し上げますと、
>>>>>
>>>>> 「module = IP -F」の場合のみ、障害が発生いたします。
>>>>>
>>>>>> ■今回の事象の発生頻度はどの程度でしょうか?
>>>>>>  ・お送りいただいたpdfの手順で行うと100%発生するのでしょうか
>>>>> 100%発生いたします。
>>>>>
>>>>>>  ・POST時に入力するデータの内容によって、事象が発生する/しないといった
>>>>>>   ことはありますでしょうか
>>>>> 入力データによることはないものと思われますが、
>>>>> 再度確認したところ特定の行数の入力で障害が発生していることがわりました。
>>>>>
>>>>> 尚、障害発生は次の2パターンがございます。
>>>>>
>>>>>  障害パターン1.5行目を入力すると障害発生
>>>>>  障害パターン2.8行目を入力すると障害発生
>>>>>  ※画面解説したpdfを作成しましたので、お送りいたします。
>>>>>
>>>>>> ■可能であれば、切り分けのために以下のパターンでも事象が発生するかを
>>>>>>  試していただきたいのですが、お願いできますでしょうか?
>>>>>>   ・moduleオプションの-Fを外した状態で実施。
>>>>>>   ・moduleをsessionlessに変更して実施(-F あり/なし 両方)。
>>>>> 各種検証して、
>>>>> 次のパターンのパケットキャプチャ取得しました。
>>>>> (キャプチャサイズ 256byte)
>>>>>
>>>>> <障害発生あり>
>>>>> 1.IP_-Fあり_障害パターン1
>>>>> 2.IP_-Fあり_障害パターン2
>>>>>
>>>>> <障害発生なし>
>>>>> 3.IP_-Fなし
>>>>> 4.sessionless_-Fなし
>>>>> 5.sessionless_-Fあり
>>>>>
>>>>> ※取得した情報は雲雀様宛でお送りいたします。
>>>>>
>>>>> 以上、よろしくお願いいたします。
>>>>>
>>>>>
>>>>> On Thu, 06 Dec 2012 10:21:21 +0900
>>>>> Hibari Michiro <hibar****@lab*****> wrote:
>>>>>
>>>>>> 太田様
>>>>>>
>>>>>> はじめまして。雲雀と申します。
>>>>>> 横から失礼します。
>>>>>>
>>>>>> 今回発生した事象について、差支えない範囲で
>>>>>> 以下の情報を頂けますでしょうか。
>>>>>>
>>>>>> ■今回の事象の発生頻度はどの程度でしょうか?
>>>>>>  ・お送りいただいたpdfの手順で行うと100%発生するのでしょうか
>>>>>>  ・POST時に入力するデータの内容によって、事象が発生する/しないといった
>>>>>>   ことはありますでしょうか
>>>>>>
>>>>>> ■可能であれば、切り分けのために以下のパターンでも事象が発生するかを
>>>>>>  試していただきたいのですが、お願いできますでしょうか?
>>>>>>   ・moduleオプションの-Fを外した状態で実施。
>>>>>>   ・moduleをsessionlessに変更して実施(-F あり/なし 両方)。
>>>>>>
>>>>>> また、今回お送りいただいたキャプチャですが、LBとWEBのキャプチャでは
>>>>>> [Packet size limited during capture]となっております。
>>>>>> お手数をお掛けしますが、キャプチャサイズを大きくした状態で、再度
>>>>>> キャプチャを行っていただけないでしょうか。
>>>>>>
>>>>>> 以上、よろしくお願いいたします。
>>>>>>
>>>>>>
>>>>>> (2012/12/04 19:24), 株式会社ジーシーシー 太田 立志 wrote:
>>>>>>> 中野様
>>>>>>>
>>>>>>> お世話になります。
>>>>>>> 太田です。
>>>>>>>
>>>>>>>> このpcapファイルは、通常の正常な時のもののキャプチャです?
>>>>>>>> もし異常が起きた時のものなら、どのへんのタイミングか教えてもらえると
>>>>>>>> ありがたいです。
>>>>>>> お送りしたキャプチャは、
>>>>>>> 次の動作のものになります。
>>>>>>>
>>>>>>> <UltraMonkey-l7-3.0.3-1経由の場合>
>>>>>>>
>>>>>>>   1回目のPOST処理⇒正常動作
>>>>>>>     『PC_dump_UMv3.pcap』の「1行目〜40行目」
>>>>>>>     ※「Ultramonkeyl7-3.0.3.1経由の処理異常画面.pdf」の正常動作画面
>>>>>>>
>>>>>>>   2回目のPOST処理⇒異常動作
>>>>>>>     『PC_dump_UMv3.pcap』の「41行目〜71行目」
>>>>>>>     ※「Ultramonkeyl7-3.0.3.1経由の処理異常画面.pdf」の異常動作画面
>>>>>>>
>>>>>>>> あと、Malformed Packetが出たのは、クライアント、LB、Webの
>>>>>>>> どのマシンでしょうか。
>>>>>>> クライアントが受け取っております。
>>>>>>>   『PC_dump_UMv3.pcap』の「37行目」
>>>>>>>
>>>>>>> <UltraMonkey-l7-2.1.3-1経由の場合>
>>>>>>>
>>>>>>>   複数回POST処理を実行⇒異常なし
>>>>>>>    『PC_dump_UMv2.pcap』
>>>>>>>
>>>>>>>
>>>>>>> 以上、どうぞよろしくお願いいたします。
>>>>>>>
>>>>>>>
>>>>>>> On Tue, 04 Dec 2012 18:02:16 +0900
>>>>>>> 中野 宏朗 <nakan****@nttco*****> wrote:
>>>>>>>
>>>>>>>> 太田さん
>>>>>>>>
>>>>>>>> 中野と申します。
>>>>>>>> はじめまして。
>>>>>>>>
>>>>>>>> このpcapファイルは、通常の正常な時のもののキャプチャです?
>>>>>>>> もし異常が起きた時のものなら、どのへんのタイミングか教えてもらえると
>>>>>>>> ありがたいです。
>>>>>>>>
>>>>>>>> あと、Malformed Packetが出たのは、クライアント、LB、Webの
>>>>>>>> どのマシンでしょうか。
>>>>>>>>
>>>>>>>> (2012/12/04 16:23), 株式会社ジーシーシー 太田 立志 wrote:
>>>>>>>>> 開発者の皆様
>>>>>>>>>
>>>>>>>>> 太田と申します。
>>>>>>>>>
>>>>>>>>> UltraMonkey-L7を大変有意義に使用させていただいております。
>>>>>>>>> この場を借りて感謝の言葉を述べさせていただきます。
>>>>>>>>>
>>>>>>>>> さて、
>>>>>>>>> UltraMonkey-L7 v3系において、
>>>>>>>>> ロードバランサー経由のPost処理後のWeb画面が正常に
>>>>>>>>> 表示されない事象が発生しましたので、
>>>>>>>>> ご報告いたします。
>>>>>>>>>
>>>>>>>>> パケットキャプチャ等取得しましたので、
>>>>>>>>> ご確認いただけますと幸いです。
>>>>>>>>>
>>>>>>>>> 【事象】
>>>>>>>>> クライアントPCから、
>>>>>>>>> UltraMonkey-l7-3.0.3-1経由でWebシステムのPost処理を
>>>>>>>>> 行った際に処理後のWeb画面が正常に表示されない場合がある。
>>>>>>>>> (事象を記したpdfファイルを別途お送りします)
>>>>>>>>>
>>>>>>>>> 【検証】
>>>>>>>>> ・Webサーバに直接アクセスして処理を行った場合、正常に動作します。
>>>>>>>>> ・UltraMonkey-l7-2.1.3-1であれば問題なく動作します。
>>>>>>>>> ・UltraMonkey-l7-3.0.4-2では同様に処理異常となります。
>>>>>>>>> ・処理異常が発生する前に「Malformed Packet」が発生しております。
>>>>>>>>>
>>>>>>>>> 【環境】
>>>>>>>>> <ロードバランサー>
>>>>>>>>> OS:Cent OS 5.6 32bit
>>>>>>>>> Kernel:2.6.18-238.el5
>>>>>>>>> UltraMonkey-l7バージョン:3.0.3-1
>>>>>>>>> 振り分け方法:IPモジュール( module = ip -F -R )
>>>>>>>>>
>>>>>>>>> <Webサーバー>
>>>>>>>>> OS:RHEL 5.4
>>>>>>>>> Kernel:2.6.18-164.el5 32bit
>>>>>>>>> Apache:2.2.15
>>>>>>>>>
>>>>>>>>> 【お送りする情報】
>>>>>>>>> ※各種取得情報を竹林様宛に別途送らせていただきます。
>>>>>>>>>
>>>>>>>>> ・Ultramonkeyl7-3.0.3.1経由の処理異常画面.pdf
>>>>>>>>>
>>>>>>>>> ・パケットキャプチャ
>>>>>>>>>   <UltraMonkey-l7-3.0.3-1経由>
>>>>>>>>>   1.クライアントPCパケットキャプチャ「PC_dump_UMv3.pcap」
>>>>>>>>>   2.ロードバランサーパケットキャプチャ「LB_dump_UMv3.pcap」
>>>>>>>>>   3.WEBサーバーパケットキャプチャ「WEB_dump_UMv3.pcap」
>>>>>>>>>
>>>>>>>>>   <UltraMonkey-l7-2.1.3-1経由>
>>>>>>>>>   4.クライアントPCパケットキャプチャ
>>>>>>>>>     「PC_dump_UMv2.pcap」
>>>>>>>>>
>>>>>>>>> ・l7directord.cf
>>>>>>>>>
>>>>>>>>> ※その他必要な情報がありましたら、
>>>>>>>>>  お申し付けください。
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> 以上、よろしくお願いいたします。
>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> Ultramonkey-l7-users mailing list
>>>>>>>>> Ultra****@lists*****
>>>>>>>>> http://lists.sourceforge.jp/mailman/listinfo/ultramonkey-l7-users
>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> Ultramonkey-l7-users mailing list
>>>>>>>>> Ultra****@lists*****
>>>>>>>>> http://lists.sourceforge.jp/mailman/listinfo/ultramonkey-l7-users
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>> -- 
>>>>>>>> 中野 宏朗 (NAKANO Hiroaki)
>>>>>>> _______________________________________________
>>>>>>> Ultramonkey-l7-users mailing list
>>>>>>> Ultra****@lists*****
>>>>>>> http://lists.sourceforge.jp/mailman/listinfo/ultramonkey-l7-users
>>>>>>>
>>>>>>
>>>>>> -- 
>>>>>> 雲雀 路朗 (Michiro Hibari)
>>>>>> MAIL:  hibar****@lab*****
>>>>>> 所属:  NTT OSSセンタ 基盤技術ユニット 高信頼担当
>>>>>> TEL : 03-5860-5135 / FAX: 03-5463-5490
>>>>>>
>>>>>> _______________________________________________
>>>>>> Ultramonkey-l7-users mailing list
>>>>>> Ultra****@lists*****
>>>>>> http://lists.sourceforge.jp/mailman/listinfo/ultramonkey-l7-users
>>>>> -------------
>>>>> 株式会社ジーシーシー埼玉支社
>>>>> ネットワークセンター 首都圏G
>>>>> 太田 立志 <t-oot****@gcc*****>
>>>>>
>>>>> 〒360-0037
>>>>> 熊谷市筑波2-15 三井生命熊谷ビル9階
>>>>> TEL:048-501-0370
>>>>> FAX:048-501-0372
>>>>>
>>>>> _______________________________________________
>>>>> Ultramonkey-l7-users mailing list
>>>>> Ultra****@lists*****
>>>>> http://lists.sourceforge.jp/mailman/listinfo/ultramonkey-l7-users
>>>>>
>>>>
>>>>
>>>
>>
> 

-- 
中野 宏朗 (NAKANO Hiroaki)
NTTコムウェア 品質生産性技術本部 技術SE部
基盤ソフトSE・OSS部門 OSS適用推進担当
Tel: 043-211-2452 (Ext: 特番+26-8341), Fax: 043-211-5086
Zip/Address: 261-0023 千葉県千葉市美浜区中瀬1-6 NTT幕張ビル21F-En




Ultramonkey-l7-develop メーリングリストの案内
Back to archive index