Why do I get 'Error getting the current working directory' messages?

Overview

The Urchin applications and utilities access a global directory configuration mechanism which allows each application to correctly determine the path to the binaries and data files. This mechanism uses a system call to determine the current directory. There may be times when this call will fail because the permissions on the current working directory do not allow access by the user that Urchin applications/utilities are configured to run as. The resulting diagnostic is Error getting the current working directory

Example

Consider the case where Urchin is installed in /usr/local/urchin4 and is owned by user www (group www). The urchind binary (as well as all the uconf utilities are setuid programs and will therefore execute as the www user. Now assume that you are logged in as user localuser, and your current working directory is /home/localuser which grants read, write and execute permissions only to the owner (mode 700), i.e.:

    drwx------  2 localuser  web  512 Jun 15  2002 localuser
    
If you now su to root and attempt to run
    /usr/local/urchin4/bin/urchinctl start
    
the Urchin Scheduler urchind attempts to start as user www, which has no permissions in the /home/localuser directory. The resulting error message will be:
    Error getting the current working directory
    

Remedy

To ensure that the Urchin applications can start and run properly, always ensure that your current working directory is one where the user that Urchin is installed as has permissions. Generally, the best bet is to change directory to where the Urchin distribution is installed. Other safe directories are /tmp and /var/tmp.