<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Jun 9, 2014 at 5:45 PM, Richard Mudgett <span dir="ltr"><<a href="mailto:rmudgett@digium.com" target="_blank">rmudgett@digium.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote"><div class="">On Mon, Jun 9, 2014 at 12:31 PM, George Joseph <span dir="ltr"><<a href="mailto:george.joseph@fairview5.com" target="_blank">george.joseph@fairview5.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div>On Mon, Jun 9, 2014 at 11:22 AM, Corey Farrell <span dir="ltr"><<a href="mailto:git@cfware.com" target="_blank">git@cfware.com</a>></span> wrote:<br>


<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div>One thing I dislike about AST_DEVMODE is that changing it requires 
rerunning ./configure.  I feel ./configure should be restricted as 
much as possible to checking dependencies.  Any build configuration that
 is not directly enabled/disabled by an external dependency should be in
 menuselect.<br><br></div>If we are going to make it so TEST_FRAMEWORK doesn't enable AO2_DEBUG, I think we should allow Bamboo to run without AO2_DEBUG once.  This way if any tests actually require it we can update dependencies.<br>


</div></div></blockquote><div><br></div></div><div>I ran the testsuite last night without AO2_DEBUG and didn't notice anything different but I'm going to run it again now.</div><div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


<div dir="ltr"><div>

<br></div>I'm not sure how I feel about AO2_DEBUG being combined with REF_DEBUG.  AO2_DEBUG doesn't appear to add much overhead, but REF_DEBUG adds significant overhead through output to the refs log.  I'm not sure someone who specifically wants AO2_DEBUG would want REF_DEBUG.  Especially since REF_DEBUG can change timing and that could change results.<br>




<div class="gmail_extra"><br></div></div></blockquote></div><div>Agreed.  REF_DEBUG seems more aimed at debugging the use of astobj2 whereas AO2_DEBUG is more aimed at debugging astobj2 itself.  2 different purposes.</div>

</div></div></div></blockquote><div><br></div></div><div>Yes.   REF_DEBUG and AO2_DEBUG have different purposes so they should be separate.  AO2_DEBUG<br>can add its own potentially significant overhead checking ao2 containers for consistency.  The main reason<br>

it currently does not add too much overhead is that the hash container consistency checking is disabled if<br>there isn't a sort function.  It was disabled because of abuses of the hash function callback by chan_iax2.<br>

</div><div>There are some other users abusing it as well.  (Apparently unit tests and frame formats?)<br></div><div class=""><div> </div></div></div></div></div></blockquote><div><br></div><div>Works for me.<br></div><div>
 </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div><div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Jun 9, 2014 at 12:46 PM, Matthew Jordan <span dir="ltr"><<a href="mailto:mjordan@digium.com" target="_blank">mjordan@digium.com</a>></span> wrote:<br>




<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div>On Sun, Jun 8, 2014 at 10:03 AM, George Joseph<br>
<<a href="mailto:george.joseph@fairview5.com" target="_blank">george.joseph@fairview5.com</a>> wrote:<br>

> Right now, the non-ref debugging code in astobj2 is triggered by a mix of<br>
> AST_DEVMODE and AO2_DEBUG and both get set if you want to run the test<br>
> framework.  I've noticed though that the inclusion of the debugging code can<br>
> actually hide problems as well as highlight them, especially related to<br>
> performance and locking.   Case in point:  Try running 'test execute<br>
> category /main/astobj2 name thrash' with REF_DEBUG turned on and off.  While<br>
> the test passes both ways, the timing is significantly different (and not<br>
> what you'd expect).  Luckily, you can turn REF_DEBUG on and off from<br>
> menuselect.<br>
><br>
> To provide a little more flexibility and visibility, I'd like to propose the<br>
> following...<br>
><br>
> 1.  Change astobj2 so the non-ref debugging code is dependent on AO2_DEBUG<br>
> solely instead of the mix of AST_DEVMODE and AO2_DEBUG.  (REF_DEBUG would<br>
> remain as is)<br>
<br>
</div>Having two different 'dev' or 'debug' compilation flags is confusing.<br>
I'd be happy with having them collapsed down to one.<br></blockquote></div></div></div></blockquote></div></div></div></div></div></blockquote><div><br></div></div><div>They should not be collapsed into one because they have different purposes.<br>

</div><div class=""><div> </div></div></div></div></div></blockquote><div><br></div><div>Agreed; I had forgotten about the container integrity checking.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra">
<div class="gmail_quote"><div><div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div><br>
> 2.  Remove the code that automatically sets AO2_DEBUG if TEST_FRAMEWORK is<br>
> defined.<br>
<br>
</div>Richard may want to chime in on this, since I'm pretty sure that was a<br>
change he initiated.<br>
<br>
Personally, I think it is okay if they are decoupled. We can always<br>
enable AO2_DEBUG from menuselect in Bamboo build plans, and I'm not<br>
aware of any Asterisk Test Suite functionality that explicitly relies<br>
on AO2_DEBUG being defined.<br></blockquote></div></div></div></blockquote></div></div></div></div></div></blockquote><div><br></div></div><div>I linked TEST_FRAMEWORK and AO2_DEBUG so the testsuite would run with the<br>
container integrity checking enabled.  If it is changed to be settable in menuselect<br>
that is fine by me.<br></div></div></div></div></blockquote><div><br></div><div>Make it so! <br></div></div><br>-- <br><div dir="ltr"><div>Matthew Jordan<br></div><div>Digium, Inc. | Engineering Manager</div><div>445 Jan Davis Drive NW - Huntsville, AL 35806 - USA</div>
<div>Check us out at: <a href="http://digium.com" target="_blank">http://digium.com</a> & <a href="http://asterisk.org" target="_blank">http://asterisk.org</a></div></div>
</div></div>