[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
Wed May 20 07:59:24 CDT 2009


The following issue has been UPDATED. 
====================================================================== 
https://issues.asterisk.org/view.php?id=14175 
====================================================================== 
Reported By:                fcsil
Assigned To:                
====================================================================== 
Project:                    Asterisk
Issue ID:                   14175
Category:                   General
Reproducibility:            sometimes
Severity:                   major
Priority:                   normal
Status:                     closed
Asterisk Version:           Older 1.4 
Regression:                 No 
SVN Branch (only for SVN checkouts, not tarball releases): N/A 
SVN Revision (number only!):  
Request Review:              
Resolution:                 unable to reproduce
Fixed in Version:           
====================================================================== 
Date Submitted:             2009-01-05 17:59 CST
Last Modified:              2009-05-20 07:59 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!.
====================================================================== 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2009-05-20 07:59 lmadsen        Resolution               open => unable to
reproduce
======================================================================




More information about the asterisk-bugs mailing list