[Asterisk-Users] 1.2.9.1 crashed today
BJ Weschke
bweschke at gmail.com
Wed Jun 21 05:37:57 MST 2006
Do you have that patch/commit message from svn-commits where this
code was introduced so we can track it back?
On 6/21/06, Matt <mhoppes at gmail.com> wrote:
> On 6/21/06, BJ Weschke <bweschke at gmail.com> wrote:
> > On 6/21/06, Matt <mhoppes at gmail.com> wrote:
> > > Ok,
> > > So here's some information I've, to this point, left out. I applied
> > > the patch to allow * to be pressed in queues to park a call (*270).
> > > After reverting the patch the system seems stable. So, it almost
> > > seems like the crash is directly related to the number of times
> > > someone parks a call that came in a queue.
> > >
> > > I don't understand, though....
> > >
> > > /* terminates call */
> > > ast_frfree(f);
> > > f = NULL;
> > >
> > > How does removing those 2 lines cause asterisk to crash? Basically
> > > the code looks for a *, if it sees it it runs that... so the patch
> > > removes those lines.. so when asterisk sees a * it doesn't do
> > > anything. The variables are so cryptic I can't exactly figure out
> > > what its doing.. is ast_frfree(f) suppose to 'free' something, perhaps
> > > that is not getting freed? But then what is f = NULL. Yikes, who
> > > comes up with these variable names?
> > >
> >
> > Yes, ast_frfree(..) is supposed to free any allocated memory
> > associated with the pointer to the Asterisk frame structure given to
> > it. If the structure has already been freed somewhere else in the code
> > and you try to call this again, you will segfault Asterisk. If you
> > don't call it at all, you will leak memory associated with the
> > structure. The pointer is being set to NULL after the call so that
> > further checks of the pointer itself will be able to determine that
> > the structure has been free'd already and doesn't need to be done
> > again (preventing a segfault from calling it twice).
> >
>
> Ok... that makes sence, and is probably why asterisk was crashing then
> (good news is since reversing the patch and installing clean 1.2.9.1
> we've been rock solid over night). Now.. my question is... how do
> those 2 lines of code disconnect a call?
> _______________________________________________
> --Bandwidth and Colocation provided by Easynews.com --
>
> Asterisk-Users mailing list
> To UNSUBSCRIBE or update options visit:
> http://lists.digium.com/mailman/listinfo/asterisk-users
>
--
Bird's The Word Technologies, Inc.
http://www.btwtech.com/
More information about the asterisk-users
mailing list