Hi, Alexey.

It looks like it's related to a small bug that was inadvertently introduced
between 2.0.10 and 2.0.11.  A patch was committed to fix it a few days ago:

http://levent.git.sourceforge.net/git/gitweb.cgi?p=levent/libevent;a=commitdiff;h=0848814ac496167133bec5f8d564387b5111440f

<http://levent.git.sourceforge.net/git/gitweb.cgi?p=levent/libevent;a=commitdiff;h=0848814ac496167133bec5f8d564387b5111440f>
Kevin

On Wed, May 25, 2011 at 5:29 AM, Alexey Ozeritsky <aozerit...@gmail.com>wrote:

> Hello,
>
> I got assertion in http.c:689 (Assertion req != NULL failed in
> evhttp_connection_fail)
> libevent version 2.0.11
>
> Stack trace:
> (gdb) where
> #0  0x00007f83465d3095 in raise () from /lib/libc.so.6
> #1  0x00007f83465d4af0 in abort () from /lib/libc.so.6
> #2  0x000000000042ce92 in event_exit ()
> #3  0x000000000042d378 in event_errx ()
> #4  0x0000000000433d73 in evhttp_connection_fail ()
> #5  0x00000000004350f9 in evhttp_error_cb ()
> #6  0x000000000043515c in evhttp_connection_cb ()
> #7  0x0000000000428062 in _bufferevent_run_eventcb ()
> #8  0x0000000000446f69 in bufferevent_socket_connect ()
> #9  0x000000000044704b in bufferevent_connect_getaddrinfo_cb ()
> #10 0x000000000042f158 in evutil_getaddrinfo_async ()
> #11 0x00000000004471f0 in bufferevent_socket_connect_hostname ()
> #12 0x0000000000436a78 in evhttp_connection_connect ()
> #13 0x0000000000436c23 in evhttp_make_request ()
> #14 0x0000000000412675 in do_advice (s=-1, p=1, arg=0x6783b0)
>    at /home/aozeritsky/projects/push-client/src/network.c:710
> #15 0x000000000041bc22 in event_process_active_single_queue ()
> #16 0x000000000041c17f in event_process_active ()
> #17 0x000000000041c75a in event_base_loop ()
> #18 0x0000000000413556 in network_loop (unused=0x0)
>    at /home/aozeritsky/projects/push-client/src/network.c:1048
> #19 0x00007f83469093f7 in start_thread () from /lib/libpthread.so.0
> #20 0x00007f8346678b4d in clone () from /lib/libc.so.6
> #21 0x0000000000000000 in ?? ()
>
> evhttp_connection was created with fake address:
>
> conn = evhttp_connection_base_new(event_base, 0, addr /* "8081" <-
> fake */, port /* 80 <- ok*/);
> ......
> req = evhttp_request_new(on_advice, t);
> assert(req != 0);
> evhttp_add_header(req->output_headers, "Host", host);
> evhttp_add_header(req->output_headers, "Connection", "close");
> ....
> evhttp_make_request(conn, req, EVHTTP_REQ_GET, uri); /* <- got assertion
> here */
>
> Is it expected behaviour or bug ?
> ***********************************************************************
> To unsubscribe, send an e-mail to majord...@freehaven.net with
> unsubscribe libevent-users    in the body.
>

Reply via email to