[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: [Libevent-users] Re: help with debugging



Ok, I think i've found a http bug/feature. This might be the cause for
the crash described previously. Basically what happens is that the
http event callback gets called with the evhttp_request pointer being
null if there is a http error (like a dns timeout in my case). I just
made the callback return if the pointer is null, yo. I suppose one
would use the void *arg to do better cleanup.


On Mon, Oct 25, 2010 at 9:28 AM, Mihai Draghicioiu
<mihai.draghicioiu@xxxxxxxxx> wrote:
> Well, in the meanwhile i've fixed this by reusing an existing evhttp
> connection several times, and if it closes down i just create it
> again. This way it hasn't crashed although someone reported to me an
> assertion fail inside the libevent code somewhere. I'll try to
> retrieve it somehow.
>
> Another question i have - there was word about enabling some extra
> checks in the code, in debug mode. How do i enable these?
>
>
> On Mon, Oct 25, 2010 at 3:04 AM, Nick Mathewson <nickm@xxxxxxxxxxxxx> wrote:
>> On Sun, Sep 19, 2010 at 4:23 AM, Mihai Draghicioiu
>> <mihai.draghicioiu@xxxxxxxxx> wrote:
>>> Alright, i think i found the bug -- still not sure whether it's me or
>>> the library, but:
>>
>> Hi, and sorry about the long delay. ÂI'm trying to clear my long
>> backlog of evhttp-related stuff.
>>
>> I'm still trying to feel my way around the evhttp code, but it looks
>> to me, from reading evhttp_connection_fail, that your callback will
>> get invoked with a request of NULL if the connection fails before it
>> gets to attempt any requests. ÂSadly, this doesn't seem to be
>> well-documented.
>>
>> This would explain, though, why you're seeing this error: you need to
>> check to make sure that the request isn't NULL before you go and try
>> to get its buffers, and if it's NULL, you've got to treat it as a
>> connection error.
>>
>> No, I don't think this is a great interface either. ÂSome time in 2.1
>> it would probably make sense to see how we can improve this stuff in a
>> backward- compatible way, if it's as weird as it seems to be to me
>> now.
>>
>> yrs,
>> --
>> Nick
>> ***********************************************************************
>> To unsubscribe, send an e-mail to majordomo@xxxxxxxxxxxxx with
>> unsubscribe libevent-users  Âin the body.
>>
>
***********************************************************************
To unsubscribe, send an e-mail to majordomo@xxxxxxxxxxxxx with
unsubscribe libevent-users    in the body.