© Copyright Robert Vasvari, 1993-98.

Trouble shooting, known errors, problems

Since RBrowser does not use any custom software on the remote end, it has to rely on various implementations of UNIX utilities, FTP servers. Some remote systems you are connecting to might not have a correct implementations of all the software RBrowser relies on for. This can cause errors in some operations. This document is my attempt to record all the various problems, wirdnesses etc..

FTP protocol:

1. Keeping too many connections to the server:

By default, FTP connections keep two simultaneous channels to the remote host. The FTP server sometimes cannot handle all these connections opened at the same time so some of them fail during the directory load. At that point, RB thinks the directory that failed to load does not exist, so it clears everything that is under that directory. If you have shelf items that are under this directory, they will be cleared too.
Workaround: in the FTP Connection Preferences Panel adjust Max connections and Max persistent connections to 1.

2. Opening/Copying to Local Host:

If the remote FTP server is a Windows box, be mindful of the following: even if the file is listed in the browser, it might not be accessible to you, because it may have the "hidden" attribute set. If you try to retrieve this file You will probably get an error like this:

"550 filename:The system cannot find the file specified"

3. Server to Server transfers:

The operations effected are: Copy and Move on the same machine, and remote to remote transfer. The operation may fail with an error message similar to this:

Server to Server transfer failed: 500 Illegal PORT command.

A possible explanation: Server to Server transfer requires one server to be in passive mode and another server to connect to it using the PORT command. On some sites this capability is disabled on purpose. On others they might be using a version wu-ftpd that has this feature disabled by default. If this is the case, you need to complain loudly to your system administrator.

4. Crippled servers:

RBrowser does its best to connect to servers that are, shell we say, not configured correctly. RBrowser depends on the long listing (LIST) which some FTP servers do not support. If you connect to one of these, the directory listings will look like if they were all files and no directories. As you click on any of the files, RBrowser will attempt to find the attributes of the the file (whether it is a directory, size, date, etc..). Afterwards, the Inspector will update with the newly acquired attributes.

5. '@' appearing at the end of filenames:

Some FTP servers show that thge file is a link by appending a '@' character at the end of filenames representing symbolic links. This will confuse RBrowser which thinks that the @ is a legal character which is part of the filename. This will make browsing impossible, since filename@ really does not exist. For instance, if you go to ftp.cdrom.com in the /pub directory you will see files like linux@ and java@. Clicking on these files will not load the directory. Workaround: use the Find Panel (Command-f) . Type in /pub/linux and the desired path will load. .

SSH/UNIX protocol:

1. Connecting:

You are trying to connect to a remote host which is UNIX, you have an account, and the login still fails. You try login with FTP and it succeeds. This is most likely caused by the fact that some administrators disable the inetd service "rexec" by commenting out the appropriate line in /etc/inetd/conf. You should check if this is the case, if so, complain loudly to your system administrator. If you are connecting to LINUX, please make sure you read the Linux section in this document.

2. .cshrc:

Even though RBrowser does not use a C shell, the rexec server does read it during login. The one thing that can really screw up a remote connection, if there are any 'stty xxx' commands in your .cshrc. These commands do not belong in .cshrc, so make sure to remove them.

3. Progress Reporting for copying files between hosts:

In the UNIX protocol the files are transferred the following way:

(Source host) [tar source files]->[compress]->[uuencode] ===== network ====>(Target host) [uudecode]->[uncompress]->[unarchive files]

Since the total number of bytes that are actually transferred over the network is not known before the operation because of compressing, it is not possible to accurately measure the percentage of the total that is actually transferred. RBrowser makes a good faith estimate here. Also note, that if multiple files or a directory tree is transferred, all source files are treated as one stream since tar is used (in the FTP protocol, all files transferred separately).

Under the ssh protocol RBrowser uses scp for file transfers. scp reports the size of the file and an ETA for completion.

4. Error reporting:

Some of the operations fail silently. Deleting files is most prone to this. This is true in all of the protocols. For that reason, the directories that are potentially changed with the operation are always reloaded after the operation. One common way for a silent failure is when you are replacing a directory by dropping into its parent another directory with the same name. If some of the contents of the original directory are not writable the whole operation will (silently on some systems) fail. In this case, always check permissions!

5. No Home Directory:

Logging on with the UNIX protocol will fail onto certain systems (OpenStep for instance) if the user you are logging on as has no home directory. If this happens, you will get an error message like "no remote directory", and the login fails. Unfortunately, there is no workaround for this problem, as it is a limitation of the rexec server running on the remote machine. For these hosts you will have to use the FTP protocol.

6. Slow File Transfer to a remote host running OPENSTEP:

By default, RBrowser will try to find an 8bit clean shell on the remote host, in order to handle files with names that contain international (upper ASCII) characters. You most likely will end up using ksh or zsh (check the UNIX Connection Preferences Panel to see what shell you are using). Unfortunately, there is a problem with zsh on OPENSTEP/NEXTSTEP, which results in slow file transfer if the remote host is OPENSTEP and the remote shell is zsh. Workaround: use ksh or /bin/sh instead of zsh.

7. Available space:

There are certain situations where rbrowser will report the incorrect amount of available space on the remote host. This has to do with the fact that on UNIX due to the use of symbolic links there are many ways to reference the same directory. For instance your home directory path maybe /u/myhome. There is a link from /nfs/home to the same directory. RBrowser knows that /u is a mount point, but the shell thinks your home directory is /nfs/home/u/myhome. RBrowser has no way to know that /u/myhome = /nfs/home/u/myhome. Therefore, RB goes back to /nfs to find out the available space.The number it gets will be different from /u where the real mount point is. Unfortunately, there is no workaround for this, except... If you really want to know the avail space, you can follow the alternative path (/u/myhome) in the browser, in which case the correct available space will be shown.

8. LINUX users:

By default, some LINUX systems will not install uuencode/uudecode. These must be installed on the remote host, otherwise RBrowser cannot get the directory listings.

More issues for RedHat Linux users: besides the inetd.conf file mentioned above, there is bug in RedHat 5.2: the PAM module, which is used for authentication, is misconfigured by default. The way it ships, the rexec service is completely disabled. Workaround: after backing up the /etc/pam.d/rexec file as rexec.orig. Remove the line:
auth       required    /lib/security/pam_securetty.so
from the rexec file. Warning : it is conceivable that this fix might expose you to possible security risks (extent unknown). It is not known whether other versions of Linux, such as Debian or SUSE has this problem.

A bit about shells: most of the shells that ship with linux are broken most notably
bash. RBrowser defaults to use /bin/ash when you connect to linux systems, and you probably want to leave that alone., as it is the most consistent one that ships with redHat Linux.

ALL protocols:

1. Alert Panel warning when copying to remote host:

Sometimes it will happen that you will see a warning as you attempt to copy a file to the remote host. Let's say the target directory on the remote host is /htdocs.
"ALERT. /htdocs may not be writable, file transfer is likely to fail". If you tell it to go ahead anyway, the operation succeeds. Here is the reason: RBrowser does its level best to see if your file transfer attempt is likely to succeed or not, by checking ownership and permissions on the target directory. If you are logged in as user 1 on the remote host but your target directory is owner by userfoo, RBrowser will check the global and group write permissions. If those are not on you will get the warning panel. Most often the owner name difference can be resolved and that will make this panel go away.

2. What to do if you are trying to do something and get the beachBall?

Maybe the remote host you are connected to is not responding. Try logging in using telnet from the Terminal. If the host is not responding correctly, RBrowser may get stuck on trying to talk to it. These connection attempts will time out usually after 60 seconds. After that everything will operate normally. If the attempt does not time out, you may have to kill RBrowser using the Processes menu from the Workspace and restart it.

 

3. I tried to kill a background process, but it would not go away...

Depending on the reliability of your network connection some background processes can hang. If this happens, the only thing you can do is to restart RBrowser.

 


RBrowser Main Page

RBrowser ® is a product of Object Warehouse Inc.