[Mono-bugs] [Bug 494448] New: Application using thread pool has random intermittent failures
bugzilla_noreply at novell.com
bugzilla_noreply at novell.com
Mon Apr 13 15:09:23 EDT 2009
http://bugzilla.novell.com/show_bug.cgi?id=494448
Summary: Application using thread pool has random intermittent
failures
Classification: Mono
Product: Mono: Runtime
Version: 2.4.x
Platform: x86-64
OS/Version: Ubuntu
Status: NEW
Severity: Major
Priority: P5 - None
Component: misc
AssignedTo: mono-bugs at lists.ximian.com
ReportedBy: pennfamily at gmail.com
QAContact: mono-bugs at lists.ximian.com
Found By: ---
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.0.8)
Gecko/2009032609 Firefox/3.0.8 (.NET CLR 3.5.30729)
We have an application that we have used under Mono since 2.0. This app uses
the Smart Thread Pool to manage background threads
(http://www.codeplex.com/smartthreadpool). We upgraded to 2.4 the other day,
and now the application either succeeds or randomly fails with one of the call
stacks below related to threading. This never failed under previous Mono
versions. We are using AOT on both the library and the calling application, but
we removed the .so files and get the exact same behavior without them.
[[ERROR 1]]
**
** ERROR:(threads.c:3743):mono_thread_set_state: assertion failed: (ret == 0)
Stacktrace:
at Amib.Threading.SmartThreadPool.ProcessQueuedItems () <0xffffffff>
at Amib.Threading.SmartThreadPool.ProcessQueuedItems () <0x002b0>
at (wrapper runtime-invoke) object.runtime_invoke_void__this__
(object,intptr,intptr,intptr) <0xffffffff>
Native stacktrace:
**
** ERROR:(error.c:70):SetLastError: assertion failed: (ret == 0)
**
** ERROR:(error.c:70):SetLastError: assertion failed: (ret == 0)
**
** ERROR:(error.c:70):SetLastError: assertion failed: (ret == 0)
**
** ERROR:(error.c:70):SetLastError: assertion failed: (ret == 0)
**
** ERROR:(error.c:70):SetLastError: assertion failed: (ret == 0)
[[ERROR 2]]
**
** ERROR:(threads.c:3765):mono_thread_test_state: assertion failed: (ret == 0)
Stacktrace:
at Amib.Threading.Internal.SynchronizedDictionary`2<object, object>.Contains
(object) <0xffffffff>
at Amib.Threading.Internal.SynchronizedDictionary`2<object, object>.Contains
(object) <0x00024>
at Amib.Threading.SmartThreadPool.InformCompleted () <0x00023>
at Amib.Threading.SmartThreadPool.ProcessQueuedItems () <0x00647>
at (wrapper runtime-invoke) object.runtime_invoke_void__this__
(object,intptr,intptr,intptr) <0xffffffff>
Native stacktrace:
**
** ERROR:(threads.c:3753):mono_thread_clr_state: assertion failed: (ret == 0)
Aborted
[[ERROR 3]]
^[[A**
** ERROR:(threads.c:3753):mono_thread_clr_state: assertion failed: (ret == 0)
Stacktrace:
at Amib.Threading.SmartThreadPool.ProcessQueuedItems () <0xffffffff>
at Amib.Threading.SmartThreadPool.ProcessQueuedItems () <0x002b0>
at (wrapper runtime-invoke) object.runtime_invoke_void__this__
(object,intptr,intptr,intptr) <0xffffffff>
Native stacktrace:
/usr/bin/cli [0x481403]
/lib/libpthread.so.0 [0x7fc65d3cb7d0]
/lib/libc.so.6(gsignal+0x35) [0x7fc65ce0c095]
/lib/libc.so.6(abort+0x110) [0x7fc65ce0daf0]
/usr/lib/libglib-2.0.so.0(g_assertion_message+0x117) [0x7fc65da3fd87]
/usr/lib/libglib-2.0.so.0 [0x7fc65da40222]
/usr/bin/cli [0x4b67f0]
/usr/bin/cli [0x517e7a]
/usr/bin/cli(mono_monitor_enter+0x10) [0x518220]
[0x4199b6a0]
Debug info from gdb:
=================================================================
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.
=================================================================
Aborted
[[ERROR 4]]
/usr/bin/cli [0x481403]
/lib/libpthread.so.0 [0x7fc65d3cb7d0]
/lib/libc.so.6(gsignal+0x35) [0x7fc65ce0c095]
/lib/libc.so.6(abort+0x110) [0x7fc65ce0daf0]
/usr/lib/libglib-2.0.so.0(g_assertion_message+0x117) [0x7fc65da3fd87]
/usr/lib/libglib-2.0.so.0 [0x7fc65da40222]
/usr/bin/cli [0x4b67f0]
/usr/bin/cli [0x517e7a]
/usr/bin/cli(mono_monitor_enter+0x10) [0x518220]
Reproducible: Sometimes
Steps to Reproduce:
Ten runs within 20 seconds will produce nearly-evenly distributed successes and
the above four failures.
Thanks for your hard work on Mono--we depend on it and really appreciate your
efforts.
--
Configure bugmail: http://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