Re: [MAS-discuss] Server stability (or: how to kill MAS server in 21 microseconds:-)
Brought to you by:
jcochrane
From: MAS info/s. <mas...@ji...> - 2006-02-27 07:57:23
|
On Sat, 25 Feb 2006 16:51:14 +0100 Kyku <ky...@os...> wrote: > Hi all, > > Suppose the following scenario: > 1) open the MAS server in one terminal > 2) open command line client in another, connect to the server. > 3) pressing Ctrl-C in the client. > > In my case, server starts consuming 100% CPU, then prints: > mas: PANIC: unexpected harmful signal ... You forgot to mention what version of the server you are using (mas -v). However, it appears that you are not using the latest version available on the sf.net download site - mas-1.6.6t3. When I run that version and kill macl with a ^C (a couple times), I get, from the macl terminal (quoted): > $ macl 10102 > Select action: > Select tradable (s) View data (v) Edit indicators (e) > Edit market analyzers (m) Run market analysis (a) > Set date for market analysis (d) Edit event registrants (r) > End client session (x) Help (h) Product information (p) > Show settings (w) > Unexpected exception occurred. > Exiting ... > $ > $ macl 10102 > Select action: > Select tradable (s) View data (v) Edit indicators (e) > Edit market analyzers (m) Run market analysis (a) > Set date for market analysis (d) Edit event registrants (r) > End client session (x) Help (h) Product information (p) > Show settings (w) > Unexpected exception occurred. > Exiting ... > $ macl 10102 > Select action: > Select tradable (s) View data (v) Edit indicators (e) > Edit market analyzers (m) Run market analysis (a) > Set date for market analysis (d) Edit event registrants (r) > End client session (x) Help (h) Product information (p) > Show settings (w) > Unexpected exception occurred. > Exiting ... and from the server terminal: > Caught signal in main menu: > Broken pipe (13) > Details: Exception occurred : > "Broken pipe" > Type of Exception : Operating system signal. > > [Exception trace: > ------------------------------------------------------------------------------- > Class / Object Routine Nature of > exception Effect > ------------------------------------------------------------------------------- > MA_SERVER root's creation Broken pipe: > <B7AE3030> Operating system > signal. Exit > ------------------------------------------------------------------------------- > MA_SERVER root's creation > <B7AE3030> Routine > failure. Exit > ------------------------------------------------------------------------------- ] > - continuing ... > > Caught signal in main menu: > Broken pipe (13) > Details: Exception occurred : > "Broken pipe" > Type of Exception : Operating system signal. > > [Exception trace: > ------------------------------------------------------------------------------- > Class / Object Routine Nature of > exception Effect > ------------------------------------------------------------------------------- > MA_SERVER root's creation Broken pipe: > <B7AE3030> Operating system > signal. Exit > ------------------------------------------------------------------------------- > MA_SERVER root's creation > <B7AE3030> Routine > failure. Exit > ------------------------------------------------------------------------------- ] > - continuing ... > > Caught signal in main menu: > Broken pipe (13) > Details: Exception occurred : > "Broken pipe" > Type of Exception : Operating system signal. > > [Exception trace: > ------------------------------------------------------------------------------- > Class / Object Routine Nature of > exception Effect > ------------------------------------------------------------------------------- > MA_SERVER root's creation Broken pipe: > <B7AE3030> Operating system > signal. Exit > ------------------------------------------------------------------------------- > MA_SERVER root's creation > <B7AE3030> Routine > failure. Exit > ------------------------------------------------------------------------------- ] > - continuing ... As you can see, the server now continues to accept new connections after the broken pipe signal, although the error message is rather funky. (It would be better if the error message was less dramatic and more indicative that an unexpected event occurred but that it is "no big deal".) Download mas_v1.6.6t3.gz from the download site (reachable from eiffel-mas.sf.net) and you should find the same behavior. (Tip: To get the current version of a running server, connect to it with macl and enter 'p' - e.g.: $ macl 10102 Select action: Select tradable (s) View data (v) Edit indicators (e) Edit market analyzers (m) Run market analysis (a) Set date for market analysis (d) Edit event registrants (r) End client session (x) Help (h) Product information (p) Show settings (w) p Market Analysis Server Version: 1.6.6t3 Copyright 1998 - 2004: Jim Cochrane Version date: July 20, 2004 Assertion checking is disabled. Licence: Eiffel Forum License, version 1 ...) Jim Cochrane > > mas: system execution failed. > Following is the set of recorded exceptions. > NB: The raised panic may have induced completely inconsistent > information: > > ------------------------------------------------------------------------------- > Class / Object Routine Nature of > exception Effect > ------------------------------------------------------------------------------- > MA_SERVER root's creation unexpected harmful signal: > <08351488> Eiffel run-time > panic. Bye > ------------------------------------------------------------------------------- > MA_SERVER root's creation > <08351488> Routine > failure. Bye > ------------------------------------------------------------------------------- > MA_SERVER root's creation > <08351488> Routine > failure. Bye > ------------------------------------------------------------------------------- > MA_SERVER root's creation > <08351488> Routine > failure. Bye > ------------------------------------------------------------------------------- > > mas: dumping core to generate debugging information... > fish: Job 0, 'sudo ./mas -f, > 22917 /usr/local/stow/mas/lib/data/*.txt' terminated by signal > SIGABRT (Abort) > > Now, when the MAS is consuming 100% CPU, I can hit Ctrl-c in the > server terminal, which starts printing: > Caught signal in main menu: > Broken pipe (13) - continuing ... > > Could you please help me with this. Frankly, I consider it a bug - a > server should withstand malicious/bad input from its clients. > > > > > --------------------------------------- > > Darmowe konta email o pojemnosci 500 MB > http://www.free.os.pl > > --------------------------------------- > > > > ------------------------------------------------------- > This SF.Net email is sponsored by xPML, a groundbreaking scripting > language that extends applications into web and mobile media. Attend > the live webcast and join the prime developer group breaking into > this new coding territory! > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642 > _______________________________________________ Eiffel-mas-discuss > mailing list Eif...@li... > https://lists.sourceforge.net/lists/listinfo/eiffel-mas-discuss |