Re: [twsocket] FTP server and passive ports
Arno Garrels wrote: Arrgh, after uploading 40.000 files w/o any problem ( all uploads used the same listening passive port ) the server rebooted and I now need to debug the Minidump it created. Will have a look at that file tomorrow :-(( I suspect either the patched tcpip.sys (patch from http://www.xp-AntiSpy.org) or ProcessExplorer (running at that time). Has anybody seen similiar crashes? -- Arno Garrels [TeamICS] http://www.overbyte.be/eng/overbyte/teamics.html *** * * *Bugcheck Analysis* * * *** Use !analyze -v to get detailed debugging information. BugCheck 10D1, {c, 2, 0, aabf9c02} Probably caused by : tcpip.sys ( tcpip!ReadNextTCB+d2 ) Followup: MachineOwner - 1: kd !analyze -v *** * * *Bugcheck Analysis* * * *** DRIVER_IRQL_NOT_LESS_OR_EQUAL (d1) An attempt was made to access a pageable (or completely invalid) address at an interrupt request level (IRQL) that is too high. This is usually caused by drivers using improper addresses. If kernel debugger is available get stack backtrace. Arguments: Arg1: 000c, memory referenced Arg2: 0002, IRQL Arg3: , value 0 = read operation, 1 = write operation Arg4: aabf9c02, address which referenced memory Debugging Details: -- READ_ADDRESS: 000c CURRENT_IRQL: 2 FAULTING_IP: tcpip!ReadNextTCB+d2 aabf9c02 8b400c mov eax,[eax+0xc] CUSTOMER_CRASH_COUNT: 1 DEFAULT_BUCKET_ID: DRIVER_FAULT BUGCHECK_STR: 0xD1 LAST_CONTROL_TRANSFER: from aabea6c5 to aabf9c02 STACK_TEXT: a9db38f0 aabea6c5 025ac460 a9db3a90 859a5880 tcpip!ReadNextTCB+0xd2 806e5830 05c7fffe fffe0080 0041 0f04eac1 tcpip!TdiQueryInformationEx+0x7e5 WARNING: Frame IP not in any known module. Following frames may be wrong. a9db3bec aabc703c 859a5880 859a58f0 859a58f0 0x5c7fffe a9db3c08 aabc6ff4 859a5880 859a58f0 85c88230 tcpip!TCPDispatchDeviceControl+0x129 a9db3c40 804ef095 861feb98 859a5880 806e5410 tcpip!TCPDispatch+0x127 a9db3c50 8057e70a 859a58f0 85bb5ef8 859a5880 nt!IopfCallDriver+0x31 a9db3c64 8057f56d 861feb98 859a5880 85bb5ef8 nt!IopSynchronousServiceTail+0x60 a9db3d00 805780c2 0038 01d8 nt!IopXxxControlFile+0x5c5 a9db3d34 8054086c 0038 01d8 nt!NtDeviceIoControlFile+0x2a a9db3d34 7c91eb94 0038 01d8 nt!KiFastCallEntry+0xfc 00aafe20 0x7c91eb94 STACK_COMMAND: .bugcheck ; kb FOLLOWUP_IP: tcpip!ReadNextTCB+d2 aabf9c02 8b400c mov eax,[eax+0xc] FAULTING_SOURCE_CODE: SYMBOL_STACK_INDEX: 0 FOLLOWUP_NAME: MachineOwner SYMBOL_NAME: tcpip!ReadNextTCB+d2 MODULE_NAME: tcpip IMAGE_NAME: tcpip.sys DEBUG_FLR_IMAGE_TIMESTAMP: 444775d3 FAILURE_BUCKET_ID: 0xD1_tcpip!ReadNextTCB+d2 BUCKET_ID: 0xD1_tcpip!ReadNextTCB+d2 Followup: MachineOwner - -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] FTP server and passive ports
So I've made the passive port change in the FTP server, and installed it on the offending server, need to wait for the logs tomorrow to see if the remote clients are happier. Using sequential passive ports instead of the same one repeatedly seems to have fixed my problem. One client took 30 seconds to upload 15 files last night, when it was an hour with up 600 failures the previous three nights. There don't seem to have been any FTP failures since I uploaded the FTP server yesterday afternoon, although most traffic is in the early morning for the previous day's logs which are zipped and uploaded for import into SQL, so I won't see today's stuff until tomorrow. Angus -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] FTP server and passive ports
Is this the original ICS FTP server component with your latest changes? Yes, not the socket server versions, and I'm not made any changes to passive mode, ports or data connections, except the data source. Angus -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] FTP server and passive ports
I guess that won't make a difference, since if a port were still in use an exception in Listen/Bind should be raised and CommandPASV() should return the error. There is a table in the server which keeps track of which passive ports are in use, although it won't help if another application is using the port. Isn't it possible that winsock refuses the connection attempt due to a full ListenBacklogQueue Unlikely, these are Windows 2000 servers running IIS/5 FTP for five years or so (and FileZilla) without any problems, I've only just changed one to use ICS FTP server now it has mode z. Looking at more logs, I see: '501 Cannot RETR. Error - Connection reset by peer (#10054)' and '501 Cannot RETR. Error - Connection aborted (#10053)' errors are coming back as well for passive downloads. But they usually work on the next attempt. Angus -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] FTP server and passive ports
Angus Robertson - Magenta Systems Ltd wrote: I guess that won't make a difference, since if a port were still in use an exception in Listen/Bind should be raised and CommandPASV() should return the error. There is a table in the server which keeps track of which passive ports are in use, although it won't help if another application is using the port. This concept and the fact that passive listening sockets are created dynamically when a range is used may be a weak point, though that must not be the problem here. Btw: Serv-U opens one persistent listening socket per port in the range on startup, thus once they are listening no subsequent probs. with ports in use can happen. Isn't it possible that winsock refuses the connection attempt due to a full ListenBacklogQueue Unlikely, these are Windows 2000 servers running IIS/5 FTP for five years or so (and FileZilla) without any problems, I've only just changed one to use ICS FTP server now it has mode z. Looking at more logs, I see: '501 Cannot RETR. Error - Connection reset by peer (#10054)' and '501 Cannot RETR. Error - Connection aborted (#10053)' errors are coming back as well for passive downloads. But they usually work on the next attempt. Can you reproduce those errors in a simple environment that uses plain TCP/IP connections? Later today I will try as well. Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] FTP server and passive ports
Can you reproduce those errors in a simple environment that uses plain TCP/IP connections? Later today I will try as well. No, I can not reproduce any passive problems locally with a server on my development PC, or my local Windows 2000 server, or by accessing the offending FTP server over the VPN, 100 files uploaded without error. So I've made the passive port change in the FTP server, and installed it on the offending server, need to wait for the logs tomorrow to see if the remote clients are happier. I suspect the real cause of the problem is one of the Sonicwalls, FTP is always trouble with firewalls (even without NAT issues), yet these passive errors occur much less frequently with IIS/5 than with ICS, I saw two FTP errors with IIS/5 yesterday, and maybe 2,000 with ICS (many of those were the consequence of the FTP responses getting out of step). Angus -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] FTP server and passive ports
Angus Robertson - Magenta Systems Ltd wrote: Can you reproduce those errors in a simple environment that uses plain TCP/IP connections? Later today I will try as well. No, I can not reproduce any passive problems locally with a server on my development PC, or my local Windows 2000 server, or by accessing the offending FTP server over the VPN, 100 files uploaded without error. Arrgh, after uploading 40.000 files w/o any problem ( all uploads used the same listening passive port ) the server rebooted and I now need to debug the Minidump it created. Will have a look at that file tomorrow :-(( Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
[twsocket] FTP server and passive ports
I have a problem with failed file uploads between the ICS FTP client and server when using passive mode, which may be related to the passive port pool. For some reason, the passive port pool does not allocate sequential port numbers, but continually re-allocates the same numbers, if they have been freed. So one upload works fine, less than a second later an attempt to upload the next file fails with 'connection refused' in the client, perhaps because the same port can not be re-used so quickly? 21:59:53:779 ** PASV 21:59:53:808 ** 227 Entering Passive Mode (192,168,0,7,82,9). 21:59:54:544 ** 226 File received ok 21:59:55:209 ** PASV 21:59:55:239 ** 227 Entering Passive Mode (192,168,0,7,82,9). 21:59:56:290 Upload Failed: Unable to establish data connection - Connection refused (#10061) Although the client fakes a 550 error for the connection refused error, it does not send any commands to the server, which keeps listening. After the failed upload, I retry the upload, but at this point the server is out of sequence and often responds with old responses, like: 21:59:58:069 ** PASV 21:59:58:101 ** 226 File sent ok I've changed my application code to always send an AbortXfer command if the connection is refused, so the server gets back into sync with later commands. Maybe AbortXfer should be in the FTP client code? But I'm wondering if passive mode should be using incrementing ports, and not the same ones all the time (my server only used four different ports for the four simultaneous clients). Note these FTP commands are passing through a VPN, three Sonicwalls, two ADSL links and an ADSL bonding Firebrick, so the error could be elsewhere, although I still have to recover from it better. Angus -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be