This is the mail archive of the
cygwin
mailing list for the Cygwin project.
ftp bug report
- From: Thomas Mellman <tmellman at yahoo dot com>
- To: cygwin at cygwin dot com
- Date: Wed, 18 Feb 2004 02:21:14 -0800 (PST)
- Subject: ftp bug report
Re: ftp crash
ftp crashes intermittently (but reliably) when getting files.
I tried to debug it with gdb but for some reason that I don't
understand, it hangs when run.
Nevertheless, using gdb to get the symbols (which appear to
be correct) and the ftp.exe.stackdump, I believe that I have
localized the problem to the call to dataconn() in recvrequest().
Note that I am using case and nmap (nmap $1;$2 $1) but I think
that's not a requirement.
The funny thing is that the datacon() routine is in ftp.c, at
Local exec file:
`/opt/pub/inetutils-1.3.2-25/ftp/ftp.exe', file type pei-i386.
Entry point: 0x401000
0x00401000 - 0x0040cb04 is .text
0x0040d000 - 0x0040e280 is .data
0x0040f000 - 0x00411310 is .bss
0x00412000 - 0x00412ba4 is .idata
But the "entry point" for dataconn is somewhere completely different:
Exception: STATUS_ACCESS_VIOLATION at eip=610AB030
eax=611489F4 ebx=00000038 ecx=7070736D edx=611489F4 esi=0A045018 edi=000001B0
ebp=0022E9E8 esp=0022E9C8 program=D:\Programme\pub\inetutils-1.3.2-25\ftp\ftp.exe
cs=001B ds=0023 es=0023 fs=0038 gs=0000 ss=0023
Stack trace:
Frame Function Args
0022E9E8 610AB030 (611489C0, 0001201F, 0024E530, 00000200)
0022EA28 610AAE17 (00000000, 00000001, 0022EA78, 61054EA8)
0022EA38 610AB4E5 (74F41678, FFFFFFFF, 0022EAE4, 74F46C93)
0022EA78 61054EA8 (00000001, 00003028, 0022EAC8, 61082BB0)
0022EA88 61001CA9 (00003028, 0022EBA0, 0022EBE8, 0024E530)
0022EAC8 61082BB0 (0A045280, 0022ECD0, 0022EF68, 74FAE1D5)
0022EC18 6107FA26 (0022ECD0, 0022EC64, 0022EC54, 0022EC44)
0022ED28 6107F3AB (00000006, 0022ED50, 0022EC84, 0022EC74)
0022ED78 6105BE38 (00000005, 0022EDA0, 0022ED9C, 00401923)
0022EDB8 61086211 (00401083, 00405EDB, 0A044B70, 00000001)
^ - dataconn?
recvrequest - v
0022EE88 00402E15 (00405EDB, 0A045258, 0A044B70, 00405E3C)
0022EEB8 00406462 (00000002, 00410F00, 611102A8, 00000001)
0022EED8 0040A8B2 (00000001, 0040A6A0, 0040A1F8, 0040E100)
0022EF40 0040A61D (00000001, 616733D4, 0A0400A8, 0022EF98)
0022EF80 61005DE0 (0022EF98, 00000000, 00000000, 00000000)
0022FF90 61005EE5 (00000000, 00000000, 00000000, 00000000)
End of stack trace (more stack frames may be present)
Or is these frames starting at 0x22edb8 (0x61086211) some kind
of an interrupt?
Oh, perhaps the dataconn stack frame got lost somehow. Anyway,
I now have an strace output which I will be glad to provide.
The last lines are:
186 1454434 [main] ftp 1472 fhandler_base::set_flags: O_TEXT/O_BINARY set in flags 0x10000
147 1454581 [main] ftp 1472 fhandler_base::set_flags: filemode set to binary
147 1454728 [main] ftp 1472 fdsock: fd 4, name '', soc 0x218
161 1454889 [main] ftp 1472 cygwin_socket: 4 = socket (2, 1, 0)
397 1455286 [main] ftp 1472 cygwin_bind: 0 = bind (4, 0x40F390, 16)
336 1455622 [main] ftp 1472 cygwin_getsockname: 0 = getsockname (4, 0x40F390, 0x22EC80)
266 1455888 [main] ftp 1472 cygwin_listen: 0 = listen (4, 1)
155 1456043 [main] ftp 1472 void: 0x402A90 = signal (2, 0x401770)
172 1456215 [main] ftp 1472 writev: writev (3, 0x22EB90, 1)
160 1456375 [main] ftp 1472 wsock_event::prepare: 2288292 = wsock_event::prepare ()
210 1456585 [main] ftp 1472 writev: 26 = write (3, 0x22EB90, 1), errno 2
351 1456936 [main] ftp 1472 void: 0x401770 = signal (2, 0x401770)
159 1457095 [main] ftp 1472 readv: readv (3, 0x22EB40, 1) blocking, sigcatchers 2
146 1457241 [main] ftp 1472 readv: no need to call ready_for_read
153 1457394 [main] ftp 1472 wsock_event::prepare: 2288196 = wsock_event::prepare ()
1060 1458454 [main] ftp 1472 readv: 30 = readv (3, 0x22EB40, 1), errno 2
198 1458652 [main] ftp 1472 void: 0x401770 = signal (2, 0x401770)
132 1458784 [main] ftp 1472 void: 0x401770 = signal (2, 0x402A90)
145 1458929 [main] ftp 1472 void: 0x402A90 = signal (2, 0x401770)
144 1459073 [main] ftp 1472 writev: writev (3, 0x22EBE0, 1)
137 1459210 [main] ftp 1472 wsock_event::prepare: 2288372 = wsock_event::prepare ()
219 1459429 [main] ftp 1472 writev: 19 = write (3, 0x22EBE0, 1), errno 2
200 1459629 [main] ftp 1472 void: 0x401770 = signal (2, 0x401770)
152 1459781 [main] ftp 1472 readv: readv (3, 0x22EB90, 1) blocking, sigcatchers 2
159 1459940 [main] ftp 1472 readv: no need to call ready_for_read
152 1460092 [main] ftp 1472 wsock_event::prepare: 2288276 = wsock_event::prepare ()
39176 1499268 [main] ftp 1472 readv: 101 = readv (3, 0x22EB90, 1), errno 2
361 1499629 [main] ftp 1472 void: 0x401770 = signal (2, 0x401770)
138 1499767 [main] ftp 1472 void: 0x401770 = signal (2, 0x402A90)
137 1499904 [main] ftp 1472 writev: writev (2, 0x22EC60, 1)
146 1500050 [main] ftp 1472 fhandler_base::write: binary write
entered dataconn
^@ 214 1500264 [main] ftp 1472 fhandler_base::write: 18 = write (0x403C44, 18)
147 1500411 [main] ftp 1472 writev: 18 = write (2, 0x22EC60, 1), errno 2
155 1500566 [main] ftp 1472 cygwin_select: 5, 0x22EC40, 0x0, 0x0, 0x0
288 1500854 [main] ftp 1472 dtable::select_read: fd 4
245 1501099 [main] ftp 1472 cygwin_select: to NULL, ms FFFFFFFF
496 1501595 [main] ftp 1472 cygwin_select: sel.always_ready 0
335 1501930 [main] ftp 1472 handle_exceptions: In cygwin_except_handler exc 0xC0000005 at
0x610AB030 sp 0x22E8B8
287 1502217 [main] ftp 1472 handle_exceptions: In cygwin_except_handler sig = 11 at 0x610AB030
157 1502374 [main] ftp 1472 handle_exceptions: In cygwin_except_handler calling 0x0
1502520 [main] ftp 1472 handle_exceptions: Exception: STATUS_ACCESS_VIOLATION
146 1502520 [main] ftp 1472 handle_exceptions: Exception: STATUS_ACCESS_VIOLATION
243 1502763 [main] ftp 1472 try_to_debug: debugger_command ''
1503322 [main] ftp 1472 open_stackdumpfile: Dumping stack trace to ftp.exe.stackdump
559 1503322 [main] ftp 1472 open_stackdumpfile: Dumping stack trace to ftp.exe.stackdump
2601705 4105027 [main] ftp 1472 signal_exit: about to call do_exit (18B00)
194 4105221 [main] ftp 1472 do_exit: do_exit (101120), exit_state 0
129 4105350 [main] ftp 1472 void: 0x0 = signal (20, 0x1)
124 4105474 [main] ftp 1472 void: 0x0 = signal (1, 0x1)
105 4105579 [main] ftp 1472 void: 0x402A90 = signal (2, 0x1)
124 4105703 [main] ftp 1472 void: 0x0 = signal (3, 0x1)
107 4105810 [main] ftp 1472 fhandler_base::close: closing '/tmp/mellman/idefix/0218/script'
handle 0x350
356 4106166 [main] ftp 1472 fhandler_socket::close: 0 = fhandler_socket::close()
448 4106614 [main] ftp 1472 fhandler_socket::close: 0 = fhandler_socket::close()
296 4106910 [main] ftp 1472 sigproc_terminate: entering
127 4107037 [main] ftp 1472 proc_terminate: nchildren 0, nzombies 0
136 4107173 [main] ftp 1472 proc_terminate: leaving
264 4107437 [main] ftp 1472 __to_clock_t: dwHighDateTime 0, dwLowDateTime 500720
109 4107546 [main] ftp 1472 __to_clock_t: total 00000000 00000032
124 4107670 [main] ftp 1472 __to_clock_t: dwHighDateTime 0, dwLowDateTime 400576
107 4107777 [main] ftp 1472 __to_clock_t: total 00000000 00000028
1754 4109531 [main] ftp 1472 _pinfo::exit: Calling ExitProcess 101120
The "entered dataconn", above, is a debugging statement I inserted.
CYGWIN_NT-5.0 venedig 1.5.7(0.109/3/2) 2004-01-30 19:32 i686 unknown unknown Cygwin
__________________________________
Do you Yahoo!?
Yahoo! Mail SpamGuard - Read only the mail you want.
http://antispam.yahoo.com/tools
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/