[Mono-bugs] [Bug 54262][Blo] Changed - Key generation cause 100% CPU use

bugzilla-daemon@bugzilla.ximian.com bugzilla-daemon@bugzilla.ximian.com
Thu, 12 Feb 2004 11:29:12 -0500 (EST)


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@ximian.com.

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

--- shadow/54262	2004-02-12 07:04:26.000000000 -0500
+++ shadow/54262.tmp.3633	2004-02-12 11:29:12.000000000 -0500
@@ -1,22 +1,22 @@
 Bug#: 54262
 Product: Mono/Class Libraries
 Version: unspecified
-OS: 
+OS: unknown
 OS Details: Windows XP Professional SP1
 Status: NEW   
 Resolution: 
-Severity: 
+Severity: Unknown
 Priority: Blocker
 Component: CORLIB
 AssignedTo: mono-bugs@ximian.com                            
 ReportedBy: sebastien.lambla@cubiks.com               
 QAContact: mono-bugs@ximian.com
 TargetMilestone: ---
 URL: 
-Cc: 
+Cc: bmaurer@users.sf.net,sebastien@ximian.com
 Summary: Key generation cause 100% CPU use
 
 Please fill in this template when reporting a bug, unless you know what you
 are doing.
 Description of Problem:
 On latest CVS, generating a 1544bits key using the Mono.Security.RSAManaged
@@ -39,6 +39,119 @@
 How often does this happen? 
 All the time
 
 Additional Information:
 Not tested in a mono only environment, or using the mono
 RSACryptoServiceProvider.
+
+------- Additional Comments From sebastien@ximian.com  2004-02-12 11:29 -------
+For some strange reason generating key pairs for ((n * 64) + 8) takes
+MUCH more time than for other length.
+
+Example (run 1):
+(note: dont trust the first time, for 384, as it was waiting on a
+breakpoint)
+
+Key Length: 384 Time: 00:00:12.6406250
+Key Length: 392 Time: 00:00:01.9375000
+Key Length: 400 Time: 00:00:00.7656250
+Key Length: 408 Time: 00:00:00.6406250
+Key Length: 416 Time: 00:00:00.3906250
+Key Length: 424 Time: 00:00:00.4687500
+Key Length: 432 Time: 00:00:00.2187500
+Key Length: 440 Time: 00:00:00.2812500
+Key Length: 448 Time: 00:00:00.2031250
+Key Length: 456 Time: 00:00:13.4687500
+Key Length: 464 Time: 00:00:02.6406250
+Key Length: 472 Time: 00:00:00.4531250
+Key Length: 480 Time: 00:00:00.3593750
+Key Length: 488 Time: 00:00:00.2968750
+Key Length: 496 Time: 00:00:00.2500000
+Key Length: 504 Time: 00:00:00.2187500
+Key Length: 512 Time: 00:00:00.2500000
+Key Length: 520 Time: 00:00:05.7187500
+Key Length: 528 Time: 00:00:00.8593750
+Key Length: 536 Time: 00:00:00.2500000
+Key Length: 544 Time: 00:00:00.2187500
+Key Length: 552 Time: 00:00:00.2500000
+Key Length: 560 Time: 00:00:00.2656250
+Key Length: 568 Time: 00:00:00.2343750
+Key Length: 576 Time: 00:00:00.2656250
+Key Length: 584 Time: 00:00:21.2187500
+Key Length: 592 Time: 00:00:01.2343750
+Key Length: 600 Time: 00:00:00.1718750
+Key Length: 608 Time: 00:00:00.2656250
+Key Length: 616 Time: 00:00:00.2343750
+Key Length: 624 Time: 00:00:00.2500000
+Key Length: 632 Time: 00:00:00.2343750
+Key Length: 640 Time: 00:00:00.2187500
+Key Length: 648 Time: 00:02:24.6875000
+Key Length: 656 Time: 00:00:04.9687500
+Key Length: 664 Time: 00:00:00.5781250
+Key Length: 672 Time: 00:00:00.4062500
+Key Length: 680 Time: 00:00:00.3281250
+Key Length: 688 Time: 00:00:00.2187500
+Key Length: 696 Time: 00:00:00.2187500
+Key Length: 704 Time: 00:00:00.2187500
+Key Length: 712 Time: 00:18:26.7812500
+Key Length: 720 Time: 00:00:06.2656250
+Key Length: 728 Time: 00:00:03.9375000
+Key Length: 736 Time: 00:00:04.2187500
+Key Length: 744 Time: 00:00:04.3593750
+Key Length: 752 Time: 00:00:04.2187500
+Key Length: 760 Time: 00:00:00.1875000
+Key Length: 768 Time: 00:00:00.2187500
+
+This happens at the same ((n * 64) + 8) each time the test is run.
+n = 6 (smallest accepted), 392
+n = 7, 456
+n = 8, 520
+up to
+n = 24, 1544 (reported bug)
+
+and probably all the way to the maximum n = 255, 16328 - but that
+would be too long to test (as 16384 takes about 24 hours to generate
+so 16328 would probably takes years).
+
+Example (test run 2)
+Key Length: 384 Time: 00:00:00.3906250
+Key Length: 392 Time: 00:00:04.7343750
+Key Length: 400 Time: 00:00:00.0312500
+Key Length: 408 Time: 00:00:00.0468750
+Key Length: 416 Time: 00:00:00.0625000
+Key Length: 424 Time: 00:00:00.0156250
+Key Length: 432 Time: 00:00:00.0468750
+Key Length: 440 Time: 00:00:00.0312500
+Key Length: 448 Time: 00:00:00.0156250
+Key Length: 456 Time: 00:00:09.0781250
+Key Length: 464 Time: 00:00:00.0468750
+Key Length: 472 Time: 00:00:00.0781250
+Key Length: 480 Time: 00:00:00.0156250
+Key Length: 488 Time: 00:00:00.0312500
+Key Length: 496 Time: 00:00:00.0156250
+Key Length: 504 Time: 00:00:00.0156250
+Key Length: 512 Time: 00:00:00.0468750
+Key Length: 520 Time: 00:00:07.6093750
+Key Length: 528 Time: 00:00:00.0781250
+Key Length: 536 Time: 00:00:00.0468750
+Key Length: 544 Time: 00:00:00.0937500
+Key Length: 552 Time: 00:00:00.0937500
+Key Length: 560 Time: 00:00:00
+Key Length: 568 Time: 00:00:00.0625000
+Key Length: 576 Time: 00:00:00.0312500
+Key Length: 584 Time: 00:00:10.4843750
+Key Length: 592 Time: 00:00:00.0312500
+Key Length: 600 Time: 00:00:00.0156250
+Key Length: 608 Time: 00:00:00.0625000
+Key Length: 616 Time: 00:00:00.0937500
+Key Length: 624 Time: 00:00:00.0156250
+Key Length: 632 Time: 00:00:00.0468750
+Key Length: 640 Time: 00:00:00.0937500
+Key Length: 648 Time: 00:03:18.6875000
+Key Length: 656 Time: 00:00:00.0625000
+Key Length: 664 Time: 00:00:00.0468750
+Key Length: 672 Time: 00:00:00.0156250
+Key Length: 680 Time: 00:00:00.2656250
+Key Length: 688 Time: 00:00:00.0625000
+Key Length: 696 Time: 00:00:00.0625000
+Key Length: 704 Time: 00:00:00.1875000
+