[asterisk-bugs] [Asterisk 0015314]: [patch] Seg fault in chan_local - local_pvt_destroy

Asterisk Bug Tracker noreply at bugs.digium.com
Fri Nov 13 13:51:24 CST 2009


A NOTE has been added to this issue. 
====================================================================== 
https://issues.asterisk.org/view.php?id=15314 
====================================================================== 
Reported By:                sroberts
Assigned To:                file
====================================================================== 
Project:                    Asterisk
Issue ID:                   15314
Category:                   Channels/chan_local
Reproducibility:            unable to reproduce
Severity:                   crash
Priority:                   normal
Status:                     closed
Target Version:             1.4.28
Asterisk Version:           SVN 
JIRA:                       SWP-310 
Regression:                 No 
Reviewboard Link:            
SVN Branch (only for SVN checkouts, not tarball releases): N/A 
SVN Revision (number only!):  
Request Review:              
Resolution:                 fixed
Fixed in Version:           
====================================================================== 
Date Submitted:             2009-06-11 04:50 CDT
Last Modified:              2009-11-13 13:51 CST
====================================================================== 
Summary:                    [patch] Seg fault in chan_local - local_pvt_destroy
Description: 
This is the same issue as 14780. We also use SNOM phones (300s and 320s)
however these extensions are not connected to the server on which Asterisk
crashed. The crash occurred on the queue server.

A backtrace of the crash has been attached.

The crash here occurred when callfile finished execution. We use callfiles
to pause/unpause the agents. The local_pvt being freed is not null:

(gdb) frame 2
https://issues.asterisk.org/view.php?id=2  0x002dd837 in local_pvt_destroy
(pvt=0xa23e928) at chan_local.c:159
159             free(pvt);
(gdb) p pvt
$1 = (struct local_pvt *) 0xa23e928
(gdb) p *pvt
$2 = {lock = {mutex = {__m_reserved = 0, __m_count = 0, __m_owner = 0x0,
__m_kind = 1, __m_lock = {__status = 0, __spinlock = 0}}, track = 1, file =
{0x2e0f08 "chan_local.c", 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
lineno = {158, 0, 0, 0, 0, 0, 0, 0, 0, 0}, reentrancy = 0, func = {0x2e0fbe
"local_pvt_destroy", 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, thread =
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, reentr_mutex = {__m_reserved = 0, __m_count
= 0, __m_owner = 0x0, __m_kind = 1, __m_lock = {__status = 0, __spinlock =
0}}}, flags = 16, context = "vital-out", '\0' <repeats 70 times>, exten =
"*\000vital-out\000n", '\0' <repeats 66 times>, reqformat = 64, owner =
0x0, chan = 0x0, u_owner = 0xa2234c8, u_chan = 0xa1c3500, list = {next =
0x0}}


Due to the fact that our queue servers are so busy I cannot simply upgrade
it to a newer version (this one in particular handles around 10000 calls
per day) unless I know a version is stable. I've tested 1.4.25 and it
proved horrendously unstable (deadlocks and seg faults).


======================================================================
Relationships       ID      Summary
----------------------------------------------------------------------
has duplicate       0014780 Asterisk abort (signal 6) in local_pvt_...
====================================================================== 

---------------------------------------------------------------------- 
 (0113807) svnbot (reporter) - 2009-11-13 13:51
 https://issues.asterisk.org/view.php?id=15314#c113807 
---------------------------------------------------------------------- 
Repository: asterisk
Revision: 230040

_U  branches/1.6.0/
U   branches/1.6.0/channels/chan_local.c

------------------------------------------------------------------------
r230040 | file | 2009-11-13 13:51:22 -0600 (Fri, 13 Nov 2009) | 23 lines

Merged revisions 230039 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/trunk

................
  r230039 | file | 2009-11-13 13:44:53 -0600 (Fri, 13 Nov 2009) | 16 lines
  
  Merged revisions 230038 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r230038 | file | 2009-11-13 13:44:07 -0600 (Fri, 13 Nov 2009) | 9
lines
    
    Fix a crash caused by two threads thinking they should both free the
    chan_local private structure when only one should.
    
    (closes issue https://issues.asterisk.org/view.php?id=15314)
    Reported by: sroberts
    Patches:
          Issue15314_Move_Nulling_owner.patch uploaded by davidw (license
780)
    Tested by: davidw, lottc
  ........
................

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

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

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2009-11-13 13:51 svnbot         Checkin                                      
2009-11-13 13:51 svnbot         Note Added: 0113807                          
======================================================================




More information about the asterisk-bugs mailing list