[asterisk-bugs] [Asterisk 0014175]: Asterisk uses 100% of processor forever when I used the CLI during a load test

Asterisk Bug Tracker noreply at bugs.digium.com
Mon May 11 12:56:53 CDT 2009


A NOTE has been added to this issue. 
====================================================================== 
http://bugs.digium.com/view.php?id=14175 
====================================================================== 
Reported By:                fcsil
Assigned To:                
====================================================================== 
Project:                    Asterisk
Issue ID:                   14175
Category:                   General
Reproducibility:            sometimes
Severity:                   major
Priority:                   normal
Status:                     feedback
Asterisk Version:           Older 1.4 
Regression:                 No 
SVN Branch (only for SVN checkouts, not tarball releases): N/A 
SVN Revision (number only!):  
Request Review:              
====================================================================== 
Date Submitted:             2009-01-05 17:59 CST
Last Modified:              2009-05-11 12:56 CDT
====================================================================== 
Summary:                    Asterisk uses 100% of processor forever when I used
the CLI during a load test
Description: 
I made a load test in asterisk and when I terminated the test, asterisk
continued using 100% of cpu without 0 channels UP.

I attached GDB to asterisk pid and debug thread by thread to found a
infinite looping in CLI see the file read.c:533 of edline.


		case CC_ERROR:
		default:	/* functions we don't know about */
#ifdef DEBUG_READ
			(void) fprintf(el->el_errfile,
			    "*** editor ERROR ***\r\n\n");
#endif /* DEBUG_READ */
			el->el_state.argument = 1;
			el->el_state.doingarg = 0;
			term_beep(el);
			term__flush();
			break;
		}
	}   /*<---- closing: for (num = OKCMD; num == OKCMD;) */

when CC_ERROR happens the condition of for is not changed and the loop
runs again, but in my scenary, the loop never ends.

I think the IO of memory swap turn the machine too slow to handle
correctaly the events from CLI , probably the cause of bug is the cursor
posicioned in a invalid place (I don't found a deterministic way to
reproduce it).

I'm trying to solve the problem using the same code of CC_FATAL to
CC_ERROR.
above my changed code:
read.c:520

[[[unlicensed patch removed]]]

I don't yet reproduce the error after code change (I think it was solved),
but I'm not sure about the efects of this change.

my english is wrong :( sorry!.
====================================================================== 

---------------------------------------------------------------------- 
 (0104537) twilson (administrator) - 2009-05-11 12:56
 http://bugs.digium.com/view.php?id=14175#c104537 
---------------------------------------------------------------------- 
It has been a couple of months since the last update to this bug.  If their
is no patch we can look at and no one else is experiencing this issue, I'm
not sure there is anything we can do here... 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2009-05-11 12:56 twilson        Note Added: 0104537                          
======================================================================




More information about the asterisk-bugs mailing list