Re: [Mono-dev] WAPI Handle Leaks

2006-10-06 Thread Hubert FONGARNAND




Le vendredi 06 octobre 2006  10:08 +0200, Hubert FONGARNAND a crit:

Le jeudi 05 octobre 2006  16:25 -0600, Patrick Earl a crit: 


I'm curious, is anyone out there doing much work in tracking down the 
wapi handle leak problems?  Our XSP server dies on a daily basis because 
it's always running out of thread handles.  Using 1.1.17.1 or the latest 
SVN version (r66235), the problem is there.

I suspect there are problems with threads created internally (for 
example, as part of the thread pool) that aren't cleaned up by the 
garbage collector.  I would be happy to help test, but solving the 
problem seems that it would require fairly in depth knowledge of the io 
layer, garbage collection, wapi handle usage, and such.

Patrick Earl
___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list



I experienced the same problem as you...
I run mod-mono-server on my productions server, with very big applications (more than 100 aspx pages). I see that threads handles are always growing... (even when there's no request to the server!!!)
I've sent graphs to Gonzalo to show my problem but i've no answer...


Here's a 1 day graph showing the problem

http://hfongarnand.free.fr/chart/wapi1.png

I call the command mono --wapi=hps | wc -l 
each 30 second to build this graph!



I will put my graphs on the internet to show everybody the problem! ___
Ce message et les ventuels documents joints peuvent contenir des informations confidentielles.
Au cas oC il ne vous serait pas destin, nous vous remercions de bien vouloir le supprimer et en aviser immLes communications sur internet n'tant pas sscurises, l'intngrit de ce message n'est pas assur0e et la socit, mettrice ne peut rtre 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


___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] Jit and C# Compiler

2006-10-06 Thread Paolo Molaro
On 10/05/06 Khaled A. K. Mohammed wrote:
 I am briefly describing the project below. 
 The project will aim to improve the execution of CIL image on multicore
 processors. First step is to change the C# compiler to insert custom
 instructions into the managed binary (just like how the line #s are
 stored). These instructions will be parsed by JIT to pick valuable

You may want to handle this at the IL code level, so that other
languages than C# can be supported. You'd use Cecil or some other such
library to load the compiled assembly, change the IL code and save it
back.
Depending on what you really want to do to the code, in most cases it
might be enough to just change method calls to go through a runtime
library you can write in C# that will dispatch the call to a pool of
threads (obviously only for a selected subset of calls).


lupus

-- 
-
[EMAIL PROTECTED] debian/rules
[EMAIL PROTECTED] Monkeys do it better
___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Where do I start off??

2006-10-06 Thread Paolo Molaro
On 10/05/06 Rafael Ferreira wrote:
  Well I want to work ON Mono and  (not *with*) Mono,sorry for all the 
  troubles again.I have around 3 months experience working on C# and 
  ASP.Net.So http://ASP.Net.So where do i start developing??
[...]
 You should start here:
 http://mono-project.com/Contributing

It's worth noting that if people looked at microsoft's code using
ildasm, reflector or other means, they can't contribute to mono.
So keep this in mind before investing time in writing code we can't
accept (don't consider this relating to people participating in this
thread, it's just something worth repeating once in a while:-).

lupus

-- 
-
[EMAIL PROTECTED] debian/rules
[EMAIL PROTECTED] Monkeys do it better
___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] [PATCH] DataTable.WriteXml

2006-10-06 Thread Nagappan
Hi Patrick,
The patch looks fine, but it doesn't apply with the latest SVN. Can you
make a new patch and send it across.

Thanks
Nagappan

Patrick Earl wrote:
 I've implemented the WriteXml method for System.Data.DataTable. Since
 writing a table is similar to writing a DataSet, it leverages many of
 the methods used to write DataSets. Included with the patch are a
 successful unit test for the new WriteXml functionality and a failing
 unit test for ReadXml, which has not yet been implemented. The patch
 caused no regressions in the System.Data net_2_0 test suite.

 The patch applies against the mcs/class/System.Data folder in the
 latest SVN revision (66162 as of this message).

 This is my first substantial contribution, so I'm happy to get
 feedback on it. Thanks.

 Patrick Earl
 

 Index: Test/System.Data/ChangeLog
 ===
 --- Test/System.Data/ChangeLog(revision 66162)
 +++ Test/System.Data/ChangeLog(working copy)
 @@ -1,3 +1,9 @@
 +2006-09-28  Patrick Earl [EMAIL PROTECTED]
 +
 + * DataTableReadWriteXml.cs: Added new tests for the DataTable's
 + ReadXml and WriteXml methods.  These tests assume proper
 + functioning of the DataSet ReadXml and WriteXml methods.
 +
  2006-09-18   Boris Kirzner [EMAIL PROTECTED]
  
   * DataViewTest.cs : fix compilation error.
 Index: Test/System.Data/DataTableReadWriteXmlTest.cs
 ===
 --- Test/System.Data/DataTableReadWriteXmlTest.cs (revision 0)
 +++ Test/System.Data/DataTableReadWriteXmlTest.cs (revision 0)
 @@ -0,0 +1,373 @@
 +// Author:
 +//   Patrick Earl [EMAIL PROTECTED]
 +//
 +// Copyright (c) 2006
 +//
 +// Permission is hereby granted, free of charge, to any person obtaining
 +// a copy of this software and associated documentation files (the
 +// Software), to deal in the Software without restriction, including
 +// without limitation the rights to use, copy, modify, merge, publish,
 +// distribute, sublicense, and/or sell copies of the Software, and to
 +// permit persons to whom the Software is furnished to do so, subject to
 +// the following conditions:
 +//
 +// The above copyright notice and this permission notice shall be
 +// included in all copies or substantial portions of the Software.
 +//
 +// THE SOFTWARE IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND,
 +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
 +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
 +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
 +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
 +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 +//
 +
 +#if NET_2_0
 +using System;
 +using System.Data;
 +using System.IO;
 +using System.Text.RegularExpressions;
 +using System.Xml;
 +using NUnit.Framework; 
 +
 +namespace MonoTests.System.Data
 +{
 +[TestFixture]
 +public class DataTableReadWriteXmlTest
 +{
 +void StandardizeXmlFormat(ref string xml)
 +{
 +XmlDocument doc = new XmlDocument();
 +doc.LoadXml(xml);
 +StringWriter sw = new StringWriter();
 +doc.Save(sw);
 +xml = sw.ToString();
 +}
 +
 +void GenerateTestData(out DataSet ds,
 +  out DataTable dtMainInDS,
 +  out DataTable dtChildInDS,
 +  out DataTable dtMain)
 +{
 +ds = new DataSet(MyDataSet);
 +
 +// Create a primary table and populate it with some data.  Make a
 +// copy of the primary table and put it into the dataset.
 +dtMain = new DataTable(Main);
 +dtMain.Columns.Add(new DataColumn(ID, typeof(int)));
 +dtMain.Columns.Add(new DataColumn(Data, typeof(string)));
 +
 +DataRow row = dtMain.NewRow();
 +row[ID] = 1;
 +row[Data] = One;
 +dtMain.Rows.Add(row);
 +
 +row = dtMain.NewRow();
 +row[ID] = 2;
 +row[Data] = Two;
 +dtMain.Rows.Add(row);
 +
 +row = dtMain.NewRow();
 +row[ID] = 3;
 +row[Data] = Three;
 +dtMain.Rows.Add(row);
 +
 +dtMainInDS = dtMain.Copy();
 +ds.Tables.Add(dtMainInDS);
 +
 +// Create a child table.  Make a copy of the child table and put
 +// it into the dataset.
 +dtChildInDS = new DataTable(Child);
 +dtChildInDS.Columns.Add(new DataColumn(ID, typeof(int)));
 +dtChildInDS.Columns.Add(new DataColumn(PID, typeof(int)));
 +

Re: [Mono-dev] Mono 1.2 or 1.somethingelse?

2006-10-06 Thread Sharique uddin Ahmed Farooqui
I thinks 1.2 is ok.I calling it 2.0 would confuse the issue with .net 2.0 support.-- Sharique uddin Ahmed Farooqui(C++/C# Developer, IT Consultant)http://www.sharique.managefolio.com/
A revolution is about to begin.A world is about to change.And you and me are the initiator.
On 10/4/06, Andrés G. Aragoneses [ knocte ] [EMAIL PROTECTED] wrote:
Michael Schurter escribió: Miguel de Icaza wrote: I would even go as far as saying that we could feel confident that this could be called Mono 2.0, but 2.0 would have the unfortunate
 effect of confusing people regarding our .net 2.0 support. Agreed!I also agree. So am thinking that maybe we could call this Mono 1.5, or if we plan on keeping the even/odd release numbers from the kernel that we
 could call this Mono 1.6 or 1.8 Opinions? 1.2 seems fine to me.I don't think people really care as long as new release number  old release number.Skipping version numbers may make
 developers feel better, but it leaves users scratching their heads about where 1.2-1.4 went. Also, 1.5 could be interpreted to mean halfway to .NET 2.0, which is in no way accurate.
I agree with Michael. BTW, can we measure approximately, in apercentage, the current implementation of the 2.0 profile?Regards,Andrés[ knocte ]--___
Mono-devel-list mailing listMono-devel-list@lists.ximian.comhttp://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] System.dll few patches for review

2006-10-06 Thread Andreas Nahr
Care to explain why? I'm aware that Invariant will be (invariant-culture) 
sensitive, however it IMHO would fix the bug.
I also agree that using String.Compare with OrdinalIgnoreCase would be the 
best option, however unfortunatelly that is .Net 2.0 only.

String.CompareOrdinal() is obviously obviously a no-go because it would be 
case-sensitive and as I already wrote CompareOptions are 2.0 only.

Happy hacking
Andreas

P.S.
If I'd design a new .Net Framework the first thing would be to create two 
Classes: (System)String and LanguageString.


 You are still wrong :-) InvariantCulture still causes culture
 sensitive comparison.

 Use String.CompareOrdinal() or CompareOptions.Ordinal instead.

 Atsushi Eno

 Andreas Nahr wrote:
 Sorry if this is already handled, just looked over the list and found 
 this
 bug:

 Index: System.Net/DigestClient.cs
 ===
 --- System.Net/DigestClient.cs (revision 66034)
 +++ System.Net/DigestClient.cs (working copy)
 @@ -248,9 +248,9 @@
  return false;
  }

 - // build the hash object (only MD5 is defined in RFC2617)
 - if ((parser.Algorithm == null) || (parser.Algorithm.ToUpper
 ().StartsWith (MD5)))
 - hash = HashAlgorithm.Create (MD5);
 + // build the hash object (only MD5 is defined in RFC2617)
 + if ((parser.Algorithm == null) || (parser.Algorithm.ToUpper
 ().StartsWith (MD5)))
 + hash = MD5.Create ();

  return true;
  }

 Algorithm.ToUpper ().StartsWith (MD5))) is most likely wrong because 
 the
 code is doing a culture-sensitive uppercasing.
 You should use something like ToUpperInvariant or pass the Invariant 
 Culture
 (or better if possible: one of the case-insensitive compares)

 I didn't look into the relevant classes, but there may be more similar
 occurences of that problem.

 mfg
 Andreas

 ___
 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-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] System.dll few patches for review

2006-10-06 Thread Atsushi Eno
Because there are characters that are ignored even in invariant comparison.

Well, I agree that instead was not proper here. It should be 
additionally.

Atsushi Eno

Andreas Nahr wrote:
 Care to explain why? I'm aware that Invariant will be 
 (invariant-culture) sensitive, however it IMHO would fix the bug.
 I also agree that using String.Compare with OrdinalIgnoreCase would be 
 the best option, however unfortunatelly that is .Net 2.0 only.
 
 String.CompareOrdinal() is obviously obviously a no-go because it would 
 be case-sensitive and as I already wrote CompareOptions are 2.0 only.
 
 Happy hacking
 Andreas
 
 P.S.
 If I'd design a new .Net Framework the first thing would be to create 
 two Classes: (System)String and LanguageString.
 
 
 You are still wrong :-) InvariantCulture still causes culture
 sensitive comparison.

 Use String.CompareOrdinal() or CompareOptions.Ordinal instead.

 Atsushi Eno

 Andreas Nahr wrote:
 Sorry if this is already handled, just looked over the list and found 
 this
 bug:

 Index: System.Net/DigestClient.cs
 ===
 --- System.Net/DigestClient.cs (revision 66034)
 +++ System.Net/DigestClient.cs (working copy)
 @@ -248,9 +248,9 @@
  return false;
  }

 - // build the hash object (only MD5 is defined in RFC2617)
 - if ((parser.Algorithm == null) || (parser.Algorithm.ToUpper
 ().StartsWith (MD5)))
 - hash = HashAlgorithm.Create (MD5);
 + // build the hash object (only MD5 is defined in RFC2617)
 + if ((parser.Algorithm == null) || (parser.Algorithm.ToUpper
 ().StartsWith (MD5)))
 + hash = MD5.Create ();

  return true;
  }

 Algorithm.ToUpper ().StartsWith (MD5))) is most likely wrong 
 because the
 code is doing a culture-sensitive uppercasing.
 You should use something like ToUpperInvariant or pass the Invariant 
 Culture
 (or better if possible: one of the case-insensitive compares)

 I didn't look into the relevant classes, but there may be more similar
 occurences of that problem.

 mfg
 Andreas

 ___
 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-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] nant console output doubled since corlib update

2006-10-06 Thread Michael Schurter
Gonzalo Paniagua Javier wrote:
 On Thu, 2006-10-05 at 15:50 -0500, Michael Schurter wrote:
 snip
 Now all of the console output from nant 0.85rc4 is doubled (prints 
 twice).  A simple HelloWorld program's output works as expected, so it 
 might be a problem with nant.
 snip
 
 There's a patch for nant to fix the double output issue.
 
 -Gonzalo

I've discussed this with Gonzalo and Gert off list, so to keep everyone 
informed I'll wrap up this thread:

   * Bug is a nant 0.85rc4 issue (I'll stop cluttering this list!)

   * Patch is in nant's cvs head, and Gert should be posting a new
 nightly binary soon.

   * You can workaround this issue by redirecting nant's output to a
 file using nant build  output.log or a similar command.

-- 
Michael Schurter
Synthesys Solutions
___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] WAPI Handle Leaks

2006-10-06 Thread Miguel de Icaza
Hello,

 I experienced the same problem as you...
 I run mod-mono-server on my productions server, with very big
 applications (more than 100 aspx pages). I see that threads handles
 are always growing... (even when there's no request to the server!!!)
 I've sent graphs to Gonzalo to show my problem but i've no answer...
 
 I will put my graphs on the internet to show everybody the problem! 

I do not think this is a bug that Gonzalo can fix, this seems like an
io-layer problem.

You might want to include the output of mono --wapi=hps in a bug report.

Miguel.
___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list