[Mono-bugs] [Bug 52074][Nor] New - SegFault Calling HttpWebRequest.Abort()

bugzilla-daemon@bugzilla.ximian.com bugzilla-daemon@bugzilla.ximian.com
Mon, 24 May 2004 21:27:50 -0400 (EDT)


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 gonzalo@ximian.com.

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

--- shadow/52074	2004-05-24 21:27:50.000000000 -0400
+++ shadow/52074.tmp.14667	2004-05-24 21:27:50.000000000 -0400
@@ -0,0 +1,82 @@
+Bug#: 52074
+Product: Mono: Runtime
+Version: unspecified
+OS: unknown
+OS Details: 
+Status: RESOLVED   
+Resolution: FIXED
+Severity: Unknown
+Priority: Normal
+Component: misc
+AssignedTo: mono-bugs@ximian.com                            
+ReportedBy: Jim@mcdee.net               
+QAContact: mono-bugs@ximian.com
+TargetMilestone: ---
+URL: 
+Cc: dick@ximian.com,gonzalo@ximian.com
+Summary: SegFault Calling HttpWebRequest.Abort()
+
+Mono 0.29 running on RedHat 9.
+
+calling HttpWebRequest.Abort() on an Abort()ed thread causes mono to
+segfault.  Calling the same exe in .net appears to work okay.
+
+Output from .NET is:
+
+About to start worker
+Worker sending request
+About to abort worker
+About to join worker
+Worker aborting
+Worker aborting request
+Worker abort finished
+
+
+Output from Mono is:
+
+About to start worker
+Worker sending request
+About to abort worker
+About to join worker
+Worker aborting
+Worker aborting request
+Segmentation fault
+
+Note that if the worker request is completed then no segfault will occur. 
+If the line 'Worker got response' shows up then the worker request has been
+completed and the segfault won't show.
+
+Test code to be attached.
+
+------- Additional Comments From Jim@mcdee.net  2003-12-11 17:12 -------
+Created an attachment (id=6200)
+Test program used to recreate bug.
+
+
+------- Additional Comments From gonzalo@ximian.com  2003-12-12 02:42 -------
+I get this in gdb.
+I'm CC'ing Dick to see if he has any idea on this
+------------
+[...]
+About to join worker
+ 
+Program received signal SIG35, Real-time event 35.
+[Switching to Thread 49156 (LWP 6045)]
+0x40390fd8 in recvfrom () from /lib/libpthread.so.0
+(gdb) bt
+#0  0x40390fd8 in recvfrom () from /lib/libpthread.so.0
+#1  0x400e6e36 in _wapi_recvfrom (handle=23, buf=0xfffffe00,
+len=4294966784,
+    recv_flags=16384, from=0x0, fromlen=0xfffffe00) at sockets.c:530
+#2  0x400e6da0 in _wapi_recv (handle=4294966784, buf=0xfffffe00,
+    len=4294966784, recv_flags=-512) at sockets.c:502
+#3  0x400afced in ves_icall_System_Net_Sockets_Socket_Receive_internal (
+    sock=4294966784, buffer=0xbf3ff738, offset=1075072044, count=2048,
+flags=0)
+    at socket-io.c:1017
+#4  0x083f5d1c in ?? ()
+#5  0x00000017 in ?? ()
+#6  0x08324000 in ?? ()
+
+------- Additional Comments From gonzalo@ximian.com  2004-05-24 21:27 -------
+Works with current CVS after Lluis' rewrite of thread.abort handling.