[asterisk-bugs] [LibPRI 0018032]: [patch] Asterisk is core dumping with LibPRI

Asterisk Bug Tracker noreply at bugs.digium.com
Tue Oct 5 18:50:05 CDT 2010


The following issue is now READY FOR TESTING. 
====================================================================== 
https://issues.asterisk.org/view.php?id=18032 
====================================================================== 
Reported By:                schmoozecom
Assigned To:                rmudgett
====================================================================== 
Project:                    LibPRI
Issue ID:                   18032
Category:                   General
Reproducibility:            random
Severity:                   crash
Priority:                   normal
Status:                     ready for testing
Asterisk Version:           1.4.35 
JIRA:                        
libpri Version:             1.4.11.4 
SVN Branch (only for SVN checkouts, not tarball releases): N/A 
SVN Revision (number only!):  
Disclaimer on File?:        N/A 
Request Review:              
====================================================================== 
Date Submitted:             2010-09-22 17:44 CDT
Last Modified:              2010-10-05 18:50 CDT
====================================================================== 
Summary:                    [patch] Asterisk is core dumping with LibPRI
Description: 
We have a system using asterisk 1.4.32 and libpri libpri-1.4.11.4.  I have
attached a backtrace that shows it is failing with libpri.  The logs always
show the following line right before asterisk crahes.

[Sep 22 14:57:16] VERBOSE[21597] logger.c:     -- Executing [s at ivr-2:6]
GotoIf("DAHDI/1-1", "0?begin") in new stack
[Sep 22 14:57:16] VERBOSE[21597] logger.c:     -- Executing [s at ivr-2:7]
Answer("DAHDI/1-1", "") in new stack
[Sep 22 14:57:16] VERBOSE[21597] logger.c:     -- Executing [s at ivr-2:8]
Wait("DAHDI/1-1", "1") in new stack
[Sep 22 14:57:16] VERBOSE[26867] logger.c:     -- B-channel 0/6
successfully restarted on span 1
[Sep 22 14:57:16] VERBOSE[26867] logger.c:     -- Channel 0/1, span 1 got
hangup, cause 81
[Sep 22 14:57:16] VERBOSE[21597] logger.c:   == Spawn extension (ivr-2, s,
8) exited non-zero on 'DAHDI/1-1'
[Sep 22 14:57:16] VERBOSE[21597] logger.c:     -- Executing [h at ivr-2:1]
Hangup("DAHDI/1-1", "") in new stack
[Sep 22 14:57:16] VERBOSE[21597] logger.c:   == Spawn extension (ivr-2, h,
1) exited non-zero on 'DAHDI/1-1'
[Sep 22 14:57:16] DEBUG[21597] chan_dahdi.c: Set option AUDIO MODE, value:
ON(1) on DAHDI/1-1
[Sep 22 14:57:16] DEBUG[21597] chan_dahdi.c: Already hungup...  Calling
hangup once, and clearing call
[Sep 22 14:57:21] VERBOSE[21632] logger.c: Asterisk Event Logger Started
/var/log/asterisk/event_log
[Sep 22 14:57:21] VERBOSE[21632] logger.c: Asterisk Dynamic Loader
Starting:
[Sep 22 14:57:21] VERBOSE[21632] logger.c:   == Parsing
'/etc/asterisk/modules.conf': [Sep 22 14:57:21] VERBOSE[21632] logger.c:
Found
[Sep 22 14:57:21] NOTICE[21632] loader.c: 3 modules will be loaded.
[Sep 22 14:57:21] VERBOSE[21632] logger.c: res_speech.so => (Generic
Speech Recognition API)
[Sep 22 14:57:21] VERBOSE[21632] logger.c:   == Parsing
'/etc/asterisk/extensions.conf': [Sep 22 14:57:21] VERBOSE[21632] logger.c:
Found
[Sep 22 14:57:21] VERBOSE[21632] logger.c:   == Parsing
'/etc/asterisk/extensions_override_freepbx.conf': [Sep 22 14:57:21]
VERBOSE[21632] logger.c: Found
[Sep 22 14:57:21] VERBOSE[21632] logger.c:   == Parsing
'/etc/asterisk/extensions_additional.conf': [Sep 22 14:57:21]
VERBOSE[21632] logger.c: Found
[Sep 22 14:57:21] VERBOSE[21632] logger.c:   == Parsing
'/etc/asterisk/globals_custom.conf': [Sep 22 14:57:21] VERBOSE[21632]
logger.c: Found
[Sep 22 14:57:21] VERBOSE[21632] logger.c:   == Parsing
'/etc/asterisk/extensions_custom.conf': [Sep 22 14:57:21] VERBOSE[21632]
logger.c: Found
[Sep 22 14:57:21] VERBOSE[21632] logger.c:   == Parsing
'/etc/asterisk/extensions_aastra.conf': [Sep 22 14:57:21] VERBOSE[21632]
logger.c: Found
[Sep 22 14:57:21] VERBOSE[21632] logger.c:   == Setting global variable
'FMDEVSTATE' to 'TRUE'
[Sep 22 14:57:21] VERBOSE[21632] logger.c:   == Setting global variable
'CFDEVSTATE' to 'TRUE'
[Sep 22 14:57:21] VERBOSE[21632] logger.c:   == Setting global variable
'DNDDEVSTATE' to 'TRUE'




======================================================================
Relationships       ID      Summary
----------------------------------------------------------------------
related to          0017522 segfault in pri_schedule_del - ctrl inv...
====================================================================== 

---------------------------------------------------------------------- 
 (0127729) rmudgett (administrator) - 2010-10-05 18:50
 https://issues.asterisk.org/view.php?id=18032#c127729 
---------------------------------------------------------------------- 
issue_18032_v1.4.patch is against the libpri 1.4 branch
issue_18032_v1.4.11.4.patch is against libpri version 1.4.11.4.

The patch validates the call pointer given by Asterisk.  If the call
pointer is not an active call record a message is issued and the action
requested by Asterisk is ignored.  The call pointer is likely stale.

These patches are defensive.  More information is needed to figure out why
Asterisk seems to be using a stale call pointer. 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2010-10-05 18:50 rmudgett       Note Added: 0127729                          
2010-10-05 18:50 rmudgett       Status                   assigned => ready for
testing
======================================================================




More information about the asterisk-bugs mailing list