[Mono-bugs] [Bug 647897] New: Task created using QueueUserWorkItem never runs on server called via Remoting

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Tue Oct 19 18:34:30 EDT 2010


https://bugzilla.novell.com/show_bug.cgi?id=647897

https://bugzilla.novell.com/show_bug.cgi?id=647897#c0


           Summary: Task created using QueueUserWorkItem never runs on
                    server called via Remoting
    Classification: Mono
           Product: Mono: Runtime
           Version: 2.8.x
          Platform: x86
        OS/Version: Windows 7
            Status: NEW
          Severity: Major
          Priority: P5 - None
         Component: remoting
        AssignedTo: lluis at novell.com
        ReportedBy: tomas at tomasp.net
         QAContact: mono-bugs at lists.ximian.com
          Found By: ---
           Blocker: ---


Created an attachment (id=395853)
 --> (http://bugzilla.novell.com/attachment.cgi?id=395853)
Repro C# program

User-Agent:       Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64;
Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729;
Media Center PC 6.0; Zune 4.0; .NET4.0C; .NET4.0E; InfoPath.3; MS-RTC LM 8)

I created a server that exposes an object using IPC channel. A method of the
server uses 'ThreadPool.QueueUserWorkItem' to start some background work and
then waits for the completion of the background work. The on Mono, the queued
task is never executed (and so the server hangs). On Microsoft .NET, the queued
task runs (and server call completes).

It seems that thread pool is blocked while calling object using remoting (?).
I think this is a regression in Mono 2.8 (it used to work in 2.6.x).

Reproducible: Always

Steps to Reproduce:
1. Compile the attached repro.cs program using "gmcs
-r:System.Runtime.Remoting.dll repro.cs"
2. Run it in the server mode using "mono repro.exe --server"
3. Run it in the client mode using "mono repro.exe --client"
Actual Results:  
The application running in client mode hangs (after printing "got server
object"). The server side version prints "foo running" (but never prints
"background work running")

Expected Results:  
The client side version should finish. The server side version should print
"background work running" (meaning that a task queued using QueueUserWorkItem
should eventually execute!)

-- 
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.


More information about the mono-bugs mailing list