Failed to connect to FTP server : Failed to connect to xxx.xxx.xxx.xxx:21 : Interrupted system call

15 posts / 0 new
Last post
#1 Mon, 08/12/2013 - 08:41
tcl@cunotech.dk

Failed to connect to FTP server : Failed to connect to xxx.xxx.xxx.xxx:21 : Interrupted system call

I do get these failures from the backup system

Starting backup of x domains to /mysql/%d-%m-%Y on FTP server xxx.xxx.xxx.xxx ..

Failed to connect to FTP server : Failed to connect to xxx.xxx.xxx.xxx.:21 : Interrupted system call

System info:

Webmin versioin 1.631 OS : Ubuntu Linux 12.04 Virtualmin : 4.01 Pro

Backup Settings:

Servers to save : All Destination And format: Ftp server- Additional destination options
- Do strftime-style time substitutions on file or directory name - Transfer each virtual server after it is backed up - One file per server (old format)
- Create destination directory? Action on error : Continue with other features and servers Backup level : Full (all files)

Mon, 08/12/2013 - 09:17
Locutus

First thing you could try is connecting from your Virtualmin machine, SSH command line, to your FTP server. Do so via "ftp", "telnet" and "netcat", to test different things.

ftp xx.xx.xx.xx telnet xx.xx.xx.xx 21 netcat xx.xx.xx.xx 21

Does any of that work, what errors do you get?

Tue, 08/13/2013 - 01:35 (Reply to #2)
tcl@cunotech.dk

Ive tried the suggestions all connected. I have one BackUp Which works.

FTP 230 User XXX logged in Remote system type is UNIX. Using binary mode to transfer files.

Telnet Connected to xxx.xxx.xxx.xxx. Escape character is '^]'. 220 ProFTPD 1.3.4a Server (Debian) [::ffff:192.168.xxx.xxx]

Netcat 220 ProFTPD 1.3.4a Server (Debian) [::ffff:192.168.xxx.xxx]

Tue, 08/13/2013 - 06:06
Locutus

Okay, so the FTP server is working in general, that's good. I took a look at the Virtualmin source code, and the error message you get doesn't necessarily mean that the actual connection to the server failed.

Try the following: do ftp xx.xx.xx.xx and log on to the server with the same credentials as you entered in Virtualmin.

Then do the command PWD (in capitals). Do you get a message like 257 / is the current directory then, or ?Invalid command? What if you try pwd in lower case?

Mon, 09/30/2013 - 05:04
tcl@cunotech.dk

I've tested some more. And it seems only to be when I'm not doing a full backup with all features. Its only when I Choose some of the feature or servers, it fails.

It works fine on a full backup with all servers and all features?

Mon, 09/30/2013 - 05:58
Locutus

So did you try the commands I mentioned in my previous post? Sorry, I can't help you if you don't provide me with the information I ask for.

Tue, 10/01/2013 - 05:36
tcl@cunotech.dk

Ok. I tried as described above.

PWD says invalid command pwd says 257 "/" is the current directory

From the host.

Tue, 10/01/2013 - 05:58
Locutus

Okay, just as I thought.

Then this looks like a Virtualmin bug. VM is using the command "PWD" in capitals, triggering the error you see. The coders will need to fix this and change PWD commands to pwd.

As a quick fix, you can go to the file /usr/share/webmin/virtual-server/backup-libs.pl, line 279, and change the "PWD" there to "pwd". That should fix the issue, although there might be other instances of FTP commands in incorrect capitals.

I sent Eric an email referring to this thread, so he'll make sure it gets fixed. :)

Tue, 10/01/2013 - 06:05
Locutus

Addendum:

I was a bit suspicious about this upper-lower-case thing, and I checked out the RFC for FTP, and did a test on my system. Apparently, FTP commands are allowed to be both upper and lower case. On my server, both variants work:

220 ProFTPD 1.3.4a Server (Debian) [::ffff:*********] USER ******* 331 Password required for ******** PASS ******* 230 User ****** logged in PWD 257 "/" is the current directory pwd 257 "/" is the current directory

So you see my system is using the same ProFTPD version as yours. I'm a bit surprised that "PWD" gives an error for you, while "pwd" doesn't!

Tue, 10/01/2013 - 07:26
tcl@cunotech.dk

Connected to XXX.XXX.XXX.XXX. 220 ProFTPD 1.3.4a Server (Debian) [::ffff:****...**] Name (XXX.XXX.XXX.XXX:*****): XXXXXX 331 Password required for XXXXXX Password: 230 User XXXXXX logged in Remote system type is UNIX. Using binary mode to transfer files. ftp> pwd 257 "/" is the current directory ftp> PWD ?Invalid command ftp>

This is the output.

But some of the backups work just fine.. ???

Tue, 10/01/2013 - 10:22
Locutus

Well as I said, according to the RFC, the FTP commands are case-insensitive. So both lower and upper case should work. For me, it does. And I have the same OS and ProFTPD version as you. I have no idea why yours gives an error for "PWD".

By the way, is there actually a question mark before the "Invalid command" message for you? Because here, when I do type an invalid command in Windows' text mode FTP client, I get NO question mark in the reply.

Can you please test this with telnet? Type telnet server.domain.tld and then follow the transcript as below. With USER and PASS to log in. It's possible that it's just your FTP client that has the problem with the Invalid command thing, and not the server.

C:\Users\XXXX>telnet XXXX.xxxx.de 21   220 ProFTPD 1.3.4a Server (Debian) [::ffff:xxx.xxx.xxx.xxx] USER xxxxxxx 331 Password required for xxxxxx PASS xxxxxxxxxx 230 User xxxxxx logged in pwd 257 "/" is the current directory PWD 257 "/" is the current directory abc 500 ABC not understood quit 221 Goodbye.     Connection to host lost.
Tue, 10/01/2013 - 12:23
andreychek

Howdy,

Yeah, FTP should in fact allow commands to be in upper-case.

So just to verify -- your backup server is running Ubuntu/Debian?

If so, what output do you receive when running these two commands on your backup server:

find /etc/proftpd/ | xargs grep -i case
dpkg -l 'proftpd*'
Tue, 10/29/2013 - 07:07 (Reply to #12)
tcl@cunotech.dk

find /etc/proftpd/ | xargs grep -i case :

/etc/proftpd/proftpd.conf:# If set on you can experience a longer connection delay in many cases.
/etc/proftpd/proftpd.conf:# In some cases you have to specify passive ports range to by-pass
dpkg -l 'proftpd*' :

Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                    Version                 Description
+++-=======================-=======================-==============================================================
un  proftpd                 <none>                  (no description available)
un  proftpd-abi-1.3.4a      <none>                  (no description available)
ii  proftpd-basic           1.3.4a-1                Versatile, virtual-hosting FTP daemon - binaries
un  proftpd-doc             <none>                  (no description available)
un  proftpd-mod-ldap        <none>                  (no description available)
un  proftpd-mod-mysql       <none>                  (no description available)
un  proftpd-mod-odbc        <none>                  (no description available)
un  proftpd-mod-pgsql       <none>                  (no description available)
un  proftpd-mod-sqlite      <none>                  (no description available)
Wed, 11/13/2013 - 06:28
tcl@cunotech.dk

Any suggestion ion this one?

Wed, 11/13/2013 - 08:25
andreychek

You're seeing something pretty unusual, and unfortunately I'm not sure what might cause that... I haven't seen that behavior elsewhere.

My best guess is that you're seeing a configuration problem of some sort... though what that might be isn't immediately clear.

One thing I do notice is that, if you're using Debian 7, the package version you have there isn't the most recent available to Debian.

You could always try renaming the /etc/proftpd directory to something else, perhaps /etc/proftpd.orig, and then updating ProFTPd to the latest version, which should re-create that directory, along with the config files in it.

-Eric