- From: Timothee Besset <ttimo@idsoftware.com>
- Date: Mon, 5 May 2003 17:10:02 +0200
- To: www-lib@w3.org
I am using HTLoadToFile to retrieve files through http and ftp. The http access seems to work fine, but the ftp has two annoying behaviours atm: - The progress information remains empty: I keep calling HTRequest_bytesRead on each HT_PROG_READ alert callback, but it remains 0. I can see the file being downloaded and growing though. - After the download has completed, it crashes. Here's what the end of the trace says: Host Event.. READ passed to `ftp://<.....>' FTP Event... now in state FTP_NEED_DATA FTP Get Data now in state NEED_BODY Read Socket. FIN received on socket 20 HTDoClose... Close 20 Net Manager. Decreasing active sockets to 0, 0 persistent sockets FTP Get Data now in state NEED_BODY FTP Get Data now in state SUB_ERROR Error....... Add 22 Severity: 1 Parameter: `Unspecified' Where: `HTFTPGetData' FTP Event... now in state FTP_NEED_SERVER FTP Server.. now in state NEED_SYST FTP Tx...... SYST The remote server closes the ftp connection. The local file is complete. But libwww fails to exit properly and does a SIGSEV right after SYST .. any idea what would be wrong? Actually, I know how the crash happens, but I haven't thought of a solution. I thought for a while that it could be related to the ftp daemon, but I tried a win32 daemon and proftp, and they both cause the same crash. in HTFTP.c at line 1300: 1299 else if (status == HT_LOADED || status == HT_CLOSED) { 1300 if (ctrl->repcode/100 == 2) { 1301 data->complete |= 2; 1302 if (data->complete >= 3) 1303 ctrl->substate = SUB_SUCCESS; 1304 else 1305 data_is_active = YES; 1306 } else 1307 ctrl->substate = SUB_ERROR; 1308 } else this is after Read Socket. FIN received on socket 20 HTDoClose... Close 20 Net Manager. Decreasing active sockets to 0, 0 persistent sockets FTP Get Data now in state NEED_BODY status is HT_CLOSED ctrl->repcode is 150 data->complete is 1 But the data->complete |= 2 doesn't trigger. If it would, I *think* that HTFTP.c would finish the job and exit cleanly. TTimo
Received on Monday, 5 May 2003 11:10:16 UTC