[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.