[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