Summary:ASTERISK-14605: Asterisk eats up all the processor and prints the same message in the screen
Reporter:Private Name (falves11)Labels:
Date Opened:2009-08-06 00:19:39Date Closed:2009-10-05 11:54:16
Versions:Frequency of
Environment:Attachments:( 0) gdb.txt
( 1) gdb1.txt
( 2) gdb2.txt
Description:[Aug  6 00:17:21] ERROR[71296]: channel.c:2522 __ast_read: ast_read() called with no recorded file descriptor.


This the debug version of Business Edition
Comments:By: Jason Parker (jparker) 2009-08-07 16:46:45

Is this 1.4.26, or is this Business Edition?  For the latter, please contact Digium technical support.

By: Private Name (falves11) 2009-08-16 14:24:37

The issue happens with 1.6.2, not with 1.4. The Business Edition support told me that they fixed this bug in the new release, but obviously they did not update the 1.6 branch. Asterisk simply goes in a look and eats up one processor. This is random. If Asterisk is not rebooted soon another thread gets in the loop and eats more than one processor, etc.

By: Leif Madsen (lmadsen) 2009-08-17 08:02:04

Mark, I've assigned this to you for review, but I think this is an issue you've already resolved. Please feel free to close if that is true. Thanks!

By: Mark Michelson (mmichelson) 2009-08-17 09:18:29

falves11: Please try to accurately report in which version a bug is occurring. Also, don't report bugs against Asterisk Business Edition here since this is the open source bug tracker.

1.4.26 and do NOT have this problem. The 1.6.2 SVN branch will only show this error if you run the configure script with dev mode enabled, and you should never do that unless you're actually doing development work.

By: Private Name (falves11) 2009-08-17 16:05:36

My svn download command is:
svn co http://svn.digium.com/svn/asterisk/branches/1.6.2 asterisk
This version has the bug.
Should I use this command instead?
svn co http://svn.digium.com/svn/asterisk/branches/ asterisk

How do I download the best possible version per branch always?

By: Private Name (falves11) 2009-08-20 15:22:27

I am planning to use Will it show the error?

By: Mark Michelson (mmichelson) 2009-08-20 16:50:20

1.6.2-beta4 will only display that error message if you have enabled dev mode when running the configure script.

By: Private Name (falves11) 2009-08-20 17:35:53

I am sorry for my ignorance. I only do this
make menuselect, then I press "S"
make;make install

is this dev mode? or you imply that I go to Compiler Flags in menuselect and choose don't optimize. I have never used any switch to the configure script, ever.I get the error either anyway.
Please advise.

By: snuffy (snuffy) 2009-08-20 19:22:02

It is slightly different.

To get 'devmode' just change your configure line..

./configure --enable-dev-mode

You can still turn on dont optimize in menuselect

By: Private Name (falves11) 2009-08-20 19:29:23

I have never used that switch. I had no idea. Therefor the bug is always present. Not only when you use that dev switch.

I need to use 1.6.2 for the timers. I will wait until you tell me what version I can use with confidence.

By: Private Name (falves11) 2009-08-22 19:25:55

My asterisk beta4 just locked up and is eating all the processor. I compiled it with optimization, and no deve option. So the bug is there big time. I am going back to 1.4 SVN

By: David Vossel (dvossel) 2009-09-29 10:45:14

I've looked through the back traces some and I can't make anything out of them... Are you all sure you're compiling with don't optimize enabled in menuselect?

By: Private Name (falves11) 2009-09-29 10:48:34

Yes, I did.
I can change one of my servers back to 1.62 and wait until it happens again. But please tell me what to do exactly one I get the error on the screen. Also how do you want my logger,conf to look like.

By: David Vossel (dvossel) 2009-09-29 10:58:02

can you describe how you got your gdb output.  Did you just attach to the pid while asterisk is running? This would be something like "gdb asterisk `pidof asterisk`" and then do a thread apply all bt? or did you use some sort of core dump file?

By: Private Name (falves11) 2009-09-29 11:01:58

yes, that's what I did. I located the tread that was eating processor with ps axum. The instructions are in the wiki.

By: David Vossel (dvossel) 2009-09-29 15:19:40

Was asterisk built on the same machine you're running gdb on, and if you're looking at a core file is it against the same asterisk build that generated it?  I'm just trying to figure out why the gdb output looks so messed up.

By: Private Name (falves11) 2009-09-29 15:55:15

yes, absolutely. It was a live debug on the same box.

By: David Vossel (dvossel) 2009-10-01 16:45:01

Alright, in 1.6.2-beta4 you should only be seeing that error with dev mode on.  I have no idea how you are seeing it without it.  I believe we're going to need some more information before we can move forward with this.

Please run make menuselect and select "debug threads" under "compiler flags".  Now, when this error occurs again, please attempt to get the "core show locks" output from the cli.  If possible, please provide any cli debug output leading up to the event as well.

By: Private Name (falves11) 2009-10-01 19:00:29

I moved over to 1.4 because I cannot risk this issue happening in production. I simply cannot afford to go down.

By: Leif Madsen (lmadsen) 2009-10-05 11:54:16

Since the gdb information is useless, and you can't provide the requested information, then there is nothing else to be done here. If you're able to provided the requested information, feel free to reopen this issue and provide it.