[Home]

Summary:ASTERISK-11813: NOTICE[3754]: chan_iax2.c:6691 socket_read: Out of idle IAX2 threads for I/O, pausing!
Reporter:Jake Hansen (ztel)Labels:
Date Opened:2008-04-09 16:38:41Date Closed:2008-04-15 10:58:59
Priority:CriticalRegression?No
Status:Closed/CompleteComponents:Channels/chan_iax2
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:
Description:Our server will have a month or two with no problem at all and then all the sudden it completely stops working.  We usually have to notice that its not working as asterisk process is still running.  Doing a "restart now" has no effect and we have to kill the process and restart asterisk.  Every time a call tries to go through it throws up the error    

NOTICE[3754]: chan_iax2.c:6691 socket_read: Out of idle IAX2 t                                                                                                                             hreads for I/O, pausing!

the most updated info I could find suggested the problem was fixed in version 1.4.10 (http://bugs.digium.com/view.php?id=10362)  

The system in question _only_ job is to take inbound IAX connections from other servers and then connecting them to an outbound SIP provider.  

This is my first time reporting bug, please let me know if I can provide any further info that would help.

****** ADDITIONAL INFORMATION ******

Linux version 2.6.18-5-686 (Debian 2.6.18.dfsg.1-17) (dannf@debian.org) (gcc version 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)) #1 SMP Mon Dec 24 16:41:07 UTC 2007

Connected to Asterisk 1.4.18 currently running on outgoing (pid = 2473)
Verbosity is at least 3
Comments:By: Digium Subversion (svnbot) 2008-04-11 17:28:08

Repository: asterisk
Revision: 114083

U   branches/1.4/channels/chan_iax2.c

------------------------------------------------------------------------
r114083 | twilson | 2008-04-11 17:28:00 -0500 (Fri, 11 Apr 2008) | 7 lines

Several places in the code called find_callno() (which releases the lock on the pvt structure) and then immediately locked the call and did things with it. Unfortunately, the call can disappear between the find_callno and the lock, causing Bad Stuff(tm) to happen.

Added find_callno_locked() function to return the callno withtout unlocking for instances that it is needed.

(issue ASTERISK-11813)
Reported by: ztel

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=114083

By: Digium Subversion (svnbot) 2008-04-11 17:43:53

Repository: asterisk
Revision: 114084

_U  trunk/
U   trunk/channels/chan_iax2.c

------------------------------------------------------------------------
r114084 | twilson | 2008-04-11 17:43:51 -0500 (Fri, 11 Apr 2008) | 15 lines

Merged revisions 114083 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r114083 | twilson | 2008-04-11 17:32:51 -0500 (Fri, 11 Apr 2008) | 7 lines

Several places in the code called find_callno() (which releases the lock on the pvt structure) and then immediately locked the call and did things with it. Unfortunately, the call can disappear between the find_callno and the lock, causing Bad Stuff(tm) to happen.

Added find_callno_locked() function to return the callno withtout unlocking for instances that it is needed.

(issue ASTERISK-11813)
Reported by: ztel

........

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=114084

By: Digium Subversion (svnbot) 2008-04-11 18:16:17

Repository: asterisk
Revision: 114087

_U  branches/1.6.0/
U   branches/1.6.0/channels/chan_iax2.c

------------------------------------------------------------------------
r114087 | twilson | 2008-04-11 18:16:16 -0500 (Fri, 11 Apr 2008) | 23 lines

Merged revisions 114084 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
r114084 | twilson | 2008-04-11 17:48:52 -0500 (Fri, 11 Apr 2008) | 15 lines

Merged revisions 114083 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r114083 | twilson | 2008-04-11 17:32:51 -0500 (Fri, 11 Apr 2008) | 7 lines

Several places in the code called find_callno() (which releases the lock on the pvt structure) and then immediately locked the call and did things with it. Unfortunately, the call can disappear between the find_callno and the lock, causing Bad Stuff(tm) to happen.

Added find_callno_locked() function to return the callno withtout unlocking for instances that it is needed.

(issue ASTERISK-11813)
Reported by: ztel

........

................

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=114087

By: Terry Wilson (twilson) 2008-04-12 00:41:25

ztel, can I get you to check out the 1.4 branch from SVN and see if it fixes the problem for you?



By: Jake Hansen (ztel) 2008-04-14 19:22:30

Yes, I'll give it a shot... As it was only happening once in a great while, I'm afraid it may be a while before I can let you know if its really fixed... I'll update this ticket if / when it happens again...

Thanks!

By: Terry Wilson (twilson) 2008-04-15 10:58:58

Going ahead and marking as closed/fixed.  If the problem reoccurs for you, feel free to re-open the ticket.