[Mono-bugs] [Bug 45321][Blo] Changed - WARNING **: : unref on 22 called when ref was already 0

bugzilla-daemon@rocky.ximian.com bugzilla-daemon@rocky.ximian.com
Tue, 24 Jun 2003 12:13:36 -0400 (EDT)


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 bmaurer@users.sf.net.

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

--- shadow/45321	Tue Jun 24 01:16:49 2003
+++ shadow/45321.tmp.31286	Tue Jun 24 12:13:36 2003
@@ -10,13 +10,12 @@
 Component: misc
 AssignedTo: mono-bugs@ximian.com                            
 ReportedBy: jluke@cfl.rr.com               
 QAContact: mono-bugs@ximian.com
 TargetMilestone: ---
 URL: 
-Cc: 
 Summary: WARNING **: : unref on 22 called when ref was already 0
 
 Please fill in this template when reporting a bug, unless you know what you
 are doing.
 Description of Problem:
 
@@ -47,6 +46,51 @@
 Marking as blocker, we can't very well release with this, it would be
 embarassing.
 
 ------- Additional Comments From miguel@ximian.com  2003-06-24 01:16 -------
 Confirmed;  I also get this error with current CVS;  It did not appear
 with two weeks ago before I went to Guadec in Ireland.  
+
+------- Additional Comments From bmaurer@users.sf.net  2003-06-24 12:13 -------
+Ok, i have a simpler test case:
+The StringReader part is *not* triggering the bug, but reading from a
+file is.
+
+using System;
+using System.Xml;
+using System.IO;
+
+class T {
+
+	public static void FromStringReader ()
+	{
+		StringReader s = new StringReader (
+			@"<?xml version='1.0'?>
+			<a>
+			<b />
+			</a>");
+		
+		XmlTextReader r = new XmlTextReader (s);  
+		while (r.Read ());
+	}
+	
+	public static void FromFile ()
+	{
+		XmlTextReader r = new XmlTextReader ("file.xml");  
+		while (r.Read ());
+	}
+	
+	public static void Main ()
+	{
+		Console.WriteLine ("Both tests should give no warnings");
+		Console.WriteLine ("Beginning tests that reads from file");
+		for (int i = 0; i < 50; i++) {
+			FromFile ();
+		}
+		Console.WriteLine ("Beginning tests that reads from StringReader");
+		for (int i = 0; i < 50; i++) {
+			FromStringReader ();
+		}
+		Console.WriteLine ("Done");
+	}
+}
+