[asterisk-dev] streamfile reference counting debug

Mark Michelson mmichelson at digium.com
Mon Apr 20 15:53:53 CDT 2009


Paul Albrecht wrote:
> On Mon, 2009-04-20 at 15:26 -0500, Mark Michelson wrote:
>> Paul Albrecht wrote:
>>> Hi,
>>>
>>> I'm maintaining an asterisk module, a hacked appconference, which I've
>>> migrated to asterisk 1.6. Since I've updated the module, I've noticed
>>> the conference application fails after running for some time because it
>>> has reached the process limit for open file descriptors. It appears that
>>> the module burns a file descriptor whenever a sound is played to a
>>> conference member.
>> This sounds remarkably similar to a bug that has been fixed already:
>>
>> The bug:
>> http://bugs.digium.com/view.php?id=14384
>>
>> The fix was made in revision 173354 of Asterisk trunk, and was merged in 
>> subsequent revisions to all 1.6 branches.
>>
>> What branch of 1.6 are you using? Is your checkout older than 4 Feb from this 
>> year? If so, it should be updated so that it contains the changes made for the 
>> issue I linked to above.
>>
> 
> I think I have that fix ... here's the output for 'asterisk -rx "core show version"'
> 
> Asterisk SVN-trunk-r186687M built by root @ testbridge16 on a x86_64 running Linux on 2009-04-20 16:11:57 UTC

That would indicate that you have the fix I was thinking of. If the problem is 
due to an ast_filestream reference count leak like I thought, then you should 
also see this symptom when any type of file is played. You may wish to verify 
that you can reproduce this behavior with other file playback mechanisms like 
Playback or Background. If you can do that, then you should have a simple test 
case to use for debugging.

I still recommend looking at the section of astobj2.h that I referred to earlier 
since it explains how you can track the reference count of objects.

Mark Michelson



More information about the asterisk-dev mailing list