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

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

On Tue, 14 Oct 2014 18:37:35 +0300
Myroslav Opyr <> 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.



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