[erlang-patches] [erlang-questions] inets http --- httpc_handler, retry_pipline - Bug - Patch

Sanjaya Vitharana sanjaya@REDACTED
Thu Jul 12 07:38:54 CEST 2007


Hi All,

This seems a Bug in inets. Refer with httpc_handler:retry_pipline/3 and http_util:key1search/3.

Find the attached log part with error details.

Quick Patch: httpc_handler:retry_pipline/3

785c 787
<                      Timer = {_, TimerRef} =
                                  http_util:key1search(RequestTimers, Request#request.id, 
                                   {undefined, undefined}),
---
>                      case lists:keysearch(Request#request.id, 1, RequestTimers) of
                               {value, Timer} ->
                                     {_, TimerRef} = Timer;
                                _ ->
                                     Timer = {_, TimerRef} = {undefined, undefined}
                        end,


Test Details: 

1> RequestTimers = [{make_ref(),make_ref()},{make_ref(),make_ref()}].
[{#Ref<0.0.0.31>,#Ref<0.0.0.32>},{#Ref<0.0.0.33>,#Ref<0.0.0.34>}]
2> [{_,_},{RequestID,_}] = RequestTimers.
[{#Ref<0.0.0.31>,#Ref<0.0.0.32>},{#Ref<0.0.0.33>,#Ref<0.0.0.34>}]
3> RequestID.
#Ref<0.0.0.33>
4> Timer = {_, TimerRef} =http_util:key1search(RequestTimers, RequestID,{undefined, undefined}).

=ERROR REPORT==== 9-Jul-2007::21:56:09 ===
Error in process <0.29.0> with exit value: {{badmatch,#Ref<0.0.0.34>},[{erl_eval,expr,3}]}

** exited: {{badmatch,#Ref<0.0.0.34>},[{erl_eval,expr,3}]} **
5> 
5> http_util:key1search(RequestTimers, RequestID,{undefined, undefined}).                       
#Ref<0.0.0.34>
6> 

Thanks,

Sanjaya Vitharana.

  ----- Original Message ----- 
  From: Sanjaya Vitharana 
  To: erlang-questions@REDACTED 
  Sent: Wednesday, 04 July 2007 12:12 pm
  Subject: [erlang-questions] inets http --- httpc_handler, retry_pipline


  Hi all,

  Anyone has a idea about below error & why it gets with
  http:request(get, {URL, []}, [{timeout, ?REQUEST_TIMEOUT},{autoredirect, true}], [{sync, false}]) ???

  I have get it with R11B-4 (emulator version 5.5.4  - inets-4.7.11). Is this a bug in in inets ??

  regards,

  Sanjaya Vitharana


  ** Reason for termination == 
  ** {{badmatch,#Ref<0.0.43.103898>},
      [{httpc_handler,retry_pipline,2},
       {httpc_handler,terminate,2},
       {gen_server,terminate,6},
       {proc_lib,init_p,5}]}

  =CRASH REPORT==== 4-Jul-2007::10:16:10 ===
    crasher:
      pid: <0.25066.9>
      registered_name: []
      error_info: {{badmatch,#Ref<0.0.43.103898>},
                    [{httpc_handler,retry_pipline,2},
                     {httpc_handler,terminate,2},
                     {gen_server,terminate,6},
                     {proc_lib,init_p,5}]}
      initial_call: {gen,
                       init_it,
                       [gen_server,
                        <0.54.0>,
                        <0.54.0>,
                        httpc_handler,
                        [{request,
                             #Ref<0.0.43.103750>,
                             <0.63.0>,
                             0,
                             http,
                             {"scrb.int",80},
                             "/vmail/vmStart.php",
                             "?key=c&session=a1183524542772308306&ch=56&serverid=3",
                             get,
                             {http_request_h,
                                 undefined,
                                 "keep-alive",
                                 undefined,
                                 undefined,
                                 undefined,
                                 undefined,
                                 undefined,
                                 undefined,
                                 undefined,
                                 undefined,
                                 undefined,
                                 undefined,
                                 undefined,
                                 undefined,
                                 undefined,
                                 undefined,
                                 "scrb.int",
                                 undefined,
                                 undefined,
                                 undefined,
                                 undefined,
                                 undefined,
                                 undefined,
                                 undefined,
                                 undefined,
                                 undefined,
                                 [],
                                 undefined,
                                 undefined,
                                 undefined,
                                 undefined,
                                 "0",
                                 undefined,
                                 undefined,
                                 undefined,
                                 undefined,
                                 undefined,
                                 undefined,
                                 []},
                             {[],[]},
                             {http_options,18000,true,[],undefined,false},
                             "http://scrb.int/vmail/vmStart.php?key=c&session=a1183524542772308306&ch=56&serverid=3",
                             [],
                             none,
                             []},
                         {options,{undefined,[]},0,2,2,disabled,enabled,false}],
                        []]}
      ancestors: [httpc_manager,httpc_sup,inets_sup,<0.50.0>]
      messages: []
      links: [<0.54.0>,#Port<0.390595>]
      dictionary: []
      trap_exit: true
      status: running
      heap_size: 4181
      stack_size: 21
      reductions: 12757
    neighbours:


------------------------------------------------------------------------------


  _______________________________________________
  erlang-questions mailing list
  erlang-questions@REDACTED
  http://www.erlang.org/mailman/listinfo/erlang-questions
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-patches/attachments/20070712/6f37e775/attachment.htm>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: error_details.txt
URL: <http://erlang.org/pipermail/erlang-patches/attachments/20070712/6f37e775/attachment.txt>


More information about the erlang-patches mailing list