Troubleshooting
Troubleshooting an OMERO Installation
Known Operating System issues
- Gentoo requires a special patch for compiling Ice (link requested)
- Ubuntu 08.04 has issues with older Ice packages (ome-users thread)
- OpenSuSE 10.1 has issues with Python 2.4/2.5 and Ice (ome-users thread)
Which password do I use where?
There are a total of three types of user accounts which are important during the installation process.
The first type includes accounts on your machine. There is one regular account (either your own or one you created specially for running OMERO, we'll call it "omero" here); there is the user called a "root-level user" on the Unix installation page (which includes Mac OS X) and "administrator-level user" on the Windows installation page; and there may be a special "postgres" user who controls the database server. The regular "omero" account runs the server, and owns the files uploaded to OMERO. Some operations in the install scripts require the root-level/administrator-level user in order to become another user like "postgres" to perform particular operations, but the server should never be run as the root-level/administrator-level user or as the database-owner.
The second type of account is the database account. The database-owner ("postgres") can create users completely separate from the accounts on your machine. (Though confusingly, the database-user may have the same name as an account on your machine, in which case a password might not be necessary.) This is used at run time by OMERO to talk to your database. Therefore you have to configure the "omero.db.*" values during installation.
bin/omero config set omero.db.user omero bin/omero config set omero.db.pass secretThe last type of account are OMERO accounts. The first user which you will need to configure is the "root" OMERO user (different from any root-level Unix account). This is done by setting the password in the database script:
bin/omero db script
Other OMERO users can be created via the web admin tool. In no case, do any of the passwords have to be the same (or should they unless you are using the LDAP plugin...)
OutOfMemoryError in OMERO.server logs
Out of memory errors can be caused by many things. Fundamentally you may be asking too much of the server and require and increase of the maximum Java heap space. This can be done by modifying the IceGrid configuration for your OMERO.server as follows:
In
etc/grid/templates.xml:... <server-template id="BlitzTemplate"> <parameter name="index"/> <parameter name="config" default="default"/> <server id="Blitz-${index}" exe="java" activation="always" pwd="${OMERO_HOME}"> <!-- Debugging options: <option>-Xdebug</option> <option>-Xrunjdwp:server=y,transport=dt_socket,address=8787,suspend=n</option> --> <option>-Xmx512M</option> <option>-Djava.awt.headless=true</option> <option>-Dlog4j.configuration=${OMERO_ETC}log4j.xml</option> ...Replace
-Xmx512Mwith-Xmx1024Mor greater as required.
Import error when running bin/omero ...
Traceback (most recent call last):
File "bin/omero", line 67, in ?
import omero.cli
ImportError: No module named omero.cli
If you get any import related errors while running bin/omero, the most likely cause is that your PYTHONPATH is not properly set.
If you installed Ice globally via your package manager, make sure you included ice-python
If you installed Ice manually, e.g. under
/opt/Ice-3.3.1you need to add/opt/Ice-3.3.1/python(or similar) to your PYTHONPATH environment variable. See the Ice installation instructions for more information.
Remote clients can't connect to my OMERO installation!
The OMERO WebAdmin appears to work fine and you may or may not have created some users but no matter what you do remote clients won't speak to OMERO. OMERO.insight gives you an error message similar to the following (and you know that you've put the correct username and password into the OMERO.insight dialog):
This often because of firewall misconfiguration on the machine that runs your OMERO server which affects the ability of remote clients to locate it. Please see the OMERO security page.
Server fails to start
- Check that you are able to successfully connect to your PostgreSQL installation as outlined on the OmeroAndPostgres page.
-
Check the permissions on your
omero.data.dir(/OMEROby default) as outlined on the OmeroInstall page, in the ''Pre-Installation'' section.
Connection Problems and TCP Window Scaling
Later versions of the 2.6 Linux kernel, specifically 2.6.17, have TCP window scaling enabled by default. If you're having initial logins never timeout or problems with connectivity in general you can try turning the feature off as follows:
# echo 0 > /proc/sys/net/ipv4/tcp_window_scaling
You can read more about the problems surrounding TCP window scaling [http://kerneltrap.org/node/6723 here].
My Server Crashes With...
-
X11 connection rejected because of wrong authentication -
X connection to localhost:10.0 broken (explicit kill or server shutdown).
OMERO uses image scaling and processing techniques that may be interfered with when used with SSH X11-forwarding. You should disable SSH X11-forwarding in the SSH session you will use to start OMERO.server by using the -x flag as follows:
ssh -x my_server.examples.com
Server or clients print "WARNING: Prefs file removed in background..."
Nov 12, 2008 3:02:50 PM java.util.prefs.FileSystemPreferences$7 run
WARNING: Prefs file removed in background /root/.java/.userPrefs/prefs.xml
Nov 12, 2008 3:02:50 PM java.util.prefs.FileSystemPreferences$7 run
WARNING: Prefs file removed in background /usr/lib/jvm/java-1.7.0-icedtea-1.7.0.0/jre/.systemPrefs/prefs.xml
These warnings (also sometimes listed as ERRORS) can be safely ignored, and are solely related to how Java is installed on your system. See http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4751177 or perhaps this thread on our mailing list for more information.
OMERO.web and "ImportError: No module named rtypes."
To avoid that error please change the following in your settings.py:
import os.path
import sys
import datetime
import logging
import omero
import omero.clients
OMERO.web is not accessible from remote computer.
If you require to configure the out of the box setup to listen for webadmin and webclient connections on different host configure the following:
Configure the following in
~/Desktop/omero/etc/grid/templates.xmlby adding after --noreload:<server-template id="WebTemplate"> <parameter name="act" default="on-demand"/> <server id="Web" exe="python" activation="${act}" pwd="${OMEROPY_HOME}omeroweb"> <option>manage.py</option> <option>runserver</option> <option>--noreload</option> <option>10.0.0.1:8000</option><!-- your ip & port here --> <env>${PYTHONPATH}</env> <adapter name="WebAdapter" register-process="true" endpoints="tcp" server-lifetime="false"/> </server> </server-template>In your
~/Desktop/omero/lib/python/omero/plugins/directory configure the following inserver.py:django = ["python","manage.py","runserver","0.0.0.0:8000","--noreload"]+list(args)
OMERO.web did not start on the production.
The user opening a SQLite3 database needs write permissions to the directory containing the database file and the user opening OMEROweb.log files needs write permissions to the directory containing the logs file. So, bee sure you have a "database" and a "log" directory with the correct ownership, the db.sqlite3 inside the "database" directory and correct path set in DATABASE_NAME matches database file.
In the
/home/omero/omero_dist/lib/python/omeroweb/settings.pydouble check the configuration in the following :DATABASE_NAME
DATABASE_NAME = '/home/omero/webdb/db.sqlite3'LOGDIR
# LOGS # to change the log place, please specify new path for LOGDIR. # LOGDIR = os.path.join(os.path.dirname(__file__), 'log') # LOGDIR = os.path.join(os.path.join(os.path.join(os.path.join(os.path.dirname(__file__), '../'), '../'), 'var'), 'log') LOGDIR = '/home/omero/weblog/'
Checking if
/home/omero/omero_dist/lib/python/omeroweb/custom_settings.pyand/home/omero/omero_dist/lib/python/omeroweb/initial_data.jsonexist:Checking who owns the database directory and files:
$ ls -al /home/omero/webdb/ total 81 drwxr-xr-x 2 apache apache 80 Mar 31 16:29 . drwxr-xr-x 10 apache apache 488 Mar 31 16:28 .. -rw-r--r-- 1 apache apache 81920 Mar 31 16:29 db.sqlite3Checking who owns the log directory and log files:
$ ls -al /home/omero/weblog/ total 49 drwxr-xr-x 2 apache apache 120 Mar 31 11:29 . drwxr-xr-x 10 apache apache 520 Mar 31 11:29 .. -rw-r--r-- 1 apache apache 23766 Mar 31 11:41 OMEROweb.log -rw-r--r-- 1 apache apache 23978 Mar 31 11:41 OMEROweb.log.2009-03-31or create log and database directories with
apache_user:apache_groupownership or another who you want to run with:mkdir /home/omero/weblog chown apache_user:apache_group /home/omero/weblog mkdir /home/omero/webdb chown apache_user:apache_group /home/omero/webdb
OMERO.web login screen contains empty list of servers.
Double checking if /home/omero/omero_dist/lib/python/omeroweb/initial_data.json was generated by bin/omero web superuser
OMERO.web 'Drive space' does not generate pie chart/'My account' does not show markup picture and crop the picture.
Error message says: 'Piechart could not be displayed. Please check log file to solve the problem'.
Please check var/log/OMEROweb.log for more details. There are few already known possibilities:
- 'TclError: no display name and no $DISPLAY environment variable'. Turn off the compilation of TCL support in matplotlib.
- 'ImportError: No module named Image'. Install Python Imaging Library - packages should be available for your distribution from here. Also double check if all of the prerequisites were installed from here
Mod_python error: "PythonHandler django.core.handlers.modpython"
Double check if apache_user has enough permissions to: '/home/omero/omero_dir/lib/python/', '/home/omero/omero_dir/lib/python/django', '/home/omero/omero_dir/lib/python/omeroweb'.
I cannot access page http://localhost:8000/webadmin/
OMERO.web ships with OMERO.server and is started by default using the Django built-in web server. This is designed to be development environments. If something goes wrong you can try to start it manually:
Set PYTHONPATH manually:
on non-Windows platform:
$ export PYTHONPATH=$PYTHONPATH:/home/omero/omero_dist/lib/python/ $ echo $PYTHONPATH /opt/local/share/ice/python:/home/omero/omero_dist/lib/python/:on Windows platform:
C:\>set PYTHONPATH=%PYTHONPATH%;C:\OMERO\lib\python C:\>echo %PYTHONPATH% C:\Ice-3.3.0\python;C:\omero-dist\lib\pythonIn your
/home/omero/omero_dist/lib/python/omeroweb/orC:\omero-dist\lib\python\omerowebdirectory configure options insettings.py. For more details please click here.Initialize the Django settings as Pre-configuration
Run the webserver:
on non-Windows platform:
$ python manage.py runserver Validating models... 0 errors found Django version 1.0-final-SVN-unknown, using settings 'omeroweb.settings' Development server is running at http://127.0.0.1:8000/ Quit the server with CTRL-BREAK.on Windows platform:
C:\omero-dist\lib\python\omeroweb> python manage.py runserver Validating models... 0 errors found Django version 1.0-final-SVN-unknown, using settings 'omeroweb.settings' Development server is running at http://127.0.0.1:8000/ Quit the server with CTRL-BREAK.

