Summary:ASTERISK-07475: using queues with local channels and MixMonitor causes segfault
Reporter:jmls (jmls)Labels:
Date Opened:2006-08-07 07:27:13Date Closed:2006-09-28 10:50:25
Versions:Frequency of
Environment:Attachments:( 0) gdb-20060807-1322.txt
Description:If you call an extension (A) which calls Local Channel Extension (B) which starts mixmonitor and enters a queue that has local channels for dynamic agents then * crashes as soon as it enters the agent context
Comments:By: jmls (jmls) 2006-08-07 07:27:44

exten => 7779,n,Goto(StartQ|s|1)

exten => s,1,Answer()
exten => s,n,MixMonitor(${UNIQUEID}.gsm)
exten => s,n,Dial(Local/s@EnterQ/n)
exten => s,n,Hangup()

exten => s,1,Queue(TestQ|nt|||120)

exten => _X.,1,NoOp()

By: jmls (jmls) 2006-08-07 07:28:04

persistentmembers = yes
autofill = yes

musiconhold = default
strategy = rrmemory
servicelevel = 60
timeout = 120
retry = 5
wrapuptime = 0
announce-frequency = 0
announce-holdtime = no
joinempty = strict
leavewhenempty = strict
eventwhencalled = no
reportholdtime = no

By: jmls (jmls) 2006-08-07 07:28:25

Console output:
Asterisk SVN-trunk-r39109M, Copyright (C) 1999 - 2006 Digium, Inc. and others.
Created by Mark Spencer <markster@digium.com>
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'show warranty' for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type 'show license' for details.
Connected to Asterisk SVN-trunk-r39109M currently running on foxtrot (pid = 22724)
Verbosity is at least 3
   -- Executing [7779@from-sip:1] NoOp("SIP/7708-08ae09e0", "") in new stack
   -- Executing [7779@from-sip:2] Goto("SIP/7708-08ae09e0", "StartQ|s|1") in new stack
   -- Goto (StartQ,s,1)
   -- Executing [s@StartQ:1] Answer("SIP/7708-08ae09e0", "") in new stack
   -- Executing [s@StartQ:2] MixMonitor("SIP/7708-08ae09e0", "1154952455.0.gsm") in new stack
[Aug  7 13:07:35] DEBUG[22808]: channel.c:1210 ast_channel_spy_add: Spy MixMonitor added to channel SIP/7708-08ae09e0
   -- Executing [s@StartQ:3] Dial("SIP/7708-08ae09e0", "Local/s@EnterQ/n") in new stack
   -- Called s@EnterQ/n
 == Begin MixMonitor Recording SIP/7708-08ae09e0
   -- Executing [s@EnterQ:1] Queue("Local/s@EnterQ-556e,2", "TestQ|nt|||120") in new stack
[Aug  7 13:07:35] DEBUG[22811]: channel.c:2346 ast_prod: Prodding channel 'Local/s@EnterQ-556e,2'
[Aug  7 13:07:35] DEBUG[22808]: channel.c:1364 queue_frame_to_spies: Building translator from ulaw to SLINEAR for spies on channel SIP/7708-08ae09e0
[Aug  7 13:07:35] WARNING[22808]: translate.c:165 framein: no samples for ulawtolin
   -- Started music on hold, class 'default', on Local/s@EnterQ-556e,2
[Aug  7 13:07:35] DEBUG[22811]: channel.c:1837 ast_settimeout: Scheduling timer at 160 sample intervals
   -- Executing [7708@AgentCall:1] NoOp("Local/7708@AgentCall-45c3,2", "") in new stack
[Aug  7 13:07:35] DEBUG[22808]: channel.c:1364 queue_frame_to_spies: Building translator from ulaw to SLINEAR for spies on channel SIP/7708-08ae09e0
Disconnected from Asterisk server
/usr/sbin/safe_asterisk: line 44: 22724 Segmentation fault      (core dumped) ${ASTSBINDIR}/asterisk ${CLIARGS} ${ASTARGS} >&/dev/${TTY} </dev/${TTY}
[root@foxtrot ~]# Asterisk ended with exit status 139
Asterisk exited on signal 11.

By: jmls (jmls) 2006-08-07 07:31:35

The segfault does not happen if you enter the queue directly.

exten => s,1,Answer()
exten => s,n,MixMonitor(${UNIQUEID}.gsm)
exten => s,n,Queue(TestQ|nt|||120)
;exten => s,n,Dial(Local/s@EnterQ/n)
exten => s,n,Hangup()

By: jmls (jmls) 2006-08-13 13:37:51

anything I can do or supply to push this forward ?

By: jmls (jmls) 2006-08-24 17:09:58

I'll test this tomorrow with the latest svn trunk.

By: Joshua C. Colp (jcolp) 2006-09-27 16:54:05

Please try this again with the very latest trunk, I put in some spy fixes that may have fixed it.

By: jmls (jmls) 2006-09-28 10:26:53

does not crash with r43756. Thanks.

By: Joshua C. Colp (jcolp) 2006-09-28 10:50:24

Fixed during a round of spy fixes! WOOT! Thanks.