[asterisk-bugs] [Asterisk 0016507]: heavy CPU usage when using iax channel

Asterisk Bug Tracker noreply at bugs.digium.com
Mon Feb 1 06:44:00 CST 2010


A NOTE has been added to this issue. 
====================================================================== 
https://issues.asterisk.org/view.php?id=16507 
====================================================================== 
Reported By:                marcelloceschia
Assigned To:                
====================================================================== 
Project:                    Asterisk
Issue ID:                   16507
Category:                   Channels/chan_iax2
Reproducibility:            always
Severity:                   major
Priority:                   normal
Status:                     new
Asterisk Version:           1.6.2.0 
JIRA:                        
Regression:                 No 
Reviewboard Link:            
SVN Branch (only for SVN checkouts, not tarball releases): N/A 
SVN Revision (number only!):  
Request Review:              
====================================================================== 
Date Submitted:             2009-12-23 04:58 CST
Last Modified:              2010-02-01 06:43 CST
====================================================================== 
Summary:                    heavy CPU usage when using iax channel
Description: 
When making a call using iax channel, i have a high cpu usage
https://issues.asterisk.org/view.php?id=18#c97%
This does not only happens while transcoding audio, also with the same
codecs on both sides.

after a short time, i get the following cli output:

[Dec 23 11:45:29] WARNING[12300]: channel.c:1045 __ast_queue_frame:
Exceptionally long voice queue length queuing to IAX2/diax-6892

Calling sip2sip has a cpu usage about 1.5% per call
======================================================================
Relationships       ID      Summary
----------------------------------------------------------------------
duplicate of        0015609 [patch] WARNING[23025]: channel.c:952 _...
====================================================================== 

---------------------------------------------------------------------- 
 (0117425) marcelloceschia (reporter) - 2010-02-01 06:43
 https://issues.asterisk.org/view.php?id=16507#c117425 
---------------------------------------------------------------------- 
some output with asterisk 1.6.2.1 and DEBUG CHANNEL LOCKS flag:

[Feb  1 13:41:39] WARNING[4536]: channel.c:1045 __ast_queue_frame:
Exceptionally long voice queue length queuing to IAX2/asterisk01-2469 
[Feb  1 13:41:39] WARNING[13421]: channel.c:1045 __ast_queue_frame:
Exceptionally long voice queue length queuing to IAX2/asterisk01-2469
[Feb  1 13:41:39] WARNING[13423]: channel.c:1045 __ast_queue_frame:
Exceptionally long voice queue length queuing to IAX2/asterisk01-2469
[Feb  1 13:41:39] WARNING[4537]: channel.c:1045 __ast_queue_frame:
Exceptionally long voice queue length queuing to IAX2/asterisk01-2469 
asterisk03*CLI> core show locks                                           
                                                              
[Feb  1 13:41:39] WARNING[13426]: channel.c:1045 __ast_queue_frame:
Exceptionally long voice queue length queuing to IAX2/asterisk01-2469
asterisk03*CLI>                                                           
                                                              
=======================================================================   
                                                              
=== Currently Held Locks ==============================================   
                                                              
=======================================================================   
                                                              
===                                                                       
                                                              
=== <pending> <lock#> (<file>): <lock type> <line num> <function> <lock
name> <lock addr> (times locked)                                 
===                                                                       
                                                              
=== Thread ID: -1299924112 (iax2_process_thread  started at [11713]
chan_iax2.c start_network_thread())                                  
=== ---> Waiting for Lock https://issues.asterisk.org/view.php?id=0
(chan_iax2.c): MUTEX 9629 socket_process
&iaxsl[fr->callno] 0xb34a6a48 (1)                                  
        /usr/sbin/asterisk(ast_bt_get_addresses+0x1a) [0x814795a]         
                                                              
        /usr/lib/asterisk/modules/chan_iax2.so [0xb3070c6e]               
                                                              
        /usr/lib/asterisk/modules/chan_iax2.so [0xb30a583a]               
                                                              
        /usr/lib/asterisk/modules/chan_iax2.so [0xb30b25d2]               
                                                              
        /usr/sbin/asterisk [0x81e151e]                                    
                                                              
        /lib/libpthread.so.0 [0xb72916e5]                                 
                                                              
        /lib/libpthread.so.0 [0xb7291600]                                 
                                                              
=== --- ---> Locked Here: chan_iax2.c line 9629 (socket_process)          
                                                              
=== -------------------------------------------------------------------   
                                                              
===                                                                       
                                                              
=== Thread ID: -1306244240 (pbx_thread           started at [ 4563] pbx.c
ast_pbx_start())                                               
=== ---> Lock https://issues.asterisk.org/view.php?id=0 (channel.c): MUTEX 3386
ast_write (channel lock)
0xc41dc2c (1)                                                          
        /usr/sbin/asterisk(ast_bt_get_addresses+0x1a) [0x814795a]         
                                                              
        /usr/sbin/asterisk [0x80bd4ae]                                    
                                                              
        /usr/sbin/asterisk(ast_write+0xfe) [0x80c699e]                    
                                                              
        /usr/sbin/asterisk(ast_channel_bridge+0xa4f) [0x80caddf]
        /usr/sbin/asterisk(ast_bridge_call+0x30c) [0x8111dec]
        /usr/lib/asterisk/modules/app_dial.so [0xb62c4531]
        /usr/lib/asterisk/modules/app_dial.so [0xb62c780d]
        /usr/sbin/asterisk(pbx_exec+0xf5) [0x816c085]
        /usr/sbin/asterisk [0x817a358]
        /usr/sbin/asterisk [0x817c321]
        /usr/sbin/asterisk [0x817db16]
        /usr/sbin/asterisk [0x81e151e]
        /lib/libpthread.so.0 [0xb72916e5]
        /lib/libpthread.so.0 [0xb7291600]
=== ---> Waiting for Lock https://issues.asterisk.org/view.php?id=1
(chan_iax2.c): MUTEX 7104 iax2_write
&iaxsl[callno] 0xb34a6a48 (1)
        /usr/sbin/asterisk(ast_bt_get_addresses+0x1a) [0x814795a]
        /usr/lib/asterisk/modules/chan_iax2.so [0xb3070c6e]
        /usr/lib/asterisk/modules/chan_iax2.so [0xb30a583a]
        /usr/lib/asterisk/modules/chan_iax2.so [0xb30b25d2]
        /usr/sbin/asterisk [0x81e151e]
        /lib/libpthread.so.0 [0xb72916e5]
        /lib/libpthread.so.0 [0xb7291600]
=== --- ---> Locked Here: chan_iax2.c line 9629 (socket_process)
=== -------------------------------------------------------------------
===
=== Thread ID: -1309439120 (iax2_process_thread  started at [ 1308]
chan_iax2.c find_idle_thread())
=== ---> Waiting for Lock https://issues.asterisk.org/view.php?id=0
(chan_iax2.c): MUTEX 9629 socket_process
&iaxsl[fr->callno] 0xb34a6a48 (1)
        /usr/sbin/asterisk(ast_bt_get_addresses+0x1a) [0x814795a]
        /usr/lib/asterisk/modules/chan_iax2.so [0xb3070c6e]
        /usr/lib/asterisk/modules/chan_iax2.so [0xb30a583a]
        /usr/lib/asterisk/modules/chan_iax2.so [0xb30b25d2]
        /usr/sbin/asterisk [0x81e151e]
        /lib/libpthread.so.0 [0xb72916e5]
        /lib/libpthread.so.0 [0xb7291600]
=== --- ---> Locked Here: chan_iax2.c line 9629 (socket_process)
=== -------------------------------------------------------------------
===
=======================================================================

[Feb  1 13:41:39] WARNING[13440]: channel.c:1045 __ast_queue_frame:
Exceptionally long voice queue length queuing to IAX2/asterisk01-2469
[Feb  1 13:41:39] WARNING[4532]: channel.c:1045 __ast_queue_frame:
Exceptionally long voice queue length queuing to IAX2/asterisk01-2469
[Feb  1 13:41:39] WARNING[4530]: channel.c:1045 __ast_queue_frame:
Exceptionally long voice queue length queuing to IAX2/asterisk01-2469
[Feb  1 13:41:39] WARNING[4529]: channel.c:1045 __ast_queue_frame:
Exceptionally long voice queue length queuing to IAX2/asterisk01-2469
[Feb  1 13:41:39] WARNING[4528]: channel.c:1045 __ast_queue_frame:
Exceptionally long voice queue length queuing to IAX2/asterisk01-2469
[Feb  1 13:41:39] WARNING[4534]: channel.c:1045 __ast_queue_frame:
Exceptionally long voice queue length queuing to IAX2/asterisk01-2469
[Feb  1 13:41:40] WARNING[4529]: channel.c:1045 __ast_queue_frame:
Exceptionally long voice queue length queuing to IAX2/asterisk01-2469
[Feb  1 13:41:40] WARNING[4537]: channel.c:1045 __ast_queue_frame:
Exceptionally long voice queue length queuing to IAX2/asterisk01-2469
[Feb  1 13:41:40] WARNING[13424]: channel.c:1045 __ast_queue_frame:
Exceptionally long voice queue length queuing to IAX2/asterisk01-2469
[Feb  1 13:41:40] WARNING[13425]: channel.c:1045 __ast_queue_frame:
Exceptionally long voice queue length queuing to IAX2/asterisk01-2469
[Feb  1 13:41:40] WARNING[4536]: channel.c:1045 __ast_queue_frame:
Exceptionally long voice queue length queuing to IAX2/asterisk01-2469
[Feb  1 13:41:40] WARNING[4531]: channel.c:1045 __ast_queue_frame:
Exceptionally long voice queue length queuing to IAX2/asterisk01-2469
[Feb  1 13:41:40] WARNING[13416]: channel.c:1045 __ast_queue_frame:
Exceptionally long voice queue length queuing to IAX2/asterisk01-2469
[Feb  1 13:41:40] WARNING[13422]: channel.c:1045 __ast_queue_frame:
Exceptionally long voice queue length queuing to IAX2/asterisk01-2469
[Feb  1 13:41:40] WARNING[13427]: channel.c:1045 __ast_queue_frame:
Exceptionally long voice queue length queuing to IAX2/asterisk01-2469
[Feb  1 13:41:40] WARNING[4530]: channel.c:1045 __ast_queue_frame:
Exceptionally long voice queue length queuing to IAX2/asterisk01-2469
[Feb  1 13:41:40] WARNING[4532]: channel.c:1045 __ast_queue_frame:
Exceptionally long voice queue length queuing to IAX2/asterisk01-2469
[Feb  1 13:41:40] WARNING[4535]: channel.c:1045 __ast_queue_frame:
Exceptionally long voice queue length queuing to IAX2/asterisk01-2469
[Feb  1 13:41:40] WARNING[4528]: channel.c:1045 __ast_queue_frame:
Exceptionally long voice queue length queuing to IAX2/asterisk01-2469
[Feb  1 13:41:40] WARNING[4536]: channel.c:1045 __ast_queue_frame:
Exceptionally long voice queue length queuing to IAX2/asterisk01-2469 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2010-02-01 06:43 marcelloceschiaNote Added: 0117425                          
======================================================================




More information about the asterisk-bugs mailing list