[Home]

Summary:ASTERISK-20791: Asterisk Message outside of call stops working
Reporter:Abhay Gupta (agupta)Labels:
Date Opened:2012-12-13 00:39:56.000-0600Date Closed:2013-01-11 09:13:45.000-0600
Priority:MajorRegression?
Status:Closed/CompleteComponents:Channels/chan_sip/Messaging
Versions:10.10.0 10.11.0 Frequency of
Occurrence
Frequent
Related
Issues:
Environment:LINUX RHEL 2.6.18-194.11.1.el5Attachments:
Description:SIP messages stop getting into the dialplan and being delivered . Asterisk services have to be restarted to make it working again .

Investigations in flow have shown that the taskprocessor for app_msg_queue stops working leading to this issue .
{noformat}
asterisk -rx "core show taskprocessors"

+----- Processor -----+--- Processed ---+- In Queue -+- Max Depth -+
              app_queue              195036            0            0
  core_event_dispatcher             1100220            0            1
          app_voicemail                   0            0            0
               pbx-core              195037            0            0
          ast_msg_queue                  34           31            0
              CCSS core                   0            0            0
          iax2_transmit                   0            0            0
+---------------------+-----------------+------------+-------------+
7 taskprocessors
{noformat}
The task callback function that is called from message.c stops being called at this moment . Let me know the file / function that needs to be looked into for this .

EDIT (Mark Michelson): Added noformat tags around CLI output for easier readability.
Comments:By: Abhay Gupta (agupta) 2012-12-13 00:50:03.661-0600

asterisk -rx "core ping taskprocessor ast_msg_queue"

pinging ast_msg_queue ...
          ast_msg_queue ping time: 1.001443 sec

By: Abhay Gupta (agupta) 2012-12-13 01:06:44.043-0600

Another observation is during the problem msg_q_cb() function of message.c is not called .

By: Rusty Newton (rnewton) 2012-12-18 09:45:22.129-0600

{quote}
SIP messages stop getting into the dialplan and being delivered
{quote}
Can you provide some debug towards that symptom?  Perhaps an Asterisk full log with VERBOSE and DEBUG enabled, (level 5 or above) with sip debug enabled, and a SIP pcap (wireshark, tcpdump, etc) to go along with it. The pcap will help correlate whats happening outside Asterisk.  Please point out where the issue is apparent in the logs, and pcap if possible.

{quote}
The task callback function that is called from message.c stops being called at this moment . Let me know the file / function that needs to be looked into for this .
{quote}
I'll see if I can get another dev to take a look.

By: Mark Michelson (mmichelson) 2012-12-18 09:46:48.049-0600

There are two potential problem areas. I would attach gdb to Asterisk when the problem shows itself to determine the state of threads at the time of the problem. My guess is either that:

1) msg_q_cb() in main/message.c is blocking for some reason, thus causing the taskprocessor not to be able to process any further calls.
2) tps_processing_function() in main/taskprocessor.c is blocking for some reason, thus causing the taskprocessor not to be able to process any further calls.

By: Abhay Gupta (agupta) 2012-12-18 10:48:26.885-0600

When core show locks were taken it was showing no locks being held .

sip messages have earlier shown that asterisk responds with Accepted message and the queue as shown in taskprocessor increases and it is not being processed .

The version was upgraded to 10.11 and the problem is yet to appear after the upgrade , if it comes i will send you the asterisk full log for the debug messages and also gdb trace of all the threads at that point for further investigation .

By: Abhay Gupta (agupta) 2012-12-26 04:36:59.415-0600

Please close the bug as it has not appeared from the time asterisk was upgraded to 10.11 version .

By: Rusty Newton (rnewton) 2013-01-11 09:13:46.012-0600

Abhay, Thanks for reporting. Closing as requested.