[Mono-bugs] [Bug 81093][Wis] Changed - X11 Error while running tests.

bugzilla-daemon at bugzilla.ximian.com bugzilla-daemon at bugzilla.ximian.com
Mon Mar 19 10:02:07 EDT 2007


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=81093

--- shadow/81093	2007-03-18 22:43:06.000000000 -0500
+++ shadow/81093.tmp.29230	2007-03-19 09:02:07.000000000 -0500
@@ -297,6 +297,31 @@
 80
 
 
 ------- Additional Comments From toshok at ximian.com  2007-03-18 19:12 -------
 adding sebastien to the CC.  any way you can think of to track down
 why/where this might be happening?
+
+------- Additional Comments From sebastien at ximian.com  2007-03-19 09:02 -------
+Failures in finalizers are time-consuming to find :(
+
+Best way I found to track them is to do a binary search of the test like:
+- run the unit test per namespace (/fixture=)
+- from the namespace where the problem occurs
+  - run the test fixture individually (/fixture=)
+    - from the fixture where the problem occurs
+      - comment half the tests
+        - ...
+
+Once you get very close (test) or close enough (text fixture) you can
+use --trace (*) to see every [Gp]Graphics pointer allocated and freed.
+Then track the one which wasn't released.
+
+(*) or add some printf to libgdiplus (or C.WL to SD)
+
+It sounds harder than it really is, but it's still time-consuming.
+
+To avoid (some of) that I started using "using" or explicit Dispose in
+newer tests so any crash occurs in the "right" test (but that doesn't
+help for existing tests). Also adding a CG.Collect in the [TearDown]
+or [TestFixtureTearDown] may also help (didn't try that one). 
+Good luck!


More information about the mono-bugs mailing list