[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