inets/http bug in R10B-4
Ingela Anderton
ingela@REDACTED
Fri Apr 1 12:01:22 CEST 2005
Well that is a bug and not a very new one I am afraid it seems to
have been lingering for quite a while. It has to do
with canceling the timeout timer. So the request is successful and the
answer is sent to the client. But the request handling process crashes
while trying to clean up before terminating or perhaps handling an
other request. I suppose it did wind it self through our automated
test cases as the client gets the correct response and except for the
crash report everything seems normal! In the case that you do not set
a timeout you will not bump in to the bug. Of course this will be fixed!
Anders Nygren wrote:
> Hi
> I am getting a crash in http with R10B-4, I never had this problem with R10B-2
> SuSE Linux 9.2
>
> Linux godot 2.6.8-24.13-default #1 Fri Mar 18 10:19:42 UTC 2005 i686
> i686 i386 GNU/Linux
>
> Erlang (BEAM) emulator version 5.4.5 [source] [hipe]
>
> (smsgw@REDACTED)9> http:request(get,{"http://google.com",[]},[{timeout,1000}],[]).
> {ok,{{"HTTP/1.1",200,"OK"},
> [{"date","Thu, 31 Mar 2005 23:47:31 GMT"},
> ... more data
>
> But I also get
>
> =ERROR REPORT==== 31-Mar-2005::17:47:31 ===
> ** Generic server <0.263.0> terminating
> ** Last message in was {tcp,#Port<0.319>,
>
> <<50,62,38,99,111,112,121,59,50,48,48,53,32,71,111,111,103,108,101,32,45,32,66,117,115,99,97,110,100,111,32,56,44,48,53,56,44,48,52,52,44,54,53,49,32,112,225,103,105,110,97,115,32,119,101,98,60,47,102,111,110,116,62,60,47,112,62,60,47,99,101,110,116,101,114,62,60,47,98,111,100,121,62,60,47,104,116,109,108,62,13,10,48,13,10,13,10>>}
> ** When Server state == {state,{request,
> #Ref<0.0.0.951>,
> <0.211.0>,
> 3,
> http,
> {"www.google.com.mx",80},
> "/",
> [],
> get,
> {http_request_h,
> undefined,
> "keep-alive",
> undefined,
> undefined,
> undefined,
> undefined,
> undefined,
> undefined,
> undefined,
> undefined,
> undefined,
> undefined,
> undefined,
> undefined,
> undefined,
> undefined,
> "www.google.com.mx",
> undefined,
> undefined,
> undefined,
> undefined,
> undefined,
> undefined,
> undefined,
> undefined,
> undefined,
> [],
> undefined,
> undefined,
> undefined,
> undefined,
> "0",
> undefined,
> undefined,
> undefined,
> undefined,
> undefined,
> undefined,
> []},
> {[],[]},
> {http_options,1000,true,[],false},
> "http://google.com"},
> {tcp_session,
> {{"www.google.com.mx",80},<0.263.0>},
> false,
> http,
> #Port<0.319>,
> 1},
> {"HTTP/1.1",200,"OK"},
> {http_response_h,
> undefined,
> undefined,
> "Thu, 31 Mar 2005 23:47:31 GMT",
> undefined,
> undefined,
> "chunked",
> undefined,
> undefined,
> undefined,
> undefined,
> undefined,
> undefined,
> undefined,
> undefined,
> undefined,
> "GWS/2.1",
> undefined,
> undefined,
> undefined,
> undefined,
> undefined,
> "0",
> undefined,
> undefined,
> undefined,
> "text/html",
> undefined,
> undefined,
> [{"cache-control","private"},
> {"set-cookie",
>
> "PREF=ID=66a1247f32127631:LD=es:TM=1112312851:LM=1112312851:S=nL_hpjFTzEzffYxo;
> expires=Sun, 17-Jan-2038 19:14:07 GMT; path=/;
> domain=.google.com.mx"}]},
> undefined,
> {http_chunk,
> decode_data,
> [2228,
>
> <<60,104,116,109,108,62,60,104,101,97,100,62,60,109,101,116,97,32,104,116,116,112,45,101,113,117,105,118,61,34,99,111
>
> cut lots of ints
>
> 47,119,119,119,46,103,111,111,103,108,101,46,99,111,109,47,110,99,114,62,71,111,111,103,108,101,46,99,111,109,32,105,110,32,69,110,103,108,105,115,104,60,47,97,62,60,47,102,111,110,116,62,60,112,62,60,102,111,110,116,32,115,105,122,101,61,45>>,
> {nolimit,<<>>,2228,nolimit}]},
> {[],[]},
> new,
> [],
> nolimit,
> nolimit,
> {options,{undefined,[]},0,2,2,disabled},
> {timers,
> [{#Ref<0.0.0.951>,#Ref<0.0.0.974>}],
> undefined}}
> ** Reason for termination ==
> ** {{badmatch,#Ref<0.0.0.974>},
> [{httpc_handler,answer_request,3},
> {httpc_handler,terminate,2},
> {gen_server,terminate,6},
> {proc_lib,init_p,5}]}
>
> =CRASH REPORT==== 31-Mar-2005::17:47:31 ===
> crasher:
> pid: <0.263.0>
> registered_name: []
> error_info: {{badmatch,#Ref<0.0.0.974>},
> [{httpc_handler,answer_request,3},
> {httpc_handler,terminate,2},
> {gen_server,terminate,6},
> {proc_lib,init_p,5}]}
> initial_call: {gen,init_it,
> [gen_server,
> <0.129.0>,
> <0.129.0>,
> httpc_handler,
> [{request,#Ref<0.0.0.951>,
> <0.211.0>,
> 3,
> http,
> {"www.google.com.mx",80},
> "/",
> [],
> get,
> {http_request_h,
> undefined,
> "keep-alive",
> undefined,
> undefined,
> undefined,
> undefined,
> undefined,
> undefined,
> undefined,
> undefined,
> undefined,
> undefined,
> undefined,
> undefined,
> undefined,
> undefined,
> "www.google.com.mx",
> undefined,
> undefined,
> undefined,
> undefined,
> undefined,
> undefined,
> undefined,
> undefined,
> undefined,
> [],
> undefined,
> undefined,
> undefined,
> undefined,
> "0",
> undefined,
> undefined,
> undefined,
> undefined,
> undefined,
> undefined,
> []},
> {[],[]},
> {http_options,1000,true,[],false},
> "http://google.com"},
> {options,{undefined,[]},0,2,2,disabled}],
> []]}
> ancestors: [httpc_manager,httpc_sup,inets_sup,<0.125.0>]
> messages: []
> links: [<0.129.0>,#Port<0.319>]
> dictionary: []
> trap_exit: true
> status: running
> heap_size: 2584
> stack_size: 21
> reductions: 2346
> neighbours:
>
> (smsgw@REDACTED)10>
>
>
> /Anders Nygren
--
/Ingela - OTP team
More information about the erlang-questions
mailing list