[asterisk-bugs] [Zaptel 0011961]: set_tone_zone lock issue

noreply at bugs.digium.com noreply at bugs.digium.com
Fri Mar 7 15:42:05 CST 2008


A NOTE has been added to this issue. 
====================================================================== 
http://bugs.digium.com/view.php?id=11961 
====================================================================== 
Reported By:                aprowant
Assigned To:                
====================================================================== 
Project:                    Zaptel
Issue ID:                   11961
Category:                   zaptel (the module)
Reproducibility:            always
Severity:                   crash
Priority:                   normal
Status:                     new
Zaptel Version:              SVN 
SVN Branch (only for SVN checkouts, not tarball releases):  1.4  
SVN Revision (number only!): 3819 
Disclaimer on File?:        N/A 
Request Review:              
====================================================================== 
Date Submitted:             02-08-2008 23:12 CST
Last Modified:              03-07-2008 15:42 CST
====================================================================== 
Summary:                    set_tone_zone lock issue
Description: 
Zaptel seems to cause a kernel panic with our new te212p (wct4xxp). I have
tried Zaptel 1.4.8 as well as 1.4 from svn. Both eventually kernel panic
(usually with in 10 minutes).

We are running Asterisk 1.4.18 (was using 1.4.17). I have reproduced it on
another server using the same card.
====================================================================== 

---------------------------------------------------------------------- 
 sruffell - 03-07-08 15:42  
---------------------------------------------------------------------- 
This appears to be a duplication of Issue
http://bugs.digium.com/view.php?id=007620.

Which should be resolved with the following commit.
http://svn.digium.com/view/zaptel?view=rev&revision=3733  What revision of
the 1.4 branch did you try?

This is the deadlock situation that is being reported:

CPU0 Acquires the zone_lock.
CPU1 Acquires the channel lock and disables IRQ's
CPU0 Receives interrupt and spins waiting for the channel lock to be
freed.
CPU1 Spins waiting for the zone_lock to be freed.

By ensuring that the zone_lock is acquired before the channel lock the
lock order is preserved on a given CPU even if an interrupt arrives. 

Issue History 
Date Modified   Username       Field                    Change               
====================================================================== 
03-07-08 15:42  sruffell       Note Added: 0083626                          
======================================================================




More information about the asterisk-bugs mailing list