<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>