[Mono-list] Some issues with mono 2.0

Maxim makska at yandex.ru
Thu Oct 9 11:55:16 EDT 2008


thanks you for explanation.

For about week ago we've installed  mono 2.0 RC4.
So, the situation is the following:
1) something happens. Sometimes:
 [Thu Oct 09 01:39:16 2008] [alert] Requesting termination of
abtronics.ru mod-mono-server for restart...
System.Threading.ThreadAbortException: Thread was being aborted

Server stack trace:
  at Mono.WebServer.BaseApplicationHost.ProcessRequest
(Mono.WebServer.MonoWorkerRequest mwr) [0x00000]
  at Mono.WebServer.ModMonoApplicationHost.ProcessRequest (Int32 reqId,
System.String verb, System.String queryString, System.String path,
System.String protocol, System.String localAddress, Int32 serverPort,
System.String remoteAddress, Int32 remotePort, System.String remoteName,
System.String[] headers, System.String[] headerValues) [0x00000]
  at (wrapper remoting-invoke-with-check)
  at (wrapper xdomain-dispatch)

Exception rethrown at [0]:

  at (wrapper xdomain-invoke)
  at (wrapper remoting-invoke-with-check)
  at Mono.WebServer.ModMonoWorker.InnerRun (System.Object state) [0x00000]
  at Mono.WebServer.ModMonoWorker.Run (System.Object state) [0x00000]
System.Threading.ThreadAbortException: Thread was being aborted

sometimes something like this:

[Wed Oct 08 00:55:48 2008] [error] (70014)End of file found: read_data
[Wed Oct 08 00:55:48 2008] [error] Command stream corrupted, last
command was 0

2) mod_mono stop to close connections, number of concurrent connections
fast reach limit
note: load of server for this time far from 100%

3) service becomes temporary unavailable, a lot of records like
[Wed Oct 08 13:55:43 2008] [error] Maximum number (70) of concurrent
mod_mono requests to /tmp/mod_mono_dashboard_abtronics.ru_2.lock
reached. Droping request.
in logs.
Note, that it's only "concurrent" requests, not "concurrent and
waiting". So, it seems like these requests doesn't wait (sleep).
I don't know is this situation A) or B)

For now we've moved some services to other server. In few days will
upgrade mono to 2.0 official release and see what happen.
If problem repeats we will try to use profiler for more deep
investigation of this situation.

All the best,
Max Karavaev

>> "Service Temporary Unavailable" error appears when amount of waiting
>> requests reach limit or when waiting requests reach apache timeout?
> Yes, both. That is (to be clear), either:
> A) A request comes in and the maximum number of requests are already
> being processed, so this request waits (it sleeps for short intervals)
> until the number of currently-being-processed requests drops below the
> maximum. If that doesn't happen within a certain amount of time
> (hard-coded in mod_mono), the request is dropped with 503. (Service
> Temporarily Unavailable)
> B) A request comes in and the maximum number of requests are already
> being processed, but there are also already the maximum number of
> waiting requests waiting, so this request gets dropped *immediately*
> with 503 (Service Temporarily Unavailable).
> So I was half-wrong before because I forgot that another way to avoid
> 503s is to increase the timeout in mod_mono (but as I said, it's
> hard-coded) so requests can wait longer. But it's already fairly long
> --- 20 seconds or something.

More information about the Mono-list mailing list