[Mono-bugs] [Bug 79873][Nor] New - weird bug with icecast on-connect/sockets

bugzilla-daemon at bugzilla.ximian.com bugzilla-daemon at bugzilla.ximian.com
Thu Nov 9 08:59:58 EST 2006


Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.

Changed by mugenjouchan at gmail.com.

http://bugzilla.ximian.com/show_bug.cgi?id=79873

--- shadow/79873	2006-11-09 08:59:58.000000000 -0500
+++ shadow/79873.tmp.27497	2006-11-09 08:59:58.000000000 -0500
@@ -0,0 +1,73 @@
+Bug#: 79873
+Product: Mono: Runtime
+Version: 1.0
+OS: 
+OS Details: Gentoo, nptl
+Status: NEW   
+Resolution: 
+Severity: 
+Priority: Normal
+Component: io-layer
+AssignedTo: dick at ximian.com                            
+ReportedBy: mugenjouchan at gmail.com               
+QAContact: mono-bugs at ximian.com
+TargetMilestone: ---
+URL: 
+Cc: 
+Summary: weird bug with icecast on-connect/sockets
+
+Description of Problem:
+
+- I set icecast to run an exe that should do remoting over an UnixChannel
+with mono for the on-connect event of a source (icecast -> sh -> mono)
+- event occurs
+- icecast launches the event fine, but mono does not terminate
+- I hit Ctrl-C to terminate icecast
+- according to netstat sh listens on the port of icecast and blocks it, I
+have to kill -9 it
+- according to netstat mono listens on the port of icecast and blocks it, I
+have to kill -9 it
+
+
+Further analysis:
+icecast uses a nested fork and execl to launch the event in source_run_script:
+http://svn.xiph.org/icecast/trunk/icecast/src/source.c 
+
+icecast -> sh -> mono helloworld.cs               problem as mentioned
+icecast -> (sh ->) helloworld.c                   works
+icecast -> (sh ->) helloworld.php                 works
+icecast -> sh -> mono exception.cs                works!
+icecast -> sh -> php -> mono helloworld.cs        problem as mentioned
+icecast -> sh -> mono remoter.cs                  problem as mentioned
+  - program execution stops at Activator.GetObject()
+icecast -> sh -> mono remoter+exception.cs        problem as mentioned
+  - program execution stops at Activator.GetObject()
+
+source_run_script.c -> sh -> mono helloworld.cs   works!
+source_run_script.c -> sh -> mono exception.cs    works!
+source_run_script.c -> sh -> mono remoter.cs      works!
+
+
+source_run_script.c: copy&paste of source_run_script from icecast in an
+isolated test
+
+helloworld.cs: simple hello world
+exception.cs: just a throw new Exception() in Main()
+remoter.cs: uses Activator/UnixChannel remoting
+remoter+exception.cs: uses Activator/UnixChannel remoting, AND throws an
+exception just before the end of Main()
+
+
+I guess mono does something weird so it gets access to the sockethandles of
+icecast, but that locks the socketcode somewhere, on (unix domain)socket
+usage with Activator.GetObject/UnixChannel and on cleanup when terminating
+normally and not with an unhandled exception
+
+Expected Results:
+no hanging, normal program termination
+
+How often does this happen? 
+everytime
+
+Additional Information:
+Tested with 1.1.17 and 1.1.18


More information about the mono-bugs mailing list