[asterisk-dev] [Code Review] 4463: core: Introduce chaos into memory allocations

Scott Griepentrog reviewboard at asterisk.org
Mon Mar 9 11:33:34 CDT 2015



> On March 9, 2015, 7:41 a.m., Joshua Colp wrote:
> > Do you plan on other chaotic things? As it is the chaos is really just memory allocation failures, nothing outside the scope of that.

Yes -- the idea is that chaos could be easily inserted into any function that has a specific "failure" return value.  The purpose being to expose extremely uncommon code paths, by introducing a higher chance of execution than practically zero.  The memory allocation functions are the easiest and first target for this.  However, use of chaos elsewhere could end up being more of a personal development & testing feature than something that is checked into the official code.


- Scott


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


On March 7, 2015, 12:01 a.m., Scott Griepentrog wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviewboard.asterisk.org/r/4463/
> -----------------------------------------------------------
> 
> (Updated March 7, 2015, 12:01 a.m.)
> 
> 
> Review request for Asterisk Developers.
> 
> 
> Repository: Asterisk
> 
> 
> Description
> -------
> 
> Introduce chaotic (random) failures into certain critical operations to force improvements to error handling.
> 
> This patch introduces the DEBUG_CHAOS random failure mechanism and adds it to memory allocation wrappers in utils.h.  To be activated, DEBUG_CHAOS must be enabled in menuselect.
> 
> The failure rate (1 in X) is controlled by changing the define DEBUG_CHAOS_CHANCES_1IN in utils.h.
> 
> 
> Diffs
> -----
> 
>   /branches/13/main/xmldoc.c 432613 
>   /branches/13/main/utils.c 432613 
>   /branches/13/main/endpoints.c 432613 
>   /branches/13/main/config.c 432613 
>   /branches/13/main/codec_builtin.c 432613 
>   /branches/13/main/asterisk.c 432613 
>   /branches/13/include/asterisk/utils.h 432613 
>   /branches/13/build_tools/cflags.xml 432613 
> 
> Diff: https://reviewboard.asterisk.org/r/4463/diff/
> 
> 
> Testing
> -------
> 
> I'm unable to get Asterisk to actually start with 1 in 100,000 failure rate.
> 
> 
> Thanks,
> 
> Scott Griepentrog
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20150309/85e49fb6/attachment-0001.html>


More information about the asterisk-dev mailing list