This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]