[Libevent-users] event.c:673 failed assertion

Niels Provos provos at citi.umich.edu
Sat Jun 2 19:22:08 EDT 2007


Without seeing your full code, it's hard to see what the problem might
be.  In most cases, where these kind of asserts fail, it's due to
memory corruption.  An early free of the data structure could be one
possible cause.

Niels.

On 6/1/07, Christopher Layne <clayne at anodized.com> wrote:
> recv timeout, event == 1, 3, 0
> ^ From my own code, just debugging data, but pertinent in that it was just a timeout
> event which was received. Since it seems one cannot have a persistent time out event
> with a relative timeout (mentioned previously) - I always delete and re-add the specific
> receive event following a timeout. Right after...
>
> assertion "!(ev->ev_flags & ~EVLIST_ALL)" failed: file "event.c", line 673
>
>
> My stack trace reveals these lines causing the issue:
>
> static int yc_recv_set(yc *y, int tout)
> {
>         struct timeval tv;
>
>         tv.tv_sec = tout;
>         tv.tv_usec = 0;
>
> -->     event_del(y->ev_r);
>         event_add(y->ev_r, &tv);
>
>         return 0;
> }
>
> No threading, no funky stuff, just a simple bounce function that I call within
> the receive handler. Any good places to start looking? It looks as though this assertion
> is to double-check that no "private" flags have been set. 1.3b on Cygwin, POSIX layer.
> For now I'll just hack the assertion to be a conditional which prints the suspect flags...
>
> -cl
> _______________________________________________
> Libevent-users mailing list
> Libevent-users at monkey.org
> http://monkey.org/mailman/listinfo/libevent-users
>
>


More information about the Libevent-users mailing list