[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[Libevent-users] assert in http.c
- To: libevent-users@xxxxxxxxxxxxx
- Subject: [Libevent-users] assert in http.c
- From: Myk Taylor <myk002@xxxxxxxxx>
- Date: Tue, 17 Jan 2012 00:32:49 -0800
- Delivered-to: archiver@xxxxxxxx
- Delivered-to: libevent-users-outgoing@xxxxxxxx
- Delivered-to: libevent-users@xxxxxxxx
- Delivery-date: Tue, 17 Jan 2012 03:33:04 -0500
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s1024; t=1326789171; bh=+7to/jAgN+YppjPH9CVpS4UWFYlwmCaxdHMgm38Zt88=; h=X-Yahoo-Newman-Id:X-Yahoo-Newman-Property:X-YMail-OSG:X-Yahoo-SMTP:Received:Message-ID:Date:From:Reply-To:User-Agent:MIME-Version:To:Subject:Content-Type:Content-Transfer-Encoding; b=R2cyHDnOdQBrcZuzuP9O774rppHoOBVrMC2QcVSMSEO+V6PVzS54q5lhu8BbVKP5plnTM0Em7YgCppGkvOGeV8EzztUU0ZOQDmosOz6739vnSgRi3utRX8d+KZdH3UcH71jFEu+dkpBupkj7zRTL/qzIFBO6TCVsycfMGXng4Zg=
- Reply-to: libevent-users@xxxxxxxxxxxxx
- Sender: owner-libevent-users@xxxxxxxxxxxxx
- User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:9.0) Gecko/20120116 Thunderbird/9.0
Hi all,
I sometimes trigger the
EVUTIL_ASSERT(req != NULL);
line in evhttp_connection_fail() in http.c while running a load test
client that I have written. The load test involves many concurrent
connections that are terminated while in various stages of connection
establishment. Could this be related to the comment in
evhttp_connection_reset()?
/* XXXX This is not actually an optimal fix. Instead we ought to have
an API for "stop connecting", or use bufferevent_setfd to turn off
connecting. But for Libevent 2.0, this seems like a minimal change
least likely to disrupt the rest of the bufferevent and http code.
Why is this here? If the fd is set in the bufferevent, and the
bufferevent is connecting, then you can't actually stop the
bufferevent from trying to connect with bufferevent_disable(). The
connect will never trigger, since we close the fd, but the timeout
might. That caused an assertion failure in evhttp_connection_fail.
*/
In this case, I am using bufferevents returned from
bufferevent_openssl_socket_new(). I do not see the problem when using
bufferevent_new().
Thanks,
Myk
***********************************************************************
To unsubscribe, send an e-mail to majordomo@xxxxxxxxxxxxx with
unsubscribe libevent-users in the body.