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>

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.