[asterisk-bugs] [Asterisk 0017390]: [patch] Race conditition in app_meetme leads to crash

Asterisk Bug Tracker noreply at bugs.digium.com
Tue Jul 13 14:01:29 CDT 2010


A NOTE has been added to this issue. 
====================================================================== 
https://issues.asterisk.org/view.php?id=17390 
====================================================================== 
Reported By:                Vince
Assigned To:                jpeeler
====================================================================== 
Project:                    Asterisk
Issue ID:                   17390
Category:                   Applications/app_meetme
Reproducibility:            random
Severity:                   crash
Priority:                   normal
Status:                     closed
Target Version:             1.4.35
Asterisk Version:           1.4.31 
JIRA:                       SWP-1528 
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:             2010-05-24 17:42 CDT
Last Modified:              2010-07-13 14:01 CDT
====================================================================== 
Summary:                    [patch] Race conditition in app_meetme leads to
crash
Description: 
I have been tracking down random crashes on a number of Asterisk servers
that rely heavily on app_meetme conference rooms. Depending on the server
load they can crash upto several times a week.

The majority of core dumps seem to be related to insufficient locking on
the conference 'userlist' linked list structure.

I have attached to patch to fix the locations where I think thread locks
are missing. Applies against 1.4.31. I have quickly glanced at the 1.6.x
branch and this looks to be required there too but I have no servers to
test that version on.
====================================================================== 

---------------------------------------------------------------------- 
 (0124532) svnbot (reporter) - 2010-07-13 14:01
 https://issues.asterisk.org/view.php?id=17390#c124532 
---------------------------------------------------------------------- 
Repository: asterisk
Revision: 276121

_U  branches/1.6.2/
U   branches/1.6.2/apps/app_meetme.c

------------------------------------------------------------------------
r276121 | jpeeler | 2010-07-13 14:01:28 -0500 (Tue, 13 Jul 2010) | 26
lines

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

................
  r276074 | jpeeler | 2010-07-13 12:37:40 -0500 (Tue, 13 Jul 2010) | 19
lines
  
  Merged revisions 275773 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r275773 | jpeeler | 2010-07-12 15:34:51 -0500 (Mon, 12 Jul 2010) | 12
lines
    
    Make user removals and traversals thread safe in meetme.
    
    Race conditions present in meetme involving the user list where a lack
of
    locking has the potential for a user to be removed during a traversal
or as in
    the case of the reporter after checking if the list is empty could
cause a
    crash. Fixing this was done by convering the userlist to an ao2
container.
    
    (closes issue https://issues.asterisk.org/view.php?id=17390)
    Reported by: Vince
    
    Review: https://reviewboard.asterisk.org/r/746/
  ........
................

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

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

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2010-07-13 14:01 svnbot         Checkin                                      
2010-07-13 14:01 svnbot         Note Added: 0124532                          
======================================================================




More information about the asterisk-bugs mailing list