httpc crash

Kristoffer Ellersgaard Koch kristoffer.koch@REDACTED
Tue Sep 8 16:48:46 CEST 2009


Hi

I'm using http a bit, and httpc now crashes every time [1].

The state-record in httpc_handler is given below [2].

It seems that request is set to undefined, and that the function
therefor never can match.

Have anyone else seen this before?

[1]
Edited away a lot of binary and hostname.

** Reason for termination ==
** {function_clause,
       [{httpc_handler,handle_info,
            [{ssl,
                 {sslsocket,10,<0.109.0>},
                 <<Data/binary>>},
             {state,undefined,
                 {tcp_session,
                     {{"www.example.com",443},<0.108.0>},
                     false,https,
                     {sslsocket,10,<0.109.0>},
                     1,keep_alive},
                 undefined,undefined,undefined,undefined,
                 {[],[]},
                 {[],[]},
                 keep_alive,[],nolimit,nolimit,
                 {options,
                     {undefined,[]},
                     0,2,5,120000,2,enabled,false,inet,default,default},
                 {timers,[],#Ref<0.0.0.1975>},
                 httpc_manager_koch,undefined}]},
        {gen_server,handle_msg,5},
        {proc_lib,init_p_do_apply,3}]}

[2]
-record(state,
        {
          request,                   % #request{}
          session,                   % #tcp_session{}
          status_line,               % {Version, StatusCode, ReasonPharse}
          headers,                   % #http_response_h{}
          body,                      % binary()
          mfa,                       % {Moduel, Function, Args}
          pipeline = queue:new(),    % queue()
          keep_alive = queue:new(),  % queue()
          status = new,   % new | pipeline | keep_alive | close | ssl_tunnel
          canceled = [],             % [RequestId]
          max_header_size = nolimit, % nolimit | integer()
          max_body_size = nolimit,   % nolimit | integer()
          options,                   % #options{}
          timers = #timers{},        % #timers{}
          profile_name,              % atom() - id of httpc_manager process.
          once                       % send | undefined
         }).

--
Kristoffer E. Koch
+47 990 26 250


More information about the erlang-bugs mailing list