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 [EMAIL PROTECTED] http://bugzilla.ximian.com/show_bug.cgi?id=79864 --- shadow/79864 2006-11-07 19:17:50.000000000 -0500 +++ shadow/79864.tmp.24774 2006-11-07 19:17:50.000000000 -0500 @@ -0,0 +1,53 @@ +Bug#: 79864 +Product: Mono: Runtime +Version: 1.1 +OS: +OS Details: +Status: NEW +Resolution: +Severity: +Priority: Wishlist +Component: misc +AssignedTo: [EMAIL PROTECTED] +ReportedBy: [EMAIL PROTECTED] +QAContact: [EMAIL PROTECTED] +TargetMilestone: --- +URL: +Cc: +Summary: Mono consumes 100% CPU on raising events on Solaris + +This is may be related to the other solaris bug I have filed (79852). + +After our program does some memory intensive operation on Solaris e.g. +loading a big XML document, when we raise events from a class, the CPU gets +pegged at 100% for > 5 minutes before that event is raised. For example, in +the example below, we see "before raise" and 5 minutes later we see "event +received". This simple example works - but the same sample code in a big +application breaks down as I have described above. Since I do not have mdb +for Solaris, I tried using gdb - but I could not make head or tail out of +it. If I single step in gdb, it seems to be continuously executing "wapi" +code consuming 100% CPU. + +class foo { + public event EventHandler MyEvent; + public void FireEvent { + if (MyEvent != null) { + Console.WriteLine("before raise"); + MyEvent(this, EventArgs.Empty); + Console.WriteLine("after raise"); + } + } +} + +class Receiver { + public void mmm { + foo x = new foo(); + x.MyEvent += new ....... MyEventHandler; + x.FireEvent(); + } + + public void MyEventHandler(object sender, EventArgs e) + { + Console.WriteLine("event received"); + } +} _______________________________________________ mono-bugs maillist - [email protected] http://lists.ximian.com/mailman/listinfo/mono-bugs
