[asterisk-dev] [Code Review]: Read on idle timerfd will result in deadlocks

jrose reviewboard at asterisk.org
Tue Jul 5 13:22:17 CDT 2011



> On June 29, 2011, 10:28 a.m., irroot wrote:
> > Been running for 2 days if there was going to be a issue it would have happened by now from experiance.
> > 
> > the logging should be changed to debug before commit as this has caused me problems in the past testing and
> > the testing has been done with ast_log commented out.
> > 
> > Greg
> 
> David Vossel wrote:
>     I'm going to commit this now. I'll clean up the logging.

David:  If the commit you made for this is this one: http://lists.digium.com/pipermail/asterisk-commits/2011-June/050079.html

Then this patch broke the heck out of POTS phones.

This section in particular:
+	if (our_timer->saved_timer.it_value.tv_nsec == 0L) {
+		ast_log(LOG_DEBUG, "Reading attempt on idle timerfd.\n");
+		return;
+	}

Causes a nasty performance degradation on any POTS line that hasn't hit an application that actually connects the line such as answer() to the point of stuttering.

Also, if the log messages are enabled and a console is connected, those log messages will play incredibly frequently to the point of Asterisk becoming unresponsive.


- jrose


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/1255/#review3785
-----------------------------------------------------------


On June 3, 2011, 4:11 p.m., kobaz wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviewboard.asterisk.org/r/1255/
> -----------------------------------------------------------
> 
> (Updated June 3, 2011, 4:11 p.m.)
> 
> 
> Review request for Asterisk Developers and russelb.
> 
> 
> Summary
> -------
> 
> Fix for issue https://issues.asterisk.org/view.php?id=18028
> And several others.
> 
> 
> Diffs
> -----
> 
>   branches/1.8/res/res_timing_timerfd.c 320171 
> 
> Diff: https://reviewboard.asterisk.org/r/1255/diff
> 
> 
> Testing
> -------
> 
> Make enough calls to trigger a read on an idle timer
> 
> Wait for message:
> Reading attempt on idle timerfd. This would have caused a deadlock.
> 
> Deadlock avoided.
> 
> 
> Thanks,
> 
> kobaz
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20110705/94caefb1/attachment.htm>


More information about the asterisk-dev mailing list