[Mono-dev] Xsp profiling problem
Hello, I'd want to do some 'timing' profiling on my web application... according to http://www.mono-project.com/Mod_mono#Profiling_mod-mono-server , when I stop mod_mono_server it crashes... [EMAIL PROTECTED] ~]$ mono --profile /usr/lib/mono/gac/mod-mono-server/1.2.1.0__0738eb9f132ed756/mod-mono-server.exe --filename /tmp/biz --applications /:/home/fiducial/applications/site/nodeweb/ mod-mono-server Listening on: /tmp/biz Root directory: /home/fiducial Hit Return to stop the server. Total time spent compiling 7319 methods (sec): 0.9884 Stacktrace: Native stacktrace: mono [0x8144df9] mono [0x8130c5e] /lib/tls/libpthread.so.0 [0x7aa880] /lib/tls/libc.so.6(vasprintf+0xb6) [0x5b1486] /usr/lib/libglib-2.0.so.0(g_vasprintf+0x31) [0x8b97af] /usr/lib/libglib-2.0.so.0 [0x8ae9c4] /usr/lib/libglib-2.0.so.0(g_string_append_printf+0x17) [0x8aea3d] mono [0x80e213a] mono(mono_type_get_desc+0xe7) [0x80e2273] mono(mono_signature_get_desc+0x44) [0x80e23d4] mono [0x80c15ca] mono [0x80c25b4] mono [0x80c10ae] mono [0x8131ba8] mono(mono_main+0xec6) [0x8058bf6] mono [0x80578e7] /lib/tls/libc.so.6(__libc_start_main+0xd3) [0x56be23] mono(dl_iterate_phdr+0x171) [0x8057849] Debug info from gdb: = Got a SIGSEGV while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. = Aborted [EMAIL PROTECTED] ~]$ As informations, I haven't the mdb files in the bin directory... Thanks ___ Ce message et les éventuels documents joints peuvent contenir des informations confidentielles. Au cas où il ne vous serait pas destiné, nous vous remercions de bien vouloir le supprimer et en aviser immédiatement l'expéditeur. Toute utilisation de ce message non conforme à sa destination, toute diffusion ou publication, totale ou partielle et quel qu'en soit le moyen est formellement interdite. Les communications sur internet n'étant pas sécurisées, l'intégrité de ce message n'est pas assurée et la société émettrice ne peut être tenue pour responsable de son contenu. ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list
[Mono-dev] Improving memory usage in /System.Web.SessionState/SessionSQLServerHandler.cs
Hi, When using Npgsql, if you try to send (INSERT or UPDATE) a bytea (blob) element without using Prepare it will be sent as a Escaped string... This string is 4x bigger than the real bytea... So : The memory usage on the ASP.NET server is enormous when the blob is more than 1MB... and the network traffic is enormous too! (see http://pgfoundry.org/tracker/index.php?func=detailaid=1000458group_id=1000140atid=590) If you want to avoid that you've to use Prepare before executing ExecuteNonQuery, or ExecuteReader... If you don't believe me use Ethereal (wireshark) Here's a patch that add a cmd.Prepare allowing Npgsql sending data in binary format! This patch shouldn't change anything if you use other connector than Npgsql. Thanks to review it! Hubert FONGARNAND Index: mcs/class/System.Web/System.Web.SessionState/SessionSQLServerHandler.cs === --- mcs/class/System.Web/System.Web.SessionState/SessionSQLServerHandler.cs (révision 68495) +++ mcs/class/System.Web/System.Web.SessionState/SessionSQLServerHandler.cs (copie de travail) @@ -196,6 +196,7 @@ command.CommandText = selectCommand; command.Parameters.Add (CreateParam (command, DbType.String, SessionID, id)); command.Parameters.Add (CreateParam (command, DbType.DateTime, Expires, DateTime.Now )); + command.Prepare(); return command.ExecuteReader (); } @@ -253,7 +254,7 @@ session.StaticObjects.ToByteArray ())); param.Add (CreateParam (command, DbType.Binary, SessionData, session.SessionDictionary.ToByteArray ())); - + command.Prepare(); command.ExecuteNonQuery (); } @@ -287,6 +288,7 @@ param.Add (CreateParam (command, DbType.Int32, Timeout, timeout)); param.Add (CreateParam (command, DbType.Binary, SessionData, dict.ToByteArray ())); + command.Prepare(); command.ExecuteNonQuery (); } ___ Ce message et les �ventuels documents joints peuvent contenir des informations confidentielles. Au cas o� il ne vous serait pas destin�, nous vous remercions de bien vouloir le supprimer et en aviser imm�diatement l'exp�diteur. Toute utilisation de ce message non conforme � sa destination, toute diffusion ou publication, totale ou partielle et quel qu'en soit le moyen est formellement interdite. Les communications sur internet n'�tant pas s�curis�es, l'int�grit� de ce message n'est pas assur�e et la soci�t� �mettrice ne peut �tre tenue pour responsable de son contenu. ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list
Re: [Mono-dev] Running under the Mono 2.0 Profile
On Sun, 2006-11-26 at 11:59 -0800, Charlie Poole wrote: Hi All, At the Mono meeting, we discussed the need for a way to run code under the 2.0 profile for testing purposes, even if it was built with the 1.0 profile. Has anything happened on this? Possible options: 1) A switch on mono.exe 2) Use of an environment variable 3) ??? There exists a way that I use for debian packaging, it's a manifest file for the application which tells the runtime to use the 2.0 profile, it looks like this: foo.exe.config ?xml version=1.0? configuration startup supportedRuntime version=v2.0.50727 / /startup /configuration I use this to force the boo compiler for example to link the resulting assemblies against 2.0 instead of 1.0, I created boo2.exe.config and symlinked boo2.exe to boo.exe This way the normal packaging can stay 1.0, while 2.0 support is added using this wrapper. This feature is supported by MS .NET and Mono. -- Regards, Mirco 'meebey' Bauer PGP-Key: http://keyserver.noreply.org/pks/lookup?op=getsearch=0xEEF946C8 -BEGIN GEEK CODE BLOCK- Version: 3.12 GIT d s-:+ a-- C++ UL$ P L++$+++$ E- W+++$ N o? K- w++! O M- V? PS PE+ Y- PGP++ t 5+ X++ R tv+ b+ DI? D+ G++ e h! r-++ y? --END GEEK CODE BLOCK-- signature.asc Description: This is a digitally signed message part ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list
Re: [Mono-dev] Running under the Mono 2.0 Profile
Hi Mirco, Sure, this is what we use for the normal static situation where you always want a particular program to run under a given profile. But it doesn't work for a more dynamic situation, such as a developer needing to test different programs under NUnit using different profiles. For that purpose, we have menu items that say Run under .Net 1.1, etc. This is implemented by using the COMPLUS_VERSION environment variable. For Mono, we currently only say Run under Mono It would be nice if we could have Run under Mono 1.0 Profile and Run under Mono 2.0 Profile I probably should have explained all this in my note in the first place. :-( Charlie -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Mirco Bauer Sent: Monday, November 27, 2006 3:50 AM To: Charlie Poole Cc: mono-devel-list@lists.ximian.com Subject: Re: [Mono-dev] Running under the Mono 2.0 Profile On Sun, 2006-11-26 at 11:59 -0800, Charlie Poole wrote: Hi All, At the Mono meeting, we discussed the need for a way to run code under the 2.0 profile for testing purposes, even if it was built with the 1.0 profile. Has anything happened on this? Possible options: 1) A switch on mono.exe 2) Use of an environment variable 3) ??? There exists a way that I use for debian packaging, it's a manifest file for the application which tells the runtime to use the 2.0 profile, it looks like this: foo.exe.config ?xml version=1.0? configuration startup supportedRuntime version=v2.0.50727 / /startup /configuration I use this to force the boo compiler for example to link the resulting assemblies against 2.0 instead of 1.0, I created boo2.exe.config and symlinked boo2.exe to boo.exe This way the normal packaging can stay 1.0, while 2.0 support is added using this wrapper. This feature is supported by MS .NET and Mono. -- Regards, Mirco 'meebey' Bauer PGP-Key: http://keyserver.noreply.org/pks/lookup?op=getsearch=0xEEF946C8 -BEGIN GEEK CODE BLOCK- Version: 3.12 GIT d s-:+ a-- C++ UL$ P L++$+++$ E- W+++$ N o? K- w++! O M- V? PS PE+ Y- PGP++ t 5+ X++ R tv+ b+ DI? D+ G++ e h! r-++ y? --END GEEK CODE BLOCK-- ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list
Re: [Mono-dev] [Mono-patches] r68496 - in trunk/mcs/class/System.Web: System.Web.UI Test/System.Web.UI
On Mon, 2006-11-27 at 04:28 -0500, Igor Zalmanovich ([EMAIL PROTECTED]) wrote: Author: igorz Date: 2006-11-27 04:28:15 -0500 (Mon, 27 Nov 2006) New Revision: 68496 Modified: trunk/mcs/class/System.Web/System.Web.UI/ChangeLog trunk/mcs/class/System.Web/System.Web.UI/Control.cs trunk/mcs/class/System.Web/Test/System.Web.UI/ChangeLog trunk/mcs/class/System.Web/Test/System.Web.UI/ControlTest.cs Log: 2006-11-27 Igor Zelmanovich [EMAIL PROTECTED] * Control.cs: implemented OpenFile() The correct implementation of OpenFile have to use the current VirtualPathProvider. The patch you commited works for the general case, but if someone provides a special VirtualPathProvider, it won't work. Please, fix it. -Gonzalo ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list
Re: [Mono-dev] String class speed improvements (UPDATE)
Hello Joshua, Can't we get mcs to optimize loops like this rather than putting it in code? (Am I right in understanding this as eliminating 7/8ths of the addition operations?) It can be quite tricky to do in inside compiler and it would not be as effective as to do in JIT compiler. Unfortunately, I think our JIT compiler is nowhere near to be able efficiently unroll such loop. Regards, Marek ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list
Re: [Mono-dev] A group that doesn't works any more
Hi! Please provide the full query and the body of the error. Cheers! Michał Ziemski Marco Aurelio Castro napisał(a): Hi, In FireBird 1.5 I have a query with a group like this Group by ae.Author, l.Book, Price, case When op.StockChange in (23,24) Then 21 When op.StockChange in (43,44) Then 22 Else Mode end, DA It works in 1.5 but raises an error in 2.0. Any idea how to work around this? Thanks, Marco Castro ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list
[Mono-dev] Eclipse CDT
Hi all, I just had the opportunity to take a look at Eclipse CDT: an extension to develop C/C++ code... Well, it looks really great, and it has an integrated Debugger that makes it a real solution for Linux systems. In fact I've just seen it running under Ubuntu and goes great... (well, it was an small project btw, I wonder whether it would work with a bigger one). I'm aware of the great job Lluis is doing with Monodevelop but, wouldn't it be a good idea to have an extension for Eclipse? Wouldn't it be great for Mono being able to be an alternative platform for a very well known IDE?? Taking into account the importance Eclipse is getting as an alternative IDE to VStudio/Microsoft... I think it is worth a look... BTW (always the same question... :-P), how is the debugger going? pablo ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list
Re: [Mono-dev] Eclipse CDT
Hey! Actually Eclipse is already a nice platform/IDE to develop on Mono under Linux. There is several working C# plugins : Improve C# (the most complete imho but not opensource) : http://www.improve-technologies.com/alpha/esharp/ BlackSun : http://black-sun.sourcefore.net/ There is also another opensource C# plugin I can't remember of (starting with e something... someone may cite it?) which is more and more becoming a nice alternative to Improve C# plugin. There is also plugins for other .NET languages, for instance booclipse for the Boo language (really great language for the .NET CLR) : http://blogs.codehaus.org/people/bamboo/archives/001146_eclipseness.html And last but not least Eclipse can also run on top of Mono thanks to IKVM :) [haven't tried it so I don't know if is stable and if there is any advantage to do it though] Regards, 2006/11/27, pablosantosluac [EMAIL PROTECTED]: Hi all, I just had the opportunity to take a look at Eclipse CDT: an extension to develop C/C++ code... Well, it looks really great, and it has an integrated Debugger that makes it a real solution for Linux systems. In fact I've just seen it running under Ubuntu and goes great... (well, it was an small project btw, I wonder whether it would work with a bigger one). I'm aware of the great job Lluis is doing with Monodevelop but, wouldn't it be a good idea to have an extension for Eclipse? Wouldn't it be great for Mono being able to be an alternative platform for a very well known IDE?? Taking into account the importance Eclipse is getting as an alternative IDE to VStudio/Microsoft... I think it is worth a look... BTW (always the same question... :-P), how is the debugger going? pablo ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list
Re: [Mono-dev] Eclipse CDT
There is also another opensource C# plugin I can't remember of (starting with e something... someone may cite it?) which is more and more becoming a nice alternative to Improve C# plugin. Found it! Emonic : http://emonic.sourceforge.net/ From the project website :Emonic stands for Eclipse Mono Integration. Sounds like exactly what you were looking for ;-) It is still missing debugger feature though. ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list
[Mono-dev] Moma early results.
Hey folks, I have posted the 102 results that have been submitted so far from running Moma on people's binaries. The results have been cleaned up a little bit, I removed a few methods that were implemented and methods that had bogus MonoTODO entries, which were removed in the last couple of weeks since the original databases for Moma were created. The results are available here: http://primates.ximian.com/~miguel/tmp/results-moma.tar.gz It is worth noticing that in some cases, an API in the documentation is flagged as existing in 1.1 and 2.0, while the actual method was introduced in 2.0. This happens because in 1.1 you could still call the method, and the call would be satisfied by calling into the parent class of a method. For example Exception.GetType() is a method that calls into base.GetType(), it is flagged in the documentation as available in 1.1, but it did not actually exist back then. So to implement methods like this, the #if NET_2_0 must be used; The same happens extensively in Windows.Forms, when they had to override a few methods to catch some values (is my guess), they are documented as being in 1.1, but they were not. It is important thus to check the results of corcompare, see: http://mono.ximian.com/class-status/mono-HEAD-vs-fx-2/ and: http://mono.ximian.com/class-status/mono-HEAD-vs-fx-1-1/ Miguel ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list
Re: [Mono-dev] Moma early results.
Not sure if this has been fixed already or not, but if you look at the largest file in the archive, it has the same methods reported multiple times (100's of times?). Is there any point to that? Alan. On 11/27/06, Miguel de Icaza [EMAIL PROTECTED] wrote: Hey folks, I have posted the 102 results that have been submitted so far from running Moma on people's binaries. The results have been cleaned up a little bit, I removed a few methods that were implemented and methods that had bogus MonoTODO entries, which were removed in the last couple of weeks since the original databases for Moma were created. The results are available here: http://primates.ximian.com/~miguel/tmp/results-moma.tar.gz It is worth noticing that in some cases, an API in the documentation is flagged as existing in 1.1 and 2.0, while the actual method was introduced in 2.0. This happens because in 1.1 you could still call the method, and the call would be satisfied by calling into the parent class of a method. For example Exception.GetType() is a method that calls into base.GetType(), it is flagged in the documentation as available in 1.1, but it did not actually exist back then. So to implement methods like this, the #if NET_2_0 must be used; The same happens extensively in Windows.Forms, when they had to override a few methods to catch some values (is my guess), they are documented as being in 1.1, but they were not. It is important thus to check the results of corcompare, see: http://mono.ximian.com/class-status/mono-HEAD-vs-fx-2/ and: http://mono.ximian.com/class-status/mono-HEAD-vs-fx-1-1/ Miguel ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list
Re: [Mono-dev] Moma early results.
Usage frequency I suppose. If DataRowCollection.Count is listed 100 times for example, it doesn't mean the property is called 100 times at runtime, it actually means the user has typed it out 100 times in their code, and would need to replace/change/fix all 100 occurrences. It's probably more useful for the user's results report than the submitted report, but we can still use it to determine that implementing this one little property is going to alleviate 1000 calls across 10 apps instead of 10 calls over 10 apps. Jon Alan McGovern wrote: Not sure if this has been fixed already or not, but if you look at the largest file in the archive, it has the same methods reported multiple times (100's of times?). Is there any point to that? Alan. On 11/27/06, *Miguel de Icaza* [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] wrote: Hey folks, I have posted the 102 results that have been submitted so far from running Moma on people's binaries. The results have been cleaned up a little bit, I removed a few methods that were implemented and methods that had bogus MonoTODO entries, which were removed in the last couple of weeks since the original databases for Moma were created. The results are available here: http://primates.ximian.com/~miguel/tmp/results-moma.tar.gz http://primates.ximian.com/~miguel/tmp/results-moma.tar.gz It is worth noticing that in some cases, an API in the documentation is flagged as existing in 1.1 and 2.0, while the actual method was introduced in 2.0. This happens because in 1.1 you could still call the method, and the call would be satisfied by calling into the parent class of a method. For example Exception.GetType() is a method that calls into base.GetType(), it is flagged in the documentation as available in 1.1, but it did not actually exist back then. So to implement methods like this, the #if NET_2_0 must be used; The same happens extensively in Windows.Forms, when they had to override a few methods to catch some values (is my guess), they are documented as being in 1.1, but they were not. It is important thus to check the results of corcompare, see: http://mono.ximian.com/class-status/mono-HEAD-vs-fx-2/ http://mono.ximian.com/class-status/mono-HEAD-vs-fx-2/ and: http://mono.ximian.com/class-status/mono-HEAD-vs-fx-1-1/ Miguel ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com mailto:Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list http://lists.ximian.com/mailman/listinfo/mono-devel-list ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list
[Mono-dev] NUnit 2.2.9 Released
Download it at http://nunit.com/nunit/index.php?p=download This release is primarily a bug fix release with the same feature set as NUnit 2.2.4 through 2.2.8. Bug Fixes: * NUnit-2.2.8-net-2.0.msi updating wrong registry key * Need different shortcut names for the two versions of NUnit * Exceptions thrown after test run completes not handled * TestFixtureTearDown failures not reported correctly * Incorrect message for multiple TestFixtureSetUp methods * Command format under Linux not documented correctly * Category list not cleared when project is closed * StringAssert.Equals should be overridden * Incorrect time format in XML output * Incorrect error message when test assembly is on a share * Config level AppBase not used * Explicit attribute on class loaded by /fixture broken * Unintended change in XML output format * Strings with escaped backslashes not reported correctly * Unable to open VS2005 C++ files with attributes defaulted * GUI offers option of adding VS solution files but it fails * GUI flickering when running tests * CollectionAssert.Contains giving false positives * Tooltips cause crash on message 64K ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list
[Mono-dev] TDS 8.0 and SslClientStream
Hi, all I am working on TDS 8.0 network protocol for the SqlClient and facing with the problem of the handshaking implementation. The corresponding TDS packet consists of the TDS header and TDS body with the TLS handshake packet. So to parse server response we have to read entire TDS packet, analyze its type and, if necessary, extract TLS part and send it to the SslClientStream class. But this class uses asynchronous Stream.BeginRead/EndRead methods in the handshake procedure and it is impossible read data asynchronously from the internal buffer. I see two methods to resolve such a problem. 1) Rewrite handshake code of the SslClientStream/SslBaseStream in the synchronous manner. Another reason to do it is the following: SslStream class from .Net 2.0 uses synchronous methods to make handshake and as far as I understand Mono version of this class will be implemented on the basis of the Mono.Security. 2) Implement IAsyncResult interface in such a way that it will be possible to read data from memory buffer asynchronously. I suppose it can be done as the extension of the MemoryStream class. In any case the good knowledge of Mono.Security internals is required. So could some Mono guru help me to solve my problem? _ FREE pop-up blocking with the new MSN Toolbar - get it now! http://toolbar.msn.click-url.com/go/onm00200415ave/direct/01/ ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list