https://bugzilla.novell.com/show_bug.cgi?id=668489
https://bugzilla.novell.com/show_bug.cgi?id=668489#c0 Summary: Bitmap constructor crashes in multi-threaded (TPL) Classification: Mono Product: Mono: Runtime Version: SVN Platform: x86-64 OS/Version: Ubuntu Status: NEW Severity: Critical Priority: P5 - None Component: misc AssignedTo: [email protected] ReportedBy: [email protected] QAContact: [email protected] Found By: --- Blocker: --- User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US) AppleWebKit/534.10 (KHTML, like Gecko) Chrome/8.0.552.237 Safari/534.10 Constructing bitmaps in different threads frequently crashes the current SVN runtime. Reproducible: Sometimes Steps to Reproduce: using System; using System.Drawing; using System.Threading.Tasks; class TestBitmap { public static void Main() { Parallel.For(0, 10, j => new Bitmap(800, 600)); } } Actual Results: SAMPLE OUTPUT 1: =============== * Assertion at method-to-ir.c:9188, condition `helper->slot' not met Stacktrace: at System.Drawing.Bitmap..ctor (int,int,System.Drawing.Imaging.PixelFormat) <0x00053> at System.Drawing.Bitmap..ctor (int,int) <0x0001b> * Assertion at method-to-ir.c:9188, condition `helper->slot' not met at (wrapper remoting-invoke-with-check) System.Drawing.Bitmap..ctor (int,int) <0xffffffff> at TestBitmap.<Main>m__0 (int) <0x0002b> SAMPLE OUTPUT 2: =============== * Assertion at method-to-ir.c:9188, condition `helper->slot' not met Stacktrace: at System.Drawing.Bitmap..ctor (int,int,System.Drawing.Imaging.PixelFormat) <0x00053> at System.Drawing.Bitmap..ctor (int,int) <0x0001b> at (wrapper remoting-invoke-with-check) System.Drawing.Bitmap..ctor (int,int) <0xffffffff> at TestBitmap.<Main>m__0 (int) <0x00027> at System.Threading.Tasks.Parallel/<For>c__AnonStorey40.<>m__3C (int,System.Threading.Tasks.ParallelLoopState) <0x0001e> at System.Threading.Tasks.Parallel/<For>c__AnonStorey41.<>m__3E (int,System.Threading.Tasks.ParallelLoopState,object) <0x00028> at System.Threading.Tasks.Parallel/<For>c__AnonStorey42`1.<>m__40 () <0x00297> at System.Threading.Tasks.TaskFactory/<StartNew>c__AnonStorey15.<>m__B (object) <0x00014> at System.Threading.Tasks.Task.InnerInvoke () <0x00021> at System.Threading.Tasks.Task.ThreadStart () <0x00109> at System.Threading.Tasks.Task.Execute (System.Action`1<System.Threading.Tasks.Task>) <0x00051> at System.Threading.Tasks.ThreadWorker.WorkerMethod () <0x00236> at System.Threading.Tasks.ThreadWorker.WorkerMethodWrapper () <0x0006f> at System.Threading.Thread.StartUnsafe () <0x000a8> at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) <0xffffffff> Native stacktrace: mono() [0x48f30b] /lib/libpthread.so.0(+0xfb40) [0x7f9035b25b40] /lib/libc.so.6(gsignal+0x35) [0x7f90357c6ba5] /lib/libc.so.6(abort+0x180) [0x7f90357ca6b0] mono() [0x5d2b4a] mono() [0x5d2cfb] mono() [0x44f9e2] mono() [0x418ee7] mono() [0x41b05d] mono() [0x41b8fd] mono() [0x492d24] mono() [0x49391d] [0x40b4516a] Debug info from gdb: Could not attach to process. If your uid matches the uid of the target process, check the setting of /proc/sys/kernel/yama/ptrace_scope, or try again as the root user. For more details, see /etc/sysctl.d/10-ptrace.conf ptrace: Operation not permitted. ================================================================= Got a SIGABRT while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= Expected Results: No crash I was whittling down similar TPL crashes on FillPolygon (on different Bitmap instances) when I realised that just constructing separate Bitmap instances was even crashing the runtime. -- 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. _______________________________________________ mono-bugs maillist - [email protected] http://lists.ximian.com/mailman/listinfo/mono-bugs
