[asterisk-bugs] [Asterisk 0014455]: Segfault on call termination when attempting to retransmit a packet that should have not been retried due to network issues

Asterisk Bug Tracker noreply at bugs.digium.com
Sun Mar 1 15:45:11 CST 2009


A NOTE has been added to this issue. 
====================================================================== 
http://bugs.digium.com/view.php?id=14455 
====================================================================== 
Reported By:                Nick_Lewis
Assigned To:                mmichelson
====================================================================== 
Project:                    Asterisk
Issue ID:                   14455
Category:                   Core/PBX
Reproducibility:            always
Severity:                   crash
Priority:                   normal
Status:                     ready for testing
Asterisk Version:           1.6.1-beta4 
Regression:                 No 
SVN Branch (only for SVN checkouts, not tarball releases): 1.6.1 
SVN Revision (number only!): 174843 
Request Review:              
====================================================================== 
Date Submitted:             2009-02-11 08:39 CST
Last Modified:              2009-03-01 15:45 CST
====================================================================== 
Summary:                    Segfault on call termination when attempting to
retransmit a packet that should have not been retried due to network issues
Description: 
When a call is terminated there is a segmentation fault. Asterisk branch is
1.6.1 and the revision is 174843. 


I do not understand the cause but the backtrace is attached
====================================================================== 

---------------------------------------------------------------------- 
 (0100955) svnbot (reporter) - 2009-03-01 15:45
 http://bugs.digium.com/view.php?id=14455#c100955 
---------------------------------------------------------------------- 
Repository: asterisk
Revision: 179219

U   trunk/channels/chan_sip.c

------------------------------------------------------------------------
r179219 | mmichelson | 2009-03-01 15:45:09 -0600 (Sun, 01 Mar 2009) | 18
lines

Properly free memory and remove scheduler entries when a transmission
failure occurs.

Previously, only the "data" field of the sip_pkt created during
__sip_reliable_xmit 
was freed when XMIT_FAILURE was returned by __sip_xmit. When retrans_pkt
was called,
this inevitably resulted in the reading and writing of freed memory.

XMIT_FAILURE is a condition meaning that we don't want to attempt
resending the packet
at all. The proper action to take is to remove the scheduler entry we just
created,
free the packet's data as well as the packet itself, and unlink it from
the list of
packets on the sip_pvt structure.

(closes issue http://bugs.digium.com/view.php?id=14455)
Reported by: Nick_Lewis
Patches:
      14455.patch uploaded by mmichelson (license 60)
Tested by: Nick_Lewis


------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=179219 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2009-03-01 15:45 svnbot         Note Added: 0100955                          
======================================================================




More information about the asterisk-bugs mailing list