[asterisk-bugs] [Asterisk 0016517]: Segfault while setting up T.38 fax reception
Asterisk Bug Tracker
noreply at bugs.digium.com
Mon Jan 4 11:40:46 CST 2010
The following issue requires your FEEDBACK.
======================================================================
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: feedback
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-04 11:40 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.
======================================================================
----------------------------------------------------------------------
(0115948) lmadsen (administrator) - 2010-01-04 11:40
https://issues.asterisk.org/view.php?id=16517#c115948
----------------------------------------------------------------------
The core file is only useful on the machine it was run on. Perhaps you can
provide the backtrace of what you have, and maybe a developer will find
something useful in it?
Otherwise, it is possible this is a memory corruption issue, in which case
valgrind output is what will be needed to move this forward.
I think seeing the sip trace and console output just prior to the crash
may be useful as well.
Issue History
Date Modified Username Field Change
======================================================================
2010-01-04 11:40 lmadsen Note Added: 0115948
2010-01-04 11:40 lmadsen Status new => feedback
======================================================================
More information about the asterisk-bugs
mailing list