Summary:ASTERISK-18061: Asterisk periodically locksup, using CPU time.
Reporter:John Covici (covici)Labels:
Date Opened:2011-06-23 21:55:54Date Closed:2011-09-14 08:38:45
Versions:Frequency of
Environment:Debian 6.0, Dual Core 2GB memory.Attachments:
Description:Periodically, asterisk goes into a state where it locks up using CPU time.  Sometimes an existing call can continue, but no new calls can be made and there are usually a number of active sip dialogs.  I attached a gdb and did some traces, which are enclosed.  I also set the flag not to optimize and set the debugging flags.\
Comments:By: Leif Madsen (lmadsen) 2011-07-11 14:22:56.117-0500

1) Please always attach information as a text file to the issue and not an external link

2) you don't have DONT_OPTIMIZE enabled in menuselect (your backtrace is optimized out)

3) it looks like you're using res_timing_pthread which has a known issue of appearing to lockup, but is just very CPU hungry in some circumstances -- please try using an alternate timing module, such as res_timing_dahdi

By: John Covici (covici) 2011-07-11 16:50:17.433-0500

Very strange, I do have don't optimize in my menuselect, I don't know why it didn't compile correctly, but it is there.  Please explain how to change res_timing, I don't have aything in modules.conf.  this was definitely a lockup, you could not make or receive calls, but I am willing to try another module.  Also, I have updated asterisk and so far it has not locked up, but I do want to ensure it does not happen.  I am using dahdi-dummy so conferences will work, although I have no dahdi hardware.

By: Leif Madsen (lmadsen) 2011-07-20 12:59:18.013-0500

For the timing module do "timing test" which will show you which timing module you're using.

If it's not using dahdi, then you need to make sure all the res_timing_* modules (except res_timing_dahdi) or disabled, deleted from the modules directory, or not loaded into memory.

By: Leif Madsen (lmadsen) 2011-07-20 12:59:48.468-0500

Oh and ya, if it really is locking up, then we'll need the backtrace and 'core show locks' information regardless in order to move this forward.

By: John Covici (covici) 2011-07-20 14:25:04.011-0500

The timing test returned the following:
Attempting to test a timer with 50 ticks per second.
using the 'timerfd' timing module for this test.
It has been 1000 milliseconds, and we got 50 timer ticks

By: John Covici (covici) 2011-07-20 14:27:53.121-0500

Next time it happens, I will do the core show locks, as well as a new backtrace.  It has happened again, now updated to 328446.

By: Leif Madsen (lmadsen) 2011-08-09 09:07:49.981-0500

Is this still an issue?

By: Leif Madsen (lmadsen) 2011-09-14 08:38:40.325-0500

Suspended due to lack of activity. Please request a bug marshal in #asterisk-bugs on the IRC network irc.freenode.net to reopen the issue should you have the additional information requested.  Further information can be found at http://www.asterisk.org/developers/bug-guidelines