[Mono-bugs] [Bug 677260] New: SIGSEGV while running System.Drawing code
bugzilla_noreply at novell.com
bugzilla_noreply at novell.com
Sun Mar 6 16:40:05 EST 2011
https://bugzilla.novell.com/show_bug.cgi?id=677260
https://bugzilla.novell.com/show_bug.cgi?id=677260#c0
Summary: SIGSEGV while running System.Drawing code
Classification: Mono
Product: Mono: Class Libraries
Version: 2.8.x
Platform: Macintosh
URL: http://www.ezblueprint.com
OS/Version: Mac OS X 10.6
Status: NEW
Severity: Normal
Priority: P5 - None
Component: Sys.Drawing.
AssignedTo: mono-bugs at lists.ximian.com
ReportedBy: larsgjo at yahoo.com
QAContact: mono-bugs at lists.ximian.com
Found By: Community User
Blocker: Yes
Created an attachment (id=417729)
--> (http://bugzilla.novell.com/attachment.cgi?id=417729)
Our Drawing Application that calls GDI Plus and System.Drawing
Description of Problem:
Our application uses GDI+ to draw shapes on the screen. This application uses
graphics path routines: CreatePath, DrawXXX, translate, etc.
When running System.Drawing code that uses GDI+ graphics path routines, there
are frequent SIGSEGV faults. Most often, these faults occur when one of the
drawing routines are drawing off-of-screen coordinates (negative coordinates,
or beyond the display device).
Steps to reproduce the problem:
0. Get onto a Mac computer with Mono 2.8 already installed.
1. Unzip the example program directory to a location on your computer.
2. CD into the directory that you have created.
3. type "mono clientmac.exe"
4. Wait for the program to load.
5. Click on the "help" menu.
6. Choose open example drawing.
7. Open the drawing "masterbedroom.bp"
8. Wait for the drawing to display.
9. Scroll the scrollbars back and forth, up and down (scrolling the drawing
into negative coordinates frequently).
Actual Results:
1. Eventually, the program will throw an exception (after about the 5th time
of scrolling the drawing off the screen).
2. The exception is:
=================================================================
Got a SIGSEGV while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries
used by your application.
=================================================================
3. The most common stack traces are:
at (wrapper managed-to-native) System.Drawing.GDIPlus.GdipDeletePath (intptr)
<0x00003>
at (wrapper managed-to-native) System.Drawing.GDIPlus.GdipDeletePath (intptr)
<0x00003>
at System.Drawing.Drawing2D.GraphicsPath.Dispose (bool) <0x0002c>
at System.Drawing.Drawing2D.GraphicsPath.Finalize () <0x00013>
at (wrapper runtime-invoke) object.runtime_invoke_virtual_void__this_
OR
at (wrapper managed-to-native) System.Drawing.GDIPlus.GdipCreatePath
(System.Drawing.Drawing2D.FillMode,intptr&) <0x00003>
at (wrapper managed-to-native) System.Drawing.GDIPlus.GdipCreatePath
(System.Drawing.Drawing2D.FillMode,intptr&) <0x00003>
at System.Drawing.Drawing2D.GraphicsPath..ctor () <0x00032>
at (wrapper remoting-invoke-with-check)
System.Drawing.Drawing2D.GraphicsPath..ctor () <0x0002b>
at Fileparserusingobjects.af (Fileparserusingobjects/ShapeNode) <0x000fd>
at Fileparserusingobjects.l (Fileparserusingobjects/ShapeNode) <0x0018a>
Expected Results:
The program should be able to render the drawing, with any transformation
applied to the graphics paths. The program should not throw a SIGSEGV fault.
How often does this happen?
Every time. It is usually reproducible after scrolling the drawing back and
forth off the screen about 5 times.
Additional Information:
We do not have much Unix or Mac programming experience.
Feel free to to use our program to test the mono routines that implement the
graphics path apis found in GDI+.
We love the implementation of Mono that you have created.
--
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.
More information about the mono-bugs
mailing list