[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