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

Asterisk Bug Tracker noreply at bugs.digium.com
Mon Jan 11 14:06:29 CST 2010


The following issue has been UPDATED. 
====================================================================== 
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:                     acknowledged
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:              2010-01-11 14:06 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               
====================================================================== 
2010-01-11 14:06 lmadsen        OS                       OpenSolaris =>      
2010-01-11 14:06 lmadsen        os_build                 2009.06 =>          
2010-01-11 14:06 lmadsen        Platform                 i386 =>             
2010-01-11 14:06 lmadsen        Description Updated                          
======================================================================




More information about the asterisk-bugs mailing list