Hi,
We are using Mono 1.2.6.1 on our production servers since January 2008.
It powered an ASP.NET 1.1 distributed intranet, and an extranet Web Site
(www.fiducial.biz) with more than 4000 people working on it everydays.
I think it's time to do a summary of problems encountered with this
version :
Good points :
- We get rid of any ASP.NET (1.1) rendering problems... -
congratulation to the ASP.NET team
- We get rid of any Npgsql DB problems
- We get rid of any .NET remoting problems
Bad points :
- We have now two very annoying bugs (very hard to debug them...)
- Some performance problems
1. We have more and more problems related to
https://bugzilla.novell.com/show_bug.cgi?id=322400 (SOAP Client code)
- Now we have more than 80 people / day that received a bad :
Server Error in '/CASServer' Application
at System.Net.WebConnection.HandleError(WebExceptionStatus st,
System.Exception e, System.String where) at
System.Net.WebConnection.ReadDone(IAsyncResult result) at
System.Net.Sockets.Socket+SocketAsyncResult.Complete() at
System.Net.Sockets.Socket+Worker.Receive() at
System.MulticastDelegate.invoke_void()
Description: Error processing request.
Error Message: HTTP 500. System.Exception: at
System.Net.WebConnection.HandleError(WebExceptionStatus st,
System.Exception e, System.String where) at
System.Net.WebConnection.ReadDone(IAsyncResult result) at
System.Net.Sockets.Socket+SocketAsyncResult.Complete() at
System.Net.Sockets.Socket+Worker.Receive() at
System.MulticastDelegate.invoke_void()
Stack Trace:
System.Exception:at System.Net.WebConnection.HandleError(WebExceptionStatus
st, System.Exception e, System.String where)
at System.Net.WebConnection.ReadDone(IAsyncResult result)
at System.Net.Sockets.Socket+SocketAsyncResult.Complete()
at System.Net.Sockets.Socket+Worker.Receive()
at System.MulticastDelegate.invoke_void()
at System.Net.WebConnection.HandleError (WebExceptionStatus st,
System.Exception e, System.String where) [0x0]
The complete exception is here:
System.Net.WebException: Error getting response stream (ReadDone2):
ReceiveFailure --- System.Exception: at
System.Net.WebConnection.HandleError(WebExceptionStatus st, System.Exception e,
System.String where)
at System.Net.WebConnection.ReadDone(IAsyncResult result)
at System.Net.Sockets.Socket+SocketAsyncResult.Complete()
at System.Net.Sockets.Socket+Worker.Receive()
at System.MulticastDelegate.invoke_void()
at System.Net.WebConnection.HandleError (WebExceptionStatus st,
System.Exception e, System.String where) [0x0] --- End of inner exception
stack trace ---
at System.Net.HttpWebRequest.EndGetResponse (IAsyncResult asyncResult)
[0x0]
at System.Net.HttpWebRequest.GetResponse () [0x0]
at System.Web.Services.Protocols.WebClientProtocol.GetWebResponse
(System.Net.WebRequest request) [0x0]
When they try to open a web page.
(our ASP.NET web pages does a web service request for authentication
purpose)
- I don't know how to debug this error, because it's very hard to
reproduce! but it happens 1/200 request on our productions servers
I hope that someone (in the mono team) could help me to get rid to that!
I've found no workaround at all for this!
2. Handles leak problems :
This is a recurrent problems with mono.
I ever talk about my problem on :
http://lists.ximian.com/pipermail/mono-devel-list/2008-February/026981.html and
on http://lists.ximian.com/pipermail/mono-devel-list/2008-February/027015.html
Today i've a workaround (bad)
- I've isolated MONO_SHARED_DIR for each ASP.NET application (now i've
4096 handles by apps)
- a zabbix server (monitoring) send a request on an aspx web page that
does a GC.Collect(); for each ASP.NET application- this works well
handles doesn't leak anymore
3. Performance problems
These problems are not blocking for us just annoying...
see :
https://bugzilla.novell.com/show_bug.cgi?id=342190 (with sharpZipLib)
https://bugzilla.novell.com/show_bug.cgi?id=357947 (System.Data)
3. Conclusion
Mono is a great product. We use it in a professional server
environement, coupled with postgreSQL it works/scales well.
I hope we could continue to work with you for many time... and find a
way to fix remaining bugs ( 2 at least... for us).
If you want more details and help for fixing this, i'm available...
Thanks for all
Hubert FONGARNAND
Fiducial
_
Ce message et les eventuels documents joints peuvent contenir des informations
confidentielles.
Au cas ou il ne vous serait pas destine, nous vous remercions de bien vouloir
le supprimer et en aviser immediatement l'expediteur. Toute utilisation de ce
message non conforme a sa destination, toute diffusion ou publication, totale
ou partielle et quel qu'en soit le moyen est formellement interdite.
Les communications sur internet n'etant