[asterisk-bugs] [JIRA] (ASTERISK-26373) channel: Crash when appending cap during dialing to a channel, when built with debugging compiler options
Denis S.Davydov (JIRA)
noreply at issues.asterisk.org
Tue Sep 27 06:24:01 CDT 2016
[ https://issues.asterisk.org/jira/browse/ASTERISK-26373?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=232422#comment-232422 ]
Denis S.Davydov commented on ASTERISK-26373:
--------------------------------------------
Today was a crash. The last crash has been at 19/09/16 12:42. So here is details:
{code}
Core was generated by `/usr/local/asterisk-13.11.2.nodebug/sbin/asterisk -f -vvvg -c'.
Program terminated with signal 11, Segmentation fault.
#0 ast_format_cap_append_from_cap (dst=0x7f6dcadc6d60, src=0x7f6dfab69990, type=AST_MEDIA_TYPE_AUDIO) at format_cap.c:308
308 struct format_cap_framed *framed = AST_VECTOR_GET(&src->preference_order, idx);
#0 ast_format_cap_append_from_cap (dst=0x7f6dcadc6d60, src=0x7f6dfab69990, type=AST_MEDIA_TYPE_AUDIO) at format_cap.c:308
__idx = 0
framed = <value optimized out>
idx = <value optimized out>
res = <value optimized out>
#1 0x00000000004aad10 in ast_request (type=0x7f6df1f75cd0 "SIP", request_cap=0x7f6dfab69990, assignedids=0x0, requestor=0x7f6dfb4e9288, addr=0x7f6df1f75cd4 "3124", cause=0x7f6df1f75ecc) at channel.c:6037
tmp_cap = 0x7f6dcadc6d60
tmp_fmt = 0x0
best_audio_fmt = 0x0
joint_cap = <value optimized out>
chan = 0x2386c50
c = <value optimized out>
res = <value optimized out>
foo = 32621
__PRETTY_FUNCTION__ = "ast_request"
#2 0x00007f6e6c366083 in ring_entry (qe=0x7f6df1f77360, tmp=0x7f6dcacb2460, busies=0x7f6df1f76cb8) at app_queue.c:4317
res = <value optimized out>
status = 0
tech = "SIP\000\063\061\062\064\000\250\000\000\000\000\000\000\000\030\350\312m\177\000\000\320\001\000\000\000\000\000\000 \341x\331\t\000\000\000\"\253G\331\070\000\000\000\000\030\350\312m\177\000\000\240O\326\312m\177\000\000\320\001\000\000\000\000\000\000\270\252\330\312m\177\000\000\310L\325\312m\177\000\000\270\252\330\312m\177\000\000\210O\326\312m\177\000\000\f\213^\000\000\000\000\000\003\000\000\000\034\000\000\000\b\000\000\000\033\000\000\000\b\000\000\000t\000\000\000\002\000\000\000\016\001", '\000' <repeats 26 times>"\301, \207\002\000\000\000\000\000\223-\352W\000\000\000\000\301\207\002\000\000\000\000\000\223-\352W\000\000\000\000\301\207\002\000\000\000\000\000q\021\000\000\000\000\000\000\320P\312\312m\177\000\000\244\230\067ln\177\000\000\260\335F\373m\177\000\000\000\000\000\000\000\000\000\000L\217\067ln\177\000"
location = 0x7f6df1f75cd4 "3124"
macrocontext = <value optimized out>
macroexten = <value optimized out>
blob = 0x0
__PRETTY_FUNCTION__ = "ring_entry"
{code}
Suspect that it caused by call on 3124 via queue. I've attached log files. Incoming call was from 9057565964 to 4957390491. Configuration for that call is as follows:
sip.conf:
{code}
[general]
transport=udp
allowguest=no
allowoverlap=no
language=ru
compactheaders=no
rtptimeout=60
rtpholdtimeout=300
session-timers=refuse
callcounter=yes
directmedia=no
directrtpsetup=no
rtcachefriends=yes
rtupdate=yes
rtautoclear=no
rtautoclear=no
ignoreregexpire=yes
allowsubscribe=yes
alwaysauthreject=yes
use_q850_reason=yes
faxdetect=no
t38pt_udptl=no
sendrpid=rpid
trustrpid=yes
nat=force_rport,comedia
progressinband=yes
externip=X.X.X.X
localnet=192.168.0.0/255.255.0.0
localnet=212.248.28.10
[mts]
type=peer
trunkname=mts
host=212.248.28.10
context=from-trunk
insecure=port,invite
disallow=all
allow = alaw,ulaw
nat = no
directmedia = no
dtmfmode = rfc2833
qualify=yes
[friend](!)
type=friend
host=dynamic
secret=verysecret
context=from-phone
t38pt_usertpsource=yes
insecure=invite,port
directmedia=no
disallow=all
allow=ulaw,alaw,g722,g729
qualify=yes
canreinvite=yes
busylevel=1
dtmfmode=rfc2833
deny = 0.0.0.0/0.0.0.0
permit = 192.168.0.0/255.255.0.0
...
[3012](friend)
callerid=ALICE <3012>
accountcode=3012
[3012](friend)
callerid=BOB <3013>
accountcode=3013
{code}
We've got direct link for this provider, so it is on localnet (212.248.28.10 accessed via private address). On other hands we have
extensions.conf:
{code}
[from-trunk]
exten = _X.,1,Set(CDR(direction)=2)
same = n,Set(GROUP()=lines_${CHANNEL(peername)})
same = n,Verbose(1,Incoming call from ${CDR(src)} to ${EXTEN} via ${CHANNEL(peername)})
same = n,Verbose(1,Concurent lines on ${CHANNEL(peername)} is ${GROUP_COUNT(lines_${CHANNEL(peername)})})
same = n,GotoIf($[${BLACKLIST()}]?blocked,1)
same = n,Gosub(record,${EXTEN},2)
same = n,Goto(incoming,${EXTEN},1)
[incoming]
exten = 4957390491,1,Goto(otp,s,1)
[otp]
exten = s,1,Answer
same = n,Background(/usr/local/asterisk/var/lib/asterisk/sounds/ru/ivr/9)
same = n,WaitExten(2)
same = n,Goto(otp,1,1)
same = n,Hangup()
exten = 1,1,NoOp()
same = n,Set(__WAIT4ANSWER=${EPOCH})
same = n,Queue(OTP_3602,t,,,300,,,wait4answer)
same = n,Hangup()
exten = 2,1,Goto(otp,1,1)
exten = i,1,Playback(invalid)
same = n,Goto(otp,s,1)
exten = t,1,Playback(vm-goodbye)
same = n,Hangup()
{code}
queues.conf:
{code}
[general]
monitor-type = MixMonitor
persistentmembers = yes
setinterfacevar=yes
setqueueentryvar=yes
setqueuevar=yes
[queue_template](!)
musicclass=default
musiconhold=default
joinempty=yes
leavewhenempty=no
strategy=rrmemory
retry = 1
[OTP_3602](queue_template)
timeout = 14
periodic-announce = /usr/local/asterisk/var/lib/asterisk/sounds/ru/ivr/8
periodic-announce-frequency = 30
relative-periodic-announce = yes
announce-holdtime = no
{code}
Prefered codec on the phones: g722, ulaw, alaw, g729. Information for peer 3124:
{code}
# asterisk -rx 'sip show peer 3124'
* Name : 3124
Description :
Secret : <Set>
MD5Secret : <Not set>
Remote Secret: <Not set>
Context : from-phone
Record On feature : automon
Record Off feature : automon
Subscr.Cont. : <Not set>
Language : ru
Tonezone : <Not set>
Accountcode : 3124
AMA flags : Unknown
Transfer mode: open
CallingPres : Presentation Allowed, Not Screened
Callgroup :
Pickupgroup :
Named Callgr :
Nam. Pickupgr:
MOH Suggest :
Mailbox :
VM Extension : asterisk
LastMsgsSent : 0/0
Call limit : 2147483647
Max forwards : 0
Busy level : 1
Dynamic : Yes
Callerid : "ТЕХЭКСПЕРТ" <3124>
MaxCallBR : 384 kbps
Expire : 1622
Insecure : port,invite
Force rport : Yes
Symmetric RTP: Yes
ACL : Yes
DirectMedACL : No
T.38 support : No
T.38 EC mode : Unknown
T.38 MaxDtgrm: 4294967295
DirectMedia : Yes
PromiscRedir : No
User=Phone : No
Video Support: No
Text Support : No
Ign SDP ver : No
Trust RPID : Yes
Send RPID : Yes
Path support : No
Path : N/A
TrustIDOutbnd: Legacy
Subscriptions: Yes
Overlap dial : No
DTMFmode : rfc2833
Timer T1 : 500
Timer B : 32000
ToHost :
Addr->IP : 192.168.60.103:5060
Defaddr->IP : (null)
Prim.Transp. : UDP
Allowed.Trsp : UDP
Def. Username: 3124
SIP Options : path replaces replace timer
Codecs : (ulaw|alaw|g722|g729)
Auto-Framing : No
Status : OK (13 ms)
Useragent : Grandstream GXP1628 0.8.16.42
Reg. Contact : sip:3124 at 192.168.60.103:5060
Qualify Freq : 60000 ms
Keepalive : 0 ms
Variables :
LDC = 1
Sess-Timers : Refuse
Sess-Refresh : uas
Sess-Expires : 1800 secs
Min-Sess : 90 secs
RTP Engine : asterisk
Parkinglot :
Use Reason : Yes
Encryption : No
{code}
> channel: Crash when appending cap during dialing to a channel, when built with debugging compiler options
> ---------------------------------------------------------------------------------------------------------
>
> Key: ASTERISK-26373
> URL: https://issues.asterisk.org/jira/browse/ASTERISK-26373
> Project: Asterisk
> Issue Type: Bug
> Security Level: None
> Components: Core/Channels
> Affects Versions: 13.11.2
> Environment: Virtual Machine on ESXi6 (VM Version 11, 4vCPU, 16Gb RAM), OS: CentOS release 6.8 (Final) x86_84
> Reporter: Denis S.Davydov
> Assignee: Denis S.Davydov
> Attachments: 20160913_1457.log, bt_20160927.log, full_20160913_1457.txt, full_20160927.log, full_filtered_20160927.log, mmlog_20160913, queue_20160927.log
>
>
> Sep 13 14:57:23 pbx kernel: asterisk[18303] general protection ip:526f83 sp:7fa6e1854340 error:0 in asterisk[400000+370000]
> Segmentation fault in ast_format_cap_append_from_cap.
> {code}
> Program terminated with signal 11, Segmentation fault.
> #0 0x0000000000526f83 in ast_format_cap_append_from_cap (dst=0x7fa731384ab0, src=0x7fa6d5098350, type=AST_MEDIA_TYPE_UNKNOWN) at format_cap.c:308
> 308 struct format_cap_framed *framed = AST_VECTOR_GET(&src->preference_order, idx);
> #0 0x0000000000526f83 in ast_format_cap_append_from_cap (dst=0x7fa731384ab0, src=0x7fa6d5098350, type=AST_MEDIA_TYPE_UNKNOWN) at format_cap.c:308
> __idx = 0
> framed = 0x7fa6d512f190
> idx = 0
> res = 0
> #1 0x00000000004c2e53 in ast_request (type=0x7fa6e1854580 "SIP", request_cap=0x7fa6d5098350, assignedids=0x0, requestor=0x7fa6d54b3068, addr=0x7fa6e1854584 "3112", cause=0x7fa6e1854680) at channel.c:6068
> tmp_cap = 0x7fa7313bf700
> tmp_fmt = 0xbc67d0
> best_audio_fmt = 0xbc67d0
> joint_cap = 0x7fa731384ab0
> chan = 0x17a62c0
> c = 0x7fa6e1855fc0
> res = 0
> foo = 32679
> __PRETTY_FUNCTION__ = "ast_request"
> {code}
> backtrace.txt and full.txt are in attachment.
> Compiled flags on my Asterisk-PBX is DONT_OPTIMIZE, COMPILE_DOUBLE, LOADABLE_MODULES, BETTER_BACKTRACES, MALLOC_DEBUG, BULD_NATIVE. Mmlog useless, there's nothing.
--
This message was sent by Atlassian JIRA
(v6.2#6252)
More information about the asterisk-bugs
mailing list