RBrowser

   Other Topics

© Copyright Robert Vasvari, 1993-2014.

Troubleshooting, 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 and FTP servers. Some remote systems you connect to might no have correct implementations of all the software RBrowser relies on. This can cause errors in some operations. This document is my attempt to record all the various problems, weirdnesses etc.

If you decide to send us an error report, please TURN ON "Show Debug Log" under the Tools Menu and and observe the Report Submission Guidelines so we can help you better in diagnosing the problem. Your cooperation is much appreciated!

Slow Startup or Licensing Problems:

If RBrowser is very slow to start up, that can have some common reasons. If you experience that problem, please read the following carefully and try to determine which one applies in your case by process of elimination.

  • The license daemon: If you are a licensed user of RBrowser, every time you start the app, RBrowser will connect to a license daemon to check if you are authorized to run the app with all features. If necessary, RBrowser will start an RBDaemon process in the background. Due to a system bug that is under investigation by Apple, on some systems this license daemon is unable to startup, and spawns multiple processes of itself. In this case RBrowser takes several minutes to start up, and then it will not recognize the license even though it was entered properly previously. If this happens the workaround we can do is to convert your license to hostbound one, in which case the license daemon will not be started. Please click "local only" so the app will run, then click the Help/Licenses menu. The License Panel shows the hostid, something similar to 0x001d4f487614. Please copy this hostid, then send us along with your original license. We will convert your license and send it back to you.
  • The preferences file: It does happen sometimes that the Preferences (which tend to hold a lot of information about window positions and such...) become corrupted. As a result, RBrowser can have an slow Startup and very erratic behaviour, even crash, due to bad data being read from the preference file. The thing to try is to simply remove this file and restart the program. The system Preferences file for RBrowser is: YOURHOME/Library/Preferences/com.rbrowser.rbrowser4.plist. Remove or just rename it and restart the program to see if that improves things...


The Local Viewer:

The Sharity/afp/smb Problem: Sharity and other automount systems usually park symbolic links into /Network/xxx (like /Network/CIFS) for their connections. When any of these links are touched, it triggers the process to actually mount the remote file system. Since RBrowser scans local directories, it accidentally set off all defined mounts in /Network/CIFS. The workaround is this: There is a preference called "RBNoScanLocalDirs"; it is an array (a list of directories), which currently defaults to /Network/CIFS,/Network/Servers,/Net and /afs. RBrowser will not scan a directory that is on this list. So, if you click on /Network/CIFS in the viewer you will get an empty directory. This way, the Sharity mounts will not be set off just from the directory scan. You can still access the mounted directories in RBrowser by using the "Go/Go To Folder" menu option or by directly clicking into them by the viewer. Let's say there is a mounted CIFS host called "pepper" under which there is a "foo" directory. Bring up the go to Folder Panel and type: "/Network/CIFS/pepper/foo" and hit "Load." RBrowser will load the directory if exists. This should trigger the mount of "pepper" ONLY. The /Network/CIFS/ will not be scanned, it will show a single entry "pepper." You can safely put foo on the shelf, so you can easily find it later.

If you want to change this default to a different directory or turn it off altogether, use the command line interface in the Terminal App:
To turn this feature off (so /Network/CIFS will be treated like any other directory):
prompt>defaults write com.objectwarehouse.rbrowser4 RBNoScanLocalDirs '( )' <ENTER>
To change to another set of directories:
prompt>defaults write com.objectwarehouse.rbrowser4 RBNoScanLocalDirs '(/dir/foo,/dir2/foo1 )' <ENTER>


      

FTP problems and issues are discussed in the Using FTP Page.


      

SFTP protocol:
More potential problems described in the SSH Issues Page.

Empty Folders after SFTP login:

RBrowser does much more than other SFTP programs, it uses an ssh shell by default which has a lot more capabilities than a regular sftp connection other programs use. If the ssh login does not work, RBrowser automatically switches the a regular SFTP connection. It is rare, but does happen sometimes, that the ssh login does succeed, but the connection is still unworkable, folders are not listed, etc... This is usually caused by non-standard behaviour of the remote host, especially in the case of virtual unix hosts which are not real machines, only VPS software. If you have such problems with the default (ssh shell) connection, like empty folders and such there are two possible approaches:

  • Diagnose the problem: You can make RBrowser write a very verbose log to aid in debugging any problems. There is a Global Preference called "Show debug log". A verbose transcript will be written into the console log. This can be viewed by starting up the Console App (in /Applications/Utilities folder). This option is global, so it will apply to all connections. BE SURE TO TURN THIS OFF WHEN THE PROBLEM IS SOLVED as this option uses a lot of system resources.

  • Turn off shell access and default to a simple sftp connection: In this case RBrowser will act like any other SFTP client, but for most applications this will still work OK. Type "COMMAND N" or click the Go/New Site menu. That will bring up the login panel. Under the "Site List" pulldown find the site in question. If it is not there, then enter the hostname, username and password for this site. Set the protocol to SFTP. Click "Site Preferences". This will create a preferences file for this site before login and bring up the Site Preferences Panel. Click the Limits tab, and set SSH Mode options to "SFTP Only". Click Save to dismiss the panel and click "Connect" on the login panel. You should now have a standard SFTP connection.

No Shell Access:

The File Viewer's Title Bar shows the protocol (how RBrowser communicates with the remote host), the host's name and the user name. If the protocol is SFTP, there may be (ns) next to the protocol. That means that RBrowser was not able to get shell access to the remote host and has fallen back to using SFTP only. Some of the more advanced features, like compressing, remote-to-remote file transfers, and recursive file operations will not work in this mode. If you connect with the transcript on, there is usually some error message in the transcript showing why the shell connection failed. For example, some older linux machines do not have good enough shells. These are listed below. Also, shell access may be denied completely for security reasons (this is more common). After looking at the error messages in the transcript, shell access may be restored by installing another shell, or some required shell utilities to the remote host.

Connecting:

You are trying to connect to a remote host as 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. Failing that, you may be able to use the SSH protocol to log in. If you are connecting to LINUX, please make sure you read the Linux section in this document.

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, folders that are potentially changed with the operation are always reloaded after the operation. One common inducement for a silent failure is replacing a folder by dropping into its parent another folder with the same name. If some of the contents of the original folder are not writable, the whole operation will (silently on some systems) fail. In this case, always check permissions!

Remote-to-Remote Transfer Gotchas:

Direct Remote-to-Remote File Transfers work very nicely in RBrowser, as long as you observe some very simple rules:
1. The source machine must be able to resolve the target machine's name. If you are transferring from HOST1 to HOST2, HOST1 must be able to resolve the name HOST2. For this reason, always login using fully qualified hostnames, such as HOST2.MYDOMAIN.COM that can always be resolved. If the source host cannot resolve the target host, the transfer will just hang, and eventually time out.
2. As described above the username/password supplied at login time will be used to initiate an scp connection from user1@HOST1 to user2@HOST2. If you use special RSA keys while logging on to user2@HOST2, it is possible that those RSA keys do not work coming from user1@HOST1. More potential problems described in the SSH Issues Page.

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 may be /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, RBrowser 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 viewer, in which case the correct available space will be shown.

Files are lost during copying:

On the unix server, I have: 3flags.JPG and 3FLAGS.JPG in the same directory. When I copy them back to my OSX client, only one of the files shows up. What can it be? Well, RBrowser works as expected in this case. If you copy those files from a unix server which presumably has a ufs (case sensitive) filesystem and copy them back to an hfs filesystem on OSX, one file will overwrite the other, since hfs is not case sensitive, only case preserving. You need to keep that in mind when naming your files! Also, it is possible to keep a partition in your OSX box with a ufs filesystem so that you can have the same behaviour as the server.

LINUX issues:

In the SSH/UNIX protocols, RBrowser runs a Bourne (or compatible) shell on the remote system. This shell must be really consistent across multiple platforms, otherwise RBrowser cannot work with it. RBrowser loves the Korn shell (ksh), but /bin/sh works fine too. RBrowser looks for ksh and if is not there, it uses ash or zsh in that order. Here is the problem: all distributions of Linux come with bash instead of sh (/bin/sh is usually a link to /bin/bash). RBrowser has a really tough time with bash because it is inconsistent. The only good solution to this problem is to install ksh on the Linux system. After installing ksh, blow away the connection default file in ~/Library/Application Support/RBrowser (if exists) and reconnect. Most Linux systems today have ash at least, and at the time of this writing we have seen no problem with it.

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.

Changing Group on a file:

RBrowser uses chgrp to change groups of files on the remote system. Please note that currently, if the file is a symbolic link, chgrp will set the group on the target of the link, not the link itself.


      

ALL protocols:

SaveBack does not work:

There could be great differences between the local and remote box that could cause a failure in the modification checking mechanism. Plase make sure that the clocks on your and the remote box are not too far apart (unless they are in a different timezone). Use ntp (network time) wherever possible.

What to do if you are trying to do something and get the beach ball?

Maybe the remote host you are connected to is not responding. Try logging in using telnet or ssh from the Terminal. If the host is not responding correctly, RBrowser may get stuck 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.

App-Document Associations:
On some systems folders named xx.site or xx.com appear as files.. Why?

Most apps use "file packages" as their documents. These are directories with an arbitrary file structure. They use a filename extension to associate with an app. Regrettably, some apps claim very generic names as their documents. In these cases both in the Finder and in RBrowser they appear as files, not folders. RBrowser does not maintain app-document file associations, it gets them from the Finder.
The "File/Show Package Contents" menu can always be used to browse into a file package (just like the Finder). In later versions RBrowser will have a way to be told to ignore certain filename extensions. Also, in the Finder can be configured to ignore certain filename extensions and not treat it like a document of some app. Please see Apple's documentation for this.

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.