Re: [dev] BUG: ratox 100% CPU after other party dropped call

From: FRIGN <dev_AT_frign.de>
Date: Tue, 14 Oct 2014 17:52:28 +0200

On Tue, 14 Oct 2014 18:37:35 +0300
Myroslav Opyr <myroslav_AT_quintagroup.com> wrote:

Hey Myroslav,

thanks very much for taking your time to report this bug in ratox!
I already suspect which issue this might be linked with.

Every time we receive data in a call a callback for incoming data
is called. In case the call_out is blocking ratox literally is
caught in an infinite loop hammering the call_out until it is writable.
We have not yet put in a mechanism to limit the time spent in this loop,
but we will.

So here are some explanations for the things you encouter:

> - ratox is in 99% and effectively goes offline in several seconds
It goes offline because tox_do() is not called given ratox still is
caught in the callback-function.

> - sox is still running untill kill -9
I noticed the same behaviour with sox too. Maybe it's not very flexible
on blocking input.

> - after the sox murder ratox resumes normal operation and returns online
As soon as sox is killed, the call_out-file is writable or a dead pipe
(depends) leading to data being written or the call cancelled on ENXIO.
As soon as tox_do() is called again, the user also returns online.

Fixing this issue is our top priority at the moment, so stay tuned for
updates here or on the IRC.

Cheers

FRIGN

-- 
FRIGN <dev_AT_frign.de>
Received on Tue Oct 14 2014 - 17:52:28 CEST

This archive was generated by hypermail 2.3.0 : Tue Oct 14 2014 - 18:00:17 CEST