[Mono-bugs] [Bug 79653][Nor] Changed - System.Security.Cryptography.CryptoConfig:LoadConfig reads config in one big blob

bugzilla-daemon at bugzilla.ximian.com bugzilla-daemon at bugzilla.ximian.com
Thu Oct 12 19:17:37 EDT 2006


Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.

Changed by sebastien at ximian.com.

http://bugzilla.ximian.com/show_bug.cgi?id=79653

--- shadow/79653	2006-10-12 18:37:54.000000000 -0400
+++ shadow/79653.tmp.12785	2006-10-12 19:17:37.000000000 -0400
@@ -1,12 +1,12 @@
 Bug#: 79653
 Product: Mono: Class Libraries
 Version: 1.1
 OS: unknown
 OS Details: 
-Status: NEW   
+Status: NEEDINFO   
 Resolution: 
 Severity: Unknown
 Priority: Normal
 Component: CORLIB
 AssignedTo: sebastien at ximian.com                            
 ReportedBy: joeshaw at novell.com               
@@ -64,6 +64,86 @@
 ------- Additional Comments From sebastien at ximian.com  2006-10-12 18:08 -------
 Reading the config file should occur only once, well per appdomain.
 Are you using multiple appdomain ? 4 by any chance ?
 
 ------- Additional Comments From joeshaw at novell.com  2006-10-12 18:37 -------
 Nope, only one.
+
+------- Additional Comments From sebastien at ximian.com  2006-10-12 19:17 -------
+I can't duplicate the multiple load in a single appdomain. Could the 4
+times occurs only for the last part of the bracktrace ? (e.g.
+InternalEnsureCapacity and Append ?)
+
+using System;
+using System.Security.Cryptography;
+
+class Program {
+
+        static void Main (string[] args)
+        {
+                int count = args.Length > 0 ? Int32.Parse (args [0]) : 1;
+                for (int i=0; i < count; i++) {
+                        MD5 hash = MD5.Create ();
+                        Console.WriteLine (BitConverter.ToString
+(hash.ComputeHash (new byte[0])));
+                }
+        }
+}
+
+mono --trace=T:System.Security.Cryptography.CryptoConfig 79653.exe 4
+
+ENTER: System.Security.Cryptography.CryptoConfig:.cctor ()()
+LEAVE: System.Security.Cryptography.CryptoConfig:.cctor ()
+ENTER: System.Security.Cryptography.CryptoConfig:CreateFromName
+(string)([STRING:0x47f50:System.Security.Cryptography.MD5], )
+. ENTER: System.Security.Cryptography.CryptoConfig:CreateFromName
+(string,object[])([STRING:0x47f50:System.Security.Cryptography.MD5],
+(nil), )
+. . ENTER: System.Security.Cryptography.CryptoConfig:Initialize ()()
+. . . ENTER: System.Security.Cryptography.CryptoConfig:LoadConfig
+(string,System.Collections.Hashtable,System.Collections.Hashtable)([STRING:0x4b240:/usr/local/etc/mono/1.0/machine.config],
+[System.Collections.Hashtable:0x41f00],
+[System.Collections.Hashtable:0x41ed0], )
+. . . LEAVE: System.Security.Cryptography.CryptoConfig:LoadConfig
+(string,System.Collections.Hashtable,System.Collections.Hashtable)
+. . LEAVE: System.Security.Cryptography.CryptoConfig:Initialize ()
+. LEAVE: System.Security.Cryptography.CryptoConfig:CreateFromName
+(string,object[])[System.Security.Cryptography.MD5CryptoServiceProvider:0x41d80]
+LEAVE: System.Security.Cryptography.CryptoConfig:CreateFromName
+(string)[System.Security.Cryptography.MD5CryptoServiceProvider:0x41d80]
+D4-1D-8C-D9-8F-00-B2-04-E9-80-09-98-EC-F8-42-7E
+ENTER: System.Security.Cryptography.CryptoConfig:CreateFromName
+(string)([STRING:0x47f50:System.Security.Cryptography.MD5], )
+. ENTER: System.Security.Cryptography.CryptoConfig:CreateFromName
+(string,object[])([STRING:0x47f50:System.Security.Cryptography.MD5],
+(nil), )
+. LEAVE: System.Security.Cryptography.CryptoConfig:CreateFromName
+(string,object[])[System.Security.Cryptography.MD5CryptoServiceProvider:0x41d50]
+LEAVE: System.Security.Cryptography.CryptoConfig:CreateFromName
+(string)[System.Security.Cryptography.MD5CryptoServiceProvider:0x41d50]
+D4-1D-8C-D9-8F-00-B2-04-E9-80-09-98-EC-F8-42-7E
+ENTER: System.Security.Cryptography.CryptoConfig:CreateFromName
+(string)([STRING:0x47f50:System.Security.Cryptography.MD5], )
+. ENTER: System.Security.Cryptography.CryptoConfig:CreateFromName
+(string,object[])([STRING:0x47f50:System.Security.Cryptography.MD5],
+(nil), )
+. LEAVE: System.Security.Cryptography.CryptoConfig:CreateFromName
+(string,object[])[System.Security.Cryptography.MD5CryptoServiceProvider:0x41d20]
+LEAVE: System.Security.Cryptography.CryptoConfig:CreateFromName
+(string)[System.Security.Cryptography.MD5CryptoServiceProvider:0x41d20]
+D4-1D-8C-D9-8F-00-B2-04-E9-80-09-98-EC-F8-42-7E
+ENTER: System.Security.Cryptography.CryptoConfig:CreateFromName
+(string)([STRING:0x47f50:System.Security.Cryptography.MD5], )
+. ENTER: System.Security.Cryptography.CryptoConfig:CreateFromName
+(string,object[])([STRING:0x47f50:System.Security.Cryptography.MD5],
+(nil), )
+. LEAVE: System.Security.Cryptography.CryptoConfig:CreateFromName
+(string,object[])[System.Security.Cryptography.MD5CryptoServiceProvider:0x41cf0]
+LEAVE: System.Security.Cryptography.CryptoConfig:CreateFromName
+(string)[System.Security.Cryptography.MD5CryptoServiceProvider:0x41cf0]
+D4-1D-8C-D9-8F-00-B2-04-E9-80-09-98-EC-F8-42-7E
+
+I don't have heap-buddy installed but I'm curious what results would
+this sample code produce :-)
+
+In the mean time I'll update the code to use the newer small-XML
+parser (and a TextReader) and see the changes in mono allocation profiler.


More information about the mono-bugs mailing list