[asterisk-dev] [Code Review] 3971: astobj2.c/refcounter.py: Fix to deal with invalid object refs.

rmudgett reviewboard at asterisk.org
Thu Sep 18 11:08:55 CDT 2014


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

(Updated Sept. 18, 2014, 11:08 a.m.)


Status
------

This change has been marked as submitted.


Review request for Asterisk Developers.


Changes
-------

Committed in revision 423349


Bugs: AFS-155 and ASTERISK-24295
    https://issues.asterisk.org/jira/browse/AFS-155
    https://issues.asterisk.org/jira/browse/ASTERISK-24295


Repository: Asterisk


Description
-------

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


Diffs
-----

  /branches/1.8/main/astobj2.c 423191 
  /branches/1.8/contrib/scripts/refcounter.py 423191 

Diff: https://reviewboard.asterisk.org/r/3971/diff/


Testing
-------

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.


Thanks,

rmudgett

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20140918/12531d42/attachment.html>


More information about the asterisk-dev mailing list