emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Ftp freezes on w32


From: Lennart Borgman
Subject: Re: Ftp freezes on w32
Date: Sun, 05 Nov 2006 13:51:05 +0100
User-agent: Thunderbird 1.5.0.7 (Windows/20060909)

Lennart Borgman wrote:
Lennart Borgman wrote:
I have seen a problem with ftp on w32 which I have not had time to report before. The problem is that if I make a small pause for some minutes then ftp hangs. Looks like there perhaps is some problem with the ftp process. Here is a more detailed description:


I have downloaded the ftp program mentioned on http://www.emacswiki.org/cgi-bin/wiki/AngeFtp and my ange-ftp-ftp-program-name is c:/dl/ftp-for-win32/Release/ftp.exe. I am using w2k on this pc. My CVS Emacs is from 2006-11-03.

I open a remote file with the name "/ftp:address@hidden:/htdocs/somepath/index.html". After doing the first changes to the remote file point is on line 79 in the buffer "*ftp address@hidden".

Now I wait maybe 10 min. Then I try again to change the file. Now Emacs freezes right after the first character, but C-g helps and the screen gets updated again. Looking in the ftp buffer point is still on line 79 right after the prompt. However now there is some text after the prompt:

 ftp> quote mdtm /htdocs/somepath/index.html

If I in the window showing the ftp buffer now press up arrow I get the error message:

 Wrong type argument: processp, nil

I have looked at this a bit more. The process get killed in `ange-ftp-wait-not-busy' so there is no strange with that the process is gone.

However what is happening is that the `ange-ftp-wait-not-busy' never ends. The process filter in `ange-ftp-process-filter' recieves a string with only nulls (in the argument str).

Since this is reproducible it seems possible to make a fix for it. A signal can be sent from the process filter and this can be caught in `ange-ftp-raw-send'. But it does not seem quite right to me.

Is there not something suspicious about that the process filter receives just nulls? Is there something wrong with emacs_read?

Some more information.

Workaround: It is possible to workaround the problem by simply deleting the inferior ftp process in `ange-ftp-process-filter' when a string with just a lot of nulls is recieved.

However it looks to me like there is a more general bug involved here. If I run the ftp program above in just a w32 command window (cmd.exe) it looks like this

 C:\dl\ftp-for-win32\Release>ftp.exe
 ftp> open ftp.somehost.com
 Connected to ftp.somehost.com.
 220 somehost FTP Server ready
 Name (ftp.somehost.com:none): someuser
 331 Password required for someuser.
 Password:
 230 User someuser logged in.
 ftp> hash
 Hash mark printing on (1024 bytes/hash mark).
 ftp> pwd
 257 "/" is current directory.
 ftp> quote mdtm /htdocs/BalkanFotter/index.html
 213 20061104161649

Now I wait a bit more than 300 s and then try getting mode time again:

 ftp> quote mdtm /htdocs/BalkanFotter/index.html
 421 No Transfer Timeout (300 seconds): closing control connection.
 ftp>

If I try the last command in the ftp buffer instead then I get no response. Looking at Windows Task Manager I can see that both Emacs and the ftp process are active.

My guess is that the ftp process sends the line "421 ..." to standard error and that Emacs somehow misses this. Seems like a bug in either the ftp program or Emacs.

Could someone please comment on this?




reply via email to

[Prev in Thread] Current Thread [Next in Thread]