[asterisk-dev] streamfile reference counting debug

Paul Albrecht albrecht at glccom.com
Tue Apr 21 15:01:25 CDT 2009


On Mon, 2009-04-20 at 15:53 -0500, Mark Michelson wrote: 
> 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.

Ugh, found the problem ... appconference doesn't free sound file frames
after writing them so the reference count on the sound file structure
doesn't go to zero when it's closed.
  
> 
> Mark Michelson
> 
> _______________________________________________
> --Bandwidth and Colocation Provided by http://www.api-digital.com--
> 
> asterisk-dev mailing list
> To UNSUBSCRIBE or update options visit:
>    http://lists.digium.com/mailman/listinfo/asterisk-dev
-- 
Paul Albrecht




More information about the asterisk-dev mailing list