[asterisk-bugs] [Asterisk 0016517]: Segfault while setting up T.38 fax reception

Asterisk Bug Tracker noreply at bugs.digium.com
Sat Dec 26 16:00:32 CST 2009


The following issue has been SUBMITTED. 
====================================================================== 
https://issues.asterisk.org/view.php?id=16517 
====================================================================== 
Reported By:                bklang
Assigned To:                
====================================================================== 
Project:                    Asterisk
Issue ID:                   16517
Category:                   Channels/chan_sip/T.38
Reproducibility:            always
Severity:                   crash
Priority:                   normal
Status:                     new
Asterisk Version:           SVN 
JIRA:                        
Regression:                 No 
Reviewboard Link:            
SVN Branch (only for SVN checkouts, not tarball releases): 1.6.1 
SVN Revision (number only!): 236360 
Request Review:              
====================================================================== 
Date Submitted:             2009-12-26 16:00 CST
Last Modified:              2009-12-26 16:00 CST
====================================================================== 
Summary:                    Segfault while setting up T.38 fax reception
Description: 
I have been experimenting with T.38 fax reception via SIP.  This results in
an immediate crash.  While I am able to capture a coredump, for whatever
reason GDB and MDB do not appear to be able to give me a usable backtrace. 
However, Asterisk logs these message immediately before crashing:

[Dec 26 21:06:25]     -- Executing [fax at standard-fax:2]
ReceiveFAX("SIP/broadriver-00000000",
"/var/spool/fax/1261861580.0.fax,debug") in new stack
[Dec 26 21:06:25] NOTICE[23097]: channel.c:2933 __ast_read: Dropping
incompatible voice frame on SIP/broadriver-00000000 of format slin since
our native format has changed to 0x4 (ulaw)
grant*CLI> [Dec 26 21:06:25] WARNING[23097]: udptl.c:766
calculate_far_max_ifp: (no tag): Cannot calculate far_max_ifp before
far_max_datagram has been set.
[Dec 26 21:06:25] WARNING[23097]: udptl.c:766 calculate_far_max_ifp: (no
tag): Cannot calculate far_max_ifp before far_max_datagram has been set.

Next I tried forcing the max datagram in sip.conf like this:

[general]
t38pt_udptl=yes,maxdatagram=400

However, Asterisk still crashes with the same message.

Out of curiosity, I modified main/udptl.c at line 764 in the function
calculate_far_max_ifp() to force the far_max_datagram to 400:

udptl->far_max_datagram = 400;

Doing this prevents Asterisk from segfaulting.

I wish I could share a backtrace, but so far I can't produce anything
useful.  I am willing to post the entire core dump if that would be
helpful.

====================================================================== 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2009-12-26 16:00 bklang         New Issue                                    
2009-12-26 16:00 bklang         Asterisk Version          => SVN             
2009-12-26 16:00 bklang         Regression                => No              
2009-12-26 16:00 bklang         SVN Branch (only for SVN checkouts, not tarball
releases) => 1.6.1           
2009-12-26 16:00 bklang         SVN Revision (number only!) => 236360          
======================================================================




More information about the asterisk-bugs mailing list