Re: failures with libev: ev_io_start called with corrupted watcher, ((WL)w)-next != (WL)w)

2014-12-17 Thread Marc Lehmann
On Mon, Dec 15, 2014 at 08:28:25AM +0100, Zsbán Ambrus amb...@math.bme.hu wrote: On 12/15/14, Marc Lehmann schm...@schmorp.de wrote: You could try to run with a libev compiled with -DEV_FREQUENT_VERIFY=3, which will make very frequent (and slow) checks, in the hope of catching this bug

Re: failures with libev: ev_io_start called with corrupted watcher, ((WL)w)-next != (WL)w)

2014-12-17 Thread Marc Lehmann
On Sun, Dec 14, 2014 at 05:35:22PM -0800, Kirill Timofeev kirill.timof...@hulu.com wrote: checked once again code and don't see where I could miss using ev_io_stop(). I would really appreciate if you would have a look at Another common option is to call ev_init on active watcher memory, which

Re: failures with libev: ev_io_start called with corrupted watcher, ((WL)w)-next != (WL)w)

2014-12-17 Thread Kirill Timofeev
Hi Marc, thanks for guidelines, but I'm confused. I looked at code examples and currently I do as follows: create connection while connection alive { ev_io_init() ev_io_start() ev_io_stop() } This works for both udp and tcp connections with very rare Assert failures on tcp connections. Am I