[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