[Mono-bugs] [Bug 73181][Maj] New - Multithreaded Drawstring causes NullReference exception
bugzilla-daemon@bugzilla.ximian.com
bugzilla-daemon@bugzilla.ximian.com
Tue, 1 Mar 2005 18:25:15 -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 david.mitchell@telogis.com.
http://bugzilla.ximian.com/show_bug.cgi?id=73181
--- shadow/73181 2005-03-01 18:25:15.000000000 -0500
+++ shadow/73181.tmp.21881 2005-03-01 18:25:15.000000000 -0500
@@ -0,0 +1,57 @@
+Bug#: 73181
+Product: Mono: Class Libraries
+Version: 1.1
+OS: GNU/Linux [Other]
+OS Details:
+Status: NEW
+Resolution:
+Severity:
+Priority: Major
+Component: Sys.Drawing.
+AssignedTo: mono-bugs@ximian.com
+ReportedBy: david.mitchell@telogis.com
+QAContact: mono-bugs@ximian.com
+TargetMilestone: ---
+URL:
+Cc:
+Summary: Multithreaded Drawstring causes NullReference exception
+
+Description of Problem:
+When several threads simultaneously attempt to use drawstring (on different
+bitmaps) there is often a NullReference exceptions. Running this through
+gdb it is often a segfault occuring in the 'MeasureOrDrawString' function,
+here is a backtrace:
+
+#0 _cairo_gstate_set_font (gstate=0x8343838, font=0x17) at cairo_gstate.c:2380
+#1 0xb7564bb8 in cairo_set_font (cr=0x82cf940, font=0x1) at cairo.c:879
+#2 0xb753ae68 in MeasureOrDrawString (graphics=0x8330cc0,
+ stringUnicode=0x8269f84, length=11, font=0x8330ba8, rc=0xb78052f4,
+ format=0x0, brush=0x8343710, boundingBox=0x0, codepointsFitted=0x0,
+ linesFilled=0x0, draw=1) at graphics.c:1758
+#3 0xb753c8be in GdipDrawString (graphics=0x1, stringUnicode=0x1,
+ length=-1220505088, font=0x1, rc=0x1, fmt=0x1, brush=0x1)
+ at graphics.c:2443
+#4 0xb7b0fe9f in ?? ()
+#5 0x08330cc0 in ?? ()
+#6 0x08269f84 in ?? ()
+#7 0x0000000b in ?? ()
+
+
+
+Steps to reproduce the problem:
+1. Compile the attached program with mcs -r System.Drawing charter.cs
+2. Run charter like so: charter.exe 10
+3. Run it several times
+
+Actual Results:
+Sometimes it throws one or more NullReference exceptions, sometimes after
+these exceptions it doesn't exit
+
+Expected Results:
+Runs to completion and exits without any output
+
+How often does this happen?
+Frequently, but not every time.
+
+Additional Information:
+Sample attached