[asterisk-bugs] [Asterisk 0016995]: [patch] Crash in app_voicemail.c in function retrieve_file (Read out in small chunks)

Asterisk Bug Tracker noreply at bugs.digium.com
Wed Apr 14 04:45:41 CDT 2010


A NOTE has been added to this issue. 
====================================================================== 
https://issues.asterisk.org/view.php?id=16995 
====================================================================== 
Reported By:                vrban
Assigned To:                
====================================================================== 
Project:                    Asterisk
Issue ID:                   16995
Category:                   Applications/app_voicemail/ODBC
Reproducibility:            random
Severity:                   minor
Priority:                   normal
Status:                     feedback
Asterisk Version:           1.4.29.1 
JIRA:                        
Regression:                 No 
Reviewboard Link:            
SVN Branch (only for SVN checkouts, not tarball releases): N/A 
SVN Revision (number only!):  
Request Review:              
====================================================================== 
Date Submitted:             2010-03-09 03:08 CST
Last Modified:              2010-04-14 04:45 CDT
====================================================================== 
Summary:                    [patch] Crash in app_voicemail.c in function
retrieve_file  (Read out in small chunks)
Description: 
Every few days, one of my asterisk 1.4.29 crash with this error. See
bt_full.txt
Asterisk was compiled with DONT_OPTIMIZE, so all needed information should
be visible.
====================================================================== 

---------------------------------------------------------------------- 
 (0120376) vrban (reporter) - 2010-04-14 04:45
 https://issues.asterisk.org/view.php?id=16995#c120376 
---------------------------------------------------------------------- 
Did you really read my comments? 

1. Again the "patch" as i described, i just a hack to use with
pooling=>yes and limit=>1 in res_odbc.conf as a workaround. With
pooling=>yes and limit=>1, res_odbc does only do one parallel odbc query,
and that prevent that the crash happen. But has the disadvantage, that if a
second odbc request from app_voicemail for a busy/not_available file i
comming, then res_odbc reject it, and app_voicemail play the default
busy/not_available sound file. The hack just retry the odbc request from
app_voicemail a few times, which is in my setup is ok as workaround. And
not a permanently solution. You can delete it, because it's just my private
workaround.

2. More important is p_crasher2.c. Again, i re-wrote it now with
pthread_cond_broadcast to start all threads simultaneously
and i read out in small chunks with sched_yield() And libmyodbc still does
not crash. So there is still something special with
res_odbc/app_voicemail_odbc and i dont know what it is. 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2010-04-14 04:45 vrban          Note Added: 0120376                          
======================================================================




More information about the asterisk-bugs mailing list