<html>
 <body>
  <div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
   <table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border: 1px #c9c399 solid;">
    <tr>
     <td>
      This is an automatically generated e-mail. To reply, visit:
      <a href="https://reviewboard.asterisk.org/r/3971/">https://reviewboard.asterisk.org/r/3971/</a>
     </td>
    </tr>
   </table>
   <br />



 <p>Ship it!</p>



 <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Ship It!</pre>
 <br />









<p>- Corey Farrell</p>


<br />
<p>On September 16th, 2014, 2:15 p.m. EDT, rmudgett wrote:</p>








<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('https://reviewboard.asterisk.org/static/rb/images/review_request_box_top_bg.ab6f3b1072c9.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
 <tr>
  <td>

<div>Review request for Asterisk Developers.</div>
<div>By rmudgett.</div>


<p style="color: grey;"><i>Updated Sept. 16, 2014, 2:15 p.m.</i></p>







<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Bugs: </b>


 <a href="https://issues.asterisk.org/jira/browse/AFS-155">AFS-155</a>, 

 <a href="https://issues.asterisk.org/jira/browse/ASTERISK-24295">ASTERISK-24295</a>


</div>



<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt;">Repository: </b>
Asterisk
</div>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
 <table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">* Make astob2 REF_DEBUG output an invalid object line when an invalid ao2 object ref/unref is attempted.  This is similar to the constructor/destructor lines.

* Fixed refcounter.py to handle skewed objects that have constructor/destructor states.

* Made refcounter.py highlight the invalid ao2 object refs by putting them in their own section of the processed output file.

* Made refcounter.py highlight unreffing an object by more than one that results in a negative ref count and the object being destroyed.  The abnormally destroyed object is reported in the invalid and finalized object sections of the output.</pre>
  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Instigated a REF_DEBUG log that reffed destroyed objects to get an invalid line in the ref debug log file.
The patched script doesn't have an excpetion on a previous invalid ref debug log that had code unreffing a destroyed object.
The patched script now highlights the invalid objects in the log.

Tested unreffing a newly created object by two and then unreffing the object again.  The abnormally destroyed object is reported in the invalid and finalized sections with an additional log line indicating that the object was destroyed abnormally.  The next unref is reported as an unref of an invalid object.
</pre>
  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">

 <li>/branches/1.8/main/astobj2.c <span style="color: grey">(423191)</span></li>

 <li>/branches/1.8/contrib/scripts/refcounter.py <span style="color: grey">(423191)</span></li>

</ul>

<p><a href="https://reviewboard.asterisk.org/r/3971/diff/" style="margin-left: 3em;">View Diff</a></p>







  </td>
 </tr>
</table>








  </div>
 </body>
</html>