[Mono-list] Mono 2.4.2.2: too many roots set & other errors

Maxim makska at yandex.ru
Sat Aug 1 13:38:21 EDT 2009


Hello!

I've upgraded mono on production server for about week ago and got trouble:
several times (up to two per day) I've found error in apache error_log file:
Too many root sets

Stacktrace:

  at (wrapper managed-to-native)
object.__icall_wrapper_mono_delegate_begin_invoke (object,intptr) <0x00048>
  at (wrapper managed-to-native)
object.__icall_wrapper_mono_delegate_begin_invoke (object,intptr)
<0xffffffff>
  at (wrapper delegate-begin-invoke)
System.Threading.WaitCallback.begin_invoke_IAsyncResult__this___object_AsyncCallback_object
(object,System.AsyncCallback,object) <0xffffffff>
  at System.Threading.ThreadPool.QueueUserWorkItem
(System.Threading.WaitCallback,object) <0x0001f>
  at System.Threading.Timer.SchedulerThread () <0x003c7>
  at (wrapper runtime-invoke) object.runtime_invoke_void__this__
(object,intptr,intptr,intptr) <0xffffffff>

Native stacktrace:

    /opt/mono/bin/mono [0x47e7a0]
    /lib64/libpthread.so.0 [0x3e3e60e4c0]
    /lib64/libc.so.6(gsignal+0x35) [0x3e3da30215]
    /lib64/libc.so.6(abort+0x110) [0x3e3da31cc0]
    /opt/mono/bin/mono [0x574553]
    /opt/mono/bin/mono [0x572fc5]
    /opt/mono/bin/mono [0x572f29]
    /opt/mono/bin/mono [0x50a18e]
    /opt/mono/bin/mono [0x4fee6c]
    /opt/mono/bin/mono [0x502ef5]
    /opt/mono/bin/mono [0x4c1083]
    [0x40d34038]

Debug info from gdb:

=================================================================
Got a SIGABRT while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries
used by your application.
=================================================================

and a lots of errors after it, for example:
[Sat Aug 01 20:12:04 2009] [error] (104)Connection reset by peer:
read_data failed
[Sat Aug 01 20:12:04 2009] [error] (70014)End of file found: read_data
failed
[Sat Aug 01 20:12:04 2009] [error] Command stream corrupted, last
command was -1
[Sat Aug 01 20:12:04 2009] [notice] child pid 17038 exit signal
Segmentation fault (11)

After it all mono applications returns no data (nagios: HTTP CRITICAL -
No data received from host).
Only restart of apache make application healthy again.

Also there are a lot of errors in error_log (almost every second), but
it seems like no relation to this crash:
[Sat Aug 01 14:12:05 2009] [crit] (13)Permission denied: Failed to
attach to existing dashboard, and removing dashboard file
'/tmp/mod_mono_dashboard_XXGLOBAL_1' failed (Operation not permitted).
Further action impossible.

How I set up mod_mono and apache (with mono 2.0.1 it works just fine. It
seems like 2.0.1 is most stable release for me) :
mod_mono.conf:
    LoadModule mono_module /usr/lib64/httpd/modules/mod_mono.so
    MonoAutoApplication enabled

    MonoMaxActiveRequests 70
    MonoMaxWaitingRequests 500
    MonoServerPath "/opt/mono/bin/mod-mono-server2"
                       
    AddType application/x-asp-net .aspx
....          
    DirectoryIndex index.aspx
-------------------

For heavy loaded sites (about 20 on this server) I have separated
mod_mono server instances and vhosts like this:
<VirtualHost *:80>
    ServerName mysite.com
    AddMonoApplications mysite.com
"mysite.com:/:/home/myuser/www/mysite.com"
    MonoServerPath mysite.com "/opt/mono/bin/mod-mono-server2"
    <Location />
        AddHandler mono .aspx .ascx .config .axd .asax .ashx .asmx .dll
        MonoSetServerAlias mysite.com
    </Location>
    MonoAutoApplication disabled
    MonoSetEnv MONO_THREADS_PER_CPU=2000
    MonoMaxActiveRequests 75
    MonoMaxWaitingRequests 200
....
</VirtualHost>

For all other websites (for about 80) I have one instance of mod_mono
server and hosts like this, with no special mono directives (I suppose
mono auto applications work here):
<VirtualHost *:80>
    ServerName mysite.com
....
</VirtualHost>

So could anyone give me please advice how to fix this problem?
Or how to set up mod_mono in more stable way?

All the best,
Maxim Karavaev




More information about the Mono-list mailing list