[asterisk-bugs] [JIRA] (ASTERISK-27166) segfault at 10 ... error 4 in app_queue.so

Mario Lenis (JIRA) noreply at issues.asterisk.org
Fri Aug 4 09:08:57 CDT 2017


    [ https://issues.asterisk.org/jira/browse/ASTERISK-27166?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=237941#comment-237941 ] 

Mario Lenis commented on ASTERISK-27166:
----------------------------------------

Hi, I've been trying to understand what is going on using the verbose on CLI, I came up with a conclusion: 

1. A Caller makes a call which enters to a QueueA
2. The call is answered by AgentA
3. AgentA makes an attended transfer to QueueA (since is not able to handle the call)
4. AgentB Answers the call
5. The caller ends the call
6. AgentA receives the beeperr and hangs up
7. Asterisk stops.

Here's the verbose 
{code}
Executing [1770 at Queues:5] Set("DAHDI/i1/16114770-3ec", "__ORIGEN=16114770") in new stack
    -- Executing [1770 at Queues:6] Set("DAHDI/i1/16114770-3ec", "QUEUE_PRIO=0") in new stack
    -- Executing [1770 at Queues:7] ExecIf("DAHDI/i1/16114770-3ec", "0?Set(QUEUE_TIMEOUT=)") in new stack
    -- Executing [1770 at Queues:8] Set("DAHDI/i1/16114770-3ec", "ODBC_AGENTLOG()=1501508401.7468,QueueA,NONE,QUEUE_CONNECT,1501508401.7468,16114770,1770,,") in new stack
    -- Executing [1770 at Queues:9] Set("DAHDI/i1/16114770-3ec", "CHANNEL(musicclass)=q_QueueA") in new stack
    -- Executing [1770 at Queues:10] System("DAHDI/i1/16114770-3ec", "test -e /var/www/htdocs/cmds/ivr/QueueA_ann.wav") in new stack
    -- Executing [1770 at Queues:11] Queue("DAHDI/i1/16114770-3ec", "QueueA,tT,,,,,,QUEUE_CONNECT\,1501508401.7468") in new stack
    -- Started music on hold, class 'q_QueueA', on channel 'DAHDI/i1/16114770-3ec'
    -- Called Local/117 at agentCallback/n
    -- Executing [117 at agentCallback:1] Set("Local/117 at agentCallback-0000049e;2", "ARRAY(PROTOCOLO,EXTENSION)=SIP,1014") in new stack
    -- Executing [117 at agentCallback:2] GotoIf("Local/117 at agentCallback-0000049e;2", "0?kerberus,117,1") in new stack
    -- Executing [117 at agentCallback:3] ExecIf("Local/117 at agentCallback-0000049e;2", "0?Hangup()") in new stack
    -- Executing [117 at agentCallback:4] NoOp("Local/117 at agentCallback-0000049e;2", "Connecting the current call Local/117 at agentCallback-0000049e;2 to agent 117 - ") in new stack
    -- Executing [117 at agentCallback:5] Dial("Local/117 at agentCallback-0000049e;2", "SIP/1014,,U(agent-xfer-hangup^117)") in new stack
  == Using SIP VIDEO CoS mark 6
  == Using SIP RTP CoS mark 5
    -- Called SIP/1014
    -- SIP/1014-0000052a is ringing
    -- Local/117 at agentCallback-0000049e;1 is ringing

    
    -- Local/117 at agentCallback-0000049e;1 answered DAHDI/i1/16114770-3ec
    -- Stopped music on hold on DAHDI/i1/16114770-3ec
    -- Local/117 at agentCallback-0000049e;1 Internal Gosub(QUEUE_CONNECT,s,1(1501508401.7468)) start
    -- Executing [s at QUEUE_CONNECT:1] NoOp("Local/117 at agentCallback-0000049e;1", "**** Local/117 at agentCallback/n ****") in new stack
    -- Executing [s at QUEUE_CONNECT:2] Set("Local/117 at agentCallback-0000049e;1", "MFILE=QueueA_1501508411.7472") in new stack
    -- Executing [s at QUEUE_CONNECT:3] Gosub("Local/117 at agentCallback-0000049e;1", "AGENT_RECORD,s,1(QueueA_1501508411.7472)") in new stack
    -- Executing [s at AGENT_RECORD:1] Set("Local/117 at agentCallback-0000049e;1", "CHANNEL(musicclass)=silence") in new stack
    -- Executing [s at AGENT_RECORD:2] Gosub("Local/117 at agentCallback-0000049e;1", "SET_XFER,s,1(YES)") in new stack
    -- Executing [s at SET_XFER:1] Set("Local/117 at agentCallback-0000049e;1", "DB(XFER/1501508401.7468)=YES") in new stack
    -- Executing [s at SET_XFER:2] Return("Local/117 at agentCallback-0000049e;1", "") in new stack
    -- Executing [s at AGENT_RECORD:3] MixMonitor("Local/117 at agentCallback-0000049e;1", "/var/spool/asterisk/monitor/QueueA_1501508411.7472.gsm,abW(2)") in new stack
    -- Executing [s at AGENT_RECORD:4] Return("Local/117 at agentCallback-0000049e;1", "") in new stack
    -- Executing [s at QUEUE_CONNECT:4] Set("Local/117 at agentCallback-0000049e;1", "ODBC_AGENTUPDATE()=1501508401.7468,QueueA_1501508411.7472,Local/117 at agentCallback/n") in new stack
    -- Channel SIP/1014-0000052a joined 'simple_bridge' basic-bridge <6d4bde2f-9b04-4dd1-8871-1655bcb69906>
    -- Channel Local/117 at agentCallback-0000049e;2 joined 'simple_bridge' basic-bridge <6d4bde2f-9b04-4dd1-8871-1655bcb69906>
  == Begin MixMonitor Recording Local/117 at agentCallback-0000049e;1
    -- Executing [s at QUEUE_CONNECT:5] Return("Local/117 at agentCallback-0000049e;1", "") in new stack
  == Spawn extension (agentCallback, 1770, 1) exited non-zero on 'Local/117 at agentCallback-0000049e;1'
    -- Local/117 at agentCallback-0000049e;1 Internal Gosub(QUEUE_CONNECT,s,1(1501508401.7468)) complete GOSUB_RETVAL=
    -- Channel Local/117 at agentCallback-0000049e;1 joined 'simple_bridge' basic-bridge <d246bf58-9067-4b6e-b23b-46915c47bc99>
    -- Channel DAHDI/i1/16114770-3ec joined 'simple_bridge' basic-bridge <d246bf58-9067-4b6e-b23b-46915c47bc99>
       > 0x7f352005da80 -- Probation passed - setting RTP source address to 192.168.1.54:50024


    -- Started music on hold, class 'q_QueueA', on channel 'DAHDI/i1/16114770-3ec'
    -- <Local/117 at agentCallback-0000049e;1> Playing 'pbx-transfer.gsm' (language 'en')
    -- Channel Local/10 at agentCallback-000004a2;1 joined 'simple_bridge' basic-bridge <14e8df7b-6375-439a-b810-843903a70f6d>
       > Found no rows [SELECT protocolo, usuario FROM peer,agente WHERE idagente = '10' AND peer.usuario=agente.logged_on]
    -- Channel Local/117 at agentCallback-0000049e;1 left 'simple_bridge' basic-bridge <d246bf58-9067-4b6e-b23b-46915c47bc99>
    -- Channel Local/117 at agentCallback-0000049e;1 joined 'simple_bridge' basic-bridge <14e8df7b-6375-439a-b810-843903a70f6d>
    -- Executing [10 at agentCallback:1] Set("Local/10 at agentCallback-000004a2;2", "ARRAY(PROTOCOLO,EXTENSION)=") in new stack
    -- Executing [10 at agentCallback:2] GotoIf("Local/10 at agentCallback-000004a2;2", "1?kerberus,10,1") in new stack
    -- Goto (kerberus,10,1)
    -- Executing [10 at kerberus:1] Answer("Local/10 at agentCallback-000004a2;2", "") in new stack
    -- Executing [10 at kerberus:2] ExecIf("Local/10 at agentCallback-000004a2;2", "1?Set(CALLERID(num)=16114770)") in new stack
    -- Executing [10 at kerberus:3] Gosub("Local/10 at agentCallback-000004a2;2", "Queues,10,1(QueueA)") in new stack
    -- Executing [10 at Queues:1] NoOp("Local/10 at agentCallback-000004a2;2", "") in new stack
    -- Executing [10 at Queues:2] ExecIf("Local/10 at agentCallback-000004a2;2", "1?Gosub(DELETE_XFER,s,1)") in new stack
    -- Executing [s at DELETE_XFER:1] NoOp("Local/10 at agentCallback-000004a2;2", "YES") in new stack
    -- Executing [s at DELETE_XFER:2] Return("Local/10 at agentCallback-000004a2;2", "") in new stack
    -- Executing [10 at Queues:3] Set("Local/10 at agentCallback-000004a2;2", "__CALLID=1501508401.7468") in new stack
    -- Executing [10 at Queues:4] Set("Local/10 at agentCallback-000004a2;2", "__TO_QUEUE=QueueA") in new stack
    -- Executing [10 at Queues:5] Set("Local/10 at agentCallback-000004a2;2", "__ORIGEN=16114770") in new stack
    -- Executing [10 at Queues:6] Set("Local/10 at agentCallback-000004a2;2", "QUEUE_PRIO=0") in new stack
    -- Executing [10 at Queues:7] ExecIf("Local/10 at agentCallback-000004a2;2", "0?Set(QUEUE_TIMEOUT=)") in new stack
    -- Executing [10 at Queues:8] Set("Local/10 at agentCallback-000004a2;2", "ODBC_AGENTLOG()=1501508441.7490,QueueA,NONE,QUEUE_CONNECT,1501508401.7468,16114770,10,,") in new stack
    -- Executing [10 at Queues:9] Set("Local/10 at agentCallback-000004a2;2", "CHANNEL(musicclass)=q_QueueA") in new stack
    -- Executing [10 at Queues:10] System("Local/10 at agentCallback-000004a2;2", "test -e /var/www/htdocs/cmds/ivr/QueueA_ann.wav") in new stack
    -- Executing [10 at Queues:11] Queue("Local/10 at agentCallback-000004a2;2", "QueueA,tT,,,,,,QUEUE_CONNECT\,1501508441.7490") in new stack
    -- Started music on hold, class 'q_QueueA', on channel 'Local/10 at agentCallback-000004a2;2'


    -- Called Local/145 at agentCallback/n
    -- Executing [145 at agentCallback:1] Set("Local/145 at agentCallback-000004a3;2", "ARRAY(PROTOCOLO,EXTENSION)=SIP,1004") in new stack
    -- Executing [145 at agentCallback:2] GotoIf("Local/145 at agentCallback-000004a3;2", "0?kerberus,145,1") in new stack
    -- Executing [145 at agentCallback:3] ExecIf("Local/145 at agentCallback-000004a3;2", "0?Hangup()") in new stack
    -- Executing [145 at agentCallback:4] NoOp("Local/145 at agentCallback-000004a3;2", "Connecting the current call Local/145 at agentCallback-000004a3;2 to agent 145 - ") in new stack
    -- Executing [145 at agentCallback:5] Dial("Local/145 at agentCallback-000004a3;2", "SIP/1004,,U(agent-xfer-hangup^145)") in new stack
  == Using SIP VIDEO CoS mark 6
  == Using SIP RTP CoS mark 5
    -- Called SIP/1004
    -- SIP/1004-0000052e is ringing
    -- Local/145 at agentCallback-000004a3;1 is ringing
  
    -- SIP/1004-0000052e answered Local/145 at agentCallback-000004a3;2
    -- SIP/1004-0000052e Internal Gosub(agent-xfer-hangup,s,1(145)) start
    -- Executing [s at agent-xfer-hangup:1] ExecIf("SIP/1004-0000052e", "0?Set(CHANNEL(hangup_handler_push)=agent-xfer-hangup,end,1(145,1501508441.7493))") in new stack
    -- Executing [s at agent-xfer-hangup:2] Return("SIP/1004-0000052e", "") in new stack
  == Spawn extension (kerberus, , 1) exited non-zero on 'SIP/1004-0000052e'
    -- SIP/1004-0000052e Internal Gosub(agent-xfer-hangup,s,1(145)) complete GOSUB_RETVAL=


    -- Local/145 at agentCallback-000004a3;1 answered Local/10 at agentCallback-000004a2;2
    -- Stopped music on hold on Local/10 at agentCallback-000004a2;2


    -- Local/145 at agentCallback-000004a3;1 Internal Gosub(QUEUE_CONNECT,s,1(1501508441.7490)) start
    -- Executing [s at QUEUE_CONNECT:1] NoOp("Local/145 at agentCallback-000004a3;1", "**** Local/145 at agentCallback/n ****") in new stack
    -- Executing [s at QUEUE_CONNECT:2] Set("Local/145 at agentCallback-000004a3;1", "MFILE=QueueA_1501508441.7491") in new stack
    -- Executing [s at QUEUE_CONNECT:3] Gosub("Local/145 at agentCallback-000004a3;1", "AGENT_RECORD,s,1(QueueA_1501508441.7491)") in new stack
    -- Executing [s at AGENT_RECORD:1] Set("Local/145 at agentCallback-000004a3;1", "CHANNEL(musicclass)=silence") in new stack
    -- Executing [s at AGENT_RECORD:2] Gosub("Local/145 at agentCallback-000004a3;1", "SET_XFER,s,1(YES)") in new stack
    -- Executing [s at SET_XFER:1] Set("Local/145 at agentCallback-000004a3;1", "DB(XFER/1501508401.7468)=YES") in new stack
    -- Executing [s at SET_XFER:2] Return("Local/145 at agentCallback-000004a3;1", "") in new stack
    -- Executing [s at AGENT_RECORD:3] MixMonitor("Local/145 at agentCallback-000004a3;1", "/var/spool/asterisk/monitor/QueueA_1501508441.7491.gsm,abW(2)") in new stack
    -- Executing [s at AGENT_RECORD:4] Return("Local/145 at agentCallback-000004a3;1", "") in new stack
    -- Executing [s at QUEUE_CONNECT:4] Set("Local/145 at agentCallback-000004a3;1", "ODBC_AGENTUPDATE()=1501508441.7490,QueueA_1501508441.7491,Local/145 at agentCallback/n") in new stack
    -- Executing [s at QUEUE_CONNECT:5] Return("Local/145 at agentCallback-000004a3;1", "") in new stack
  == Spawn extension (agentCallback, 10, 1) exited non-zero on 'Local/145 at agentCallback-000004a3;1'
    -- Local/145 at agentCallback-000004a3;1 Internal Gosub(QUEUE_CONNECT,s,1(1501508441.7490)) complete GOSUB_RETVAL=
  == Begin MixMonitor Recording Local/145 at agentCallback-000004a3;1
    -- Channel SIP/1004-0000052e joined 'simple_bridge' basic-bridge <cb93bfaa-2b60-4cf9-8e82-aa1ceea28a7e>
    -- Channel Local/145 at agentCallback-000004a3;2 joined 'simple_bridge' basic-bridge <cb93bfaa-2b60-4cf9-8e82-aa1ceea28a7e>
    -- Channel Local/145 at agentCallback-000004a3;1 joined 'simple_bridge' basic-bridge <b0606ad4-7a8d-46e3-bc0a-f8ccdbc89872>
    -- Channel Local/10 at agentCallback-000004a2;2 joined 'simple_bridge' basic-bridge <b0606ad4-7a8d-46e3-bc0a-f8ccdbc89872>
       > 0x7f358406fea0 -- Probation passed - setting RTP source address to 192.168.1.54:50004
  
    -- Span 1: Channel 0/4 got hangup request, cause 16
    -- Stopped music on hold on DAHDI/i1/16114770-3ec
    -- Channel DAHDI/i1/16114770-3ec left 'simple_bridge' basic-bridge <d246bf58-9067-4b6e-b23b-46915c47bc99>
  == Spawn extension (Queues, 1770, 11) exited non-zero on 'DAHDI/i1/16114770-3ec'
    -- Executing [h at Queues:1] NoOp("DAHDI/i1/16114770-3ec", "YES") in new stack
    -- Hungup 'DAHDI/i1/16114770-3ec'
  
    -- <Local/117 at agentCallback-0000049e;1> Playing 'beeperr.gsm' (language 'en')
       > Move-swap optimizing Local/10 at agentCallback-000004a2;2 <-- Local/117 at agentCallback-0000049e;1.
    -- Channel Local/117 at agentCallback-0000049e;1 left 'simple_bridge' basic-bridge <14e8df7b-6375-439a-b810-843903a70f6d>
    -- Channel Local/10 at agentCallback-000004a2;2 left 'simple_bridge' basic-bridge <b0606ad4-7a8d-46e3-bc0a-f8ccdbc89872>
    -- Channel Local/117 at agentCallback-0000049e;1 swapped with Local/10 at agentCallback-000004a2;2 into 'simple_bridge' basic-bridge <b0606ad4-7a8d-46e3-bc0a-f8ccdbc89872>
    -- Channel Local/10 at agentCallback-000004a2;1 left 'simple_bridge' basic-bridge <14e8df7b-6375-439a-b810-843903a70f6d>
  == Spawn extension (Queues, 10, 11) exited non-zero on 'Local/10 at agentCallback-000004a2;2'
    -- Executing [h at Queues:1] NoOp("Local/10 at agentCallback-000004a2;2", "") in new stack
    -- Channel SIP/1014-0000052a left 'simple_bridge' basic-bridge <6d4bde2f-9b04-4dd1-8871-1655bcb69906>
    -- Channel Local/117 at agentCallback-0000049e;2 left 'simple_bridge' basic-bridge <6d4bde2f-9b04-4dd1-8871-1655bcb69906>
  == Spawn extension (agentCallback, 117, 5) exited non-zero on 'Local/117 at agentCallback-0000049e;2'
    -- Channel Local/117 at agentCallback-0000049e;1 left 'simple_bridge' basic-bridge <b0606ad4-7a8d-46e3-bc0a-f8ccdbc89872>
    -- Channel Local/145 at agentCallback-000004a3;1 left 'simple_bridge' basic-bridge <b0606ad4-7a8d-46e3-bc0a-f8ccdbc89872>
  == MixMonitor close filestream (mixed)
  == MixMonitor close filestream (mixed)
  == End MixMonitor Recording Local/117 at agentCallback-0000049e;1
    -- Channel Local/145 at agentCallback-000004a3;2 left 'simple_bridge' basic-bridge <cb93bfaa-2b60-4cf9-8e82-aa1ceea28a7e>
  == Spawn extension (agentCallback, 145, 5) exited non-zero on 'Local/145 at agentCallback-000004a3;2'
    -- Channel SIP/1004-0000052e left 'simple_bridge' basic-bridge <cb93bfaa-2b60-4cf9-8e82-aa1ceea28a7e>
{code}

> segfault at 10 ... error 4 in app_queue.so
> ------------------------------------------
>
>                 Key: ASTERISK-27166
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-27166
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: Applications/app_queue
>    Affects Versions: 13.17.0, 14.6.0
>         Environment: Linux Slackware 14.2
> Kernel 4.4.14
> Intel(R) Xeon(R) CPU E3-1220
> 8Gb Ram
> SATA HD
>            Reporter: Mario Lenis
>            Assignee: Unassigned
>
> This is the scenario:
> 1. Call enters to a Queue A and is received by Agent A (chan_sip)
> 2. Agent A executes an attended transfer to a Queue B and hangs up before someone answers.
> 3. The trasnfered call is not answered since Queue B has callback agents and none answers.
> 4. The attended transfer fails (beeperr) but the original channel had been optimized.
> 5. Asterisk stops.
> This is the backtrace of the issue.
> [http://kerberus.com.co/core/core.kerberus-2017-07-31T08-40-49-0500-brief.txt]
> [http://kerberus.com.co/core/core.kerberus-2017-07-31T08-40-49-0500-full.txt]
> [http://kerberus.com.co/core/core.kerberus-2017-07-31T08-40-49-0500-thread1.txt]



--
This message was sent by Atlassian JIRA
(v6.2#6252)



More information about the asterisk-bugs mailing list