Hi. This may be a possible memory leak but I haven’t had any luck trying to solve this.
I’m using Asterisk 13.17 and this is the scenario:
Asterisk accepts a call through an E1 PRI and enters to a QueueA, the call is answered by an AgentA (sip_chan), this agent makes an attended transfer to dial plan and listen to an announce, the AgentA hangs up leaving the current channel and the caller connected, the call goes to a QueueB… and then Asterisk breaks. No warnings.
in /var/log/messages I get
kerberus kernel: [818513.936980] asterisk[59949]: segfault at 10 ip 00007fdbead35b1c sp 00007fdbd50efd00 error 4 in app_queue.so[7fdbead13000+39000]
It happens when there’s about 5 situations like the mentioned.
The line numbers still don’t seem to line up. Have you made any modifications and can you confirm for sure what is installed and what the backtrace is from?
I have an update; we move back to 13.17, 2. and we have a clear scenario now.
Call enters to a Queue A and is received by Agent A
Agent A executes an attended transfer to a Queue B and hangs up before someone answers
The trasnfered call is not answered since Queue B has callback agents and none answers.
The attended transfer fails (beeperr) but the original channel had been optimized.
Asterisk stops.
I guess the problem is since Queue B has no an Answer() command, the attended transfer fails and Asterisk has no idea to where return the call. So we are going to test adding the Answer command and see what happens.
Yes, now that line numbers match up I can see where it is crashing - data is missing that is expected to be there. You can file an issue[1] with the details.