John Relph writes:
>Hi,
>
>I'm using lftp 3.5.1 on Red Hat Enterprise Linux 5 and I'm seeing a
>problem where lftp hangs in a loop using 100% of the CPU and no
>further file transfers take place.
>
>-------
>
>$ lftp --version
>LFTP | Version 3.5.1 | Copyright (c) 1996-2006 Alexander V. Lukyanov
>
>LFTP is free software, covered by the GNU General Public License, and you are
>welcome to change it and/or distribute copies of it under certain conditions.
>There is absolutely no warranty for LFTP. See COPYING for details.
>
>Send bug reports and questions to <[email protected]>.
>
>Libraries used: Readline 5.1
>
>--------
>
>I'm creating a script and then running "lftp -f script" from a perl
>hack. The script starts with the following:
>
>set cmd:verbose yes
>set net:timeout 300
>set net:max-retries 5
>set cmd:fail-exit true
>set cmd:move-background false
>
>And then opens a passworded connection to an sftp server after which
>it uses multiple "pget"s to download a big steaming pile of large
>files.
>
>The perl hack is reading from the stdout of the lftp process and the
>stderr of the lftp process is dup'ed to stderr:
>
>lftp -f script 2>&1
>
>After some number of files correctly transferred, sometimes tens of
>files and sometimes only a few, lftp "hangs". That is, it stops,
>looping, using 100% of the cpu, no further files are transferred and
>no additional output is generated. Since the stdout/stderr of lftp
>are using buffered output, I am unable to tell at which point the file
>transfer stops working. Nor can I tell why.
>
>strace of the looping process gives no output, so no system calls are
>being made. Numerous ssh processes are running, but they are sitting
>in select:
>
>agent 29058 29055 0 18:17 pts/2 00:00:02 ssh -a -x -s -l user hostname
>sftp
>agent 29066 29055 0 18:17 pts/3 00:00:02 ssh -a -x -s -l user hostname
>sftp
>agent 29068 29055 0 18:17 pts/5 00:00:02 ssh -a -x -s -l user hostname
>sftp
>agent 29069 29055 0 18:17 pts/6 00:00:02 ssh -a -x -s -l user hostname
>sftp
>
>$ strace -p 29066
>select(8, [4 5], [6], NULL, NULL
I ran strace on a new lftp process and the last call is:
unlink(some-file.lftp-pget-status) = -1 (File does not exist)
or something like that, I accidentally erased the screen attempting
to see if the process had in fact hung.
Once the unlink fails, the process starts using 100% of the CPU.
-- John
>This problem did not occur on RHEL4 (lftp 2.6.3). The problem has
>only started happening since we upgraded systems to RHEL5.
>
>Any ideas?
>
> -- John
>
>--
>John Relph <[EMAIL PROTECTED]>
>NOAA/NESDIS/National Oceanographic Data Center
--
John Relph <[EMAIL PROTECTED]>
NOAA/NESDIS/National Oceanographic Data Center