SyMAP Troubleshooting  
AGCoL | SyMAP Home | System Guide | User Guide | Tour | Troubleshooting

Please send questions and suggestions to symap@agcol.arizona.edu.


Not enough memory with standalone

When running SyMAP as a standalone application: For very large projects, or queries involving multiple genomes (e.g., 5 or more), the Project Manager may run out of memory. To fix this problem, run symap with the -m parameter to increase the maximum memory used from the default 2048 MB to 4096 MB.:
     > ./symap -m 4096
Alternatively, you can edit the file symap and change
my $maxmem="2048m"; # change this line to use "4096m" 
You will also need to be using a 64-bit processor.

Return to top


Database connect errors

Error messages mentioning the database or SQL probably mean that the database connection could not be established or was lost. A message at startup means SyMAP was not able to connect to the database using the provided information in symap.config; see below for steps to debug this.

After startup, if the program is left idle for some time then its database connection will close and it will show a complicated-looking error on next usage. In this case the solution is to restart the program.

Following are some things to check for connection problems on SyMAP startup:

Check the database privileges

The database users specified in symap.config may not have necessary access to the database. If you are running the standalone version, then the relevant user is 'db_adminuser' (unless you are running a read-only session using 'symap -r' parameter). If you are running through the web applet, then is is 'db_clientuser'. In either case the user needs to have database access privileges from the machine where you are working. Note that MySQL privileges are granted specifically to certain users on certain machines. You can test the user access by using the MySQL command line client mysql, if it is installed on your machine, or by looking at the privilege table using an administration interface such as PHPMyAdmin. The mysqlaccess tool is also useful, if it is installed on your machine.

Check the MySQL configuration

The MySQL configuration file (/etc/my.cnf) should not contain any of the following lines that prevent remote access to the database.
     bind_address=127.0.0.1
     skip_networking 

Make sure the port is visible

If the database is on a different computer, test that its port 3306 is visible from your computer:
     telnet <server address> 3306
If it doesn't make a connection then either the server isn't running, or it is set to run on a non-standard port, or the port is blocked by a firewall. Contact a system administrator. (Note, to get out of telnet type "^]".)

Return to top


Slow queries

max_allowed_packet This should be at least 500M if possible (the units are bytes).

To check the value, start mysql and type:

show variables like "max_allowed_packet"; 
To change this variable, then type:
set global max_allowed_packet=1073741824;

Build problems

MySQL and startup

The database does not support Innodb tables
This can happen in a couple of ways ways. Look in the mysql log for clues.
  • MySQL started with the "skip-innodb" flag. Solution is to remove this.
  • InnoDB log file problems. This can happen if you change the log file size, without deleting the log file. Solution: shut down mysql, remove the innodb log file, and restart mysql.
    "The built-in MySQL server cannot run..."
    SyMAP comes with a MySQL server built in, but it does not run right if there is another MySQL server already running on the computer. There are two solutions: either stop the other server temporarily, or edit the parameters file to point SyMAP at that server (or another server) so it doesn't use the built-in MySQL.
    Please read "Security" section of the manual to find out how to run mysqld as root
    You are launching SyMAP as the unix root user, which is blocked by MySQL as a security hazard. Solution is simply to use a regular non-root user account.
    Can't create table (errno: 121)
    This can occur if you try to create a SyMAP database whose name differs only by case from an existing database, e.g. "symapTest" when "symaptest" already exists.
    /lib64/libc.so.6: version `GLIBC_2.7' not found
    If this occurs while you are doing an alignment, it means that some libraries on your system are not compatible with those required by the version of MUMmer which is included with SyMAP. To solve this you will need to obtain the MUMmer source code distribution and compile it on your own system, which is not hard to do (however,
    note this important detail). Then, copy the binary named "mummer" to the appropriate ext/mummer/<platform> directory and re-run SyMAP.

    Return to top

    Slow to load sequence and annotation

    Two MySQL settings are especially important for SyMAP performance (and generally for InnoDB table performance). You can set these in the MySQL configuration file "my.cnf" and restart MySQL. Note that my.cnf is located at /etc/my.cnf, on both Linux and Mac.

    innodb_buffer_pool_size The default is too low for most purposes. You should set this to around 1Gb if possible (note that the units are bytes).
    innodb_flush_log_at_trx_commit=0 The default setting is 1, which results in very slow uploading of data.

    To check the values, start mysql and type:

    show variables like "innodb_buffer_pool_size"; 
    show variables like "innodb_flush_log_at_trx_commit"; 
    
    To change the variables, then type:
    set global innodb_buffer_pool_size=1073741824;
    set global innodb_flush_log_at_trx_commit=1;
    
    Different machines and MySQL installations can produce different results with these variables. If the SyMAP demo-seq to demo-seq2 load and synteny computations seem slow, try different combinations of these two variables to see what performs the fastest inserts.

    "Status window disappeared"

    Occasionally the status window disappears when running an alignment. Clicking the top of the project manager sometimes brings it back. Otherwise, just check the output to the terminal, which tells you when it is done. You may have to restart the project manager to see the results.

    MUMmer failed

    Try using a hard-masked genome sequence. Ensembl supplies both soft-masked and hard-masked genome sequences.

    MUMmer/PROmer cannot handle large sequences

    If the alignment doesn't produce results and you see errors indicating that PROmer cannot produce the .aaqry file, then the mummer binary may not be 64-bit. You can tell for sure by looking at the output lines like
    # (maximum reference length is 536870908)
    # (maximum query length is 4294967295)
    
    If you see small numbers like this, it is not 64-bit. For 64-bit, the numbers are extremely large, much larger than any possible genome. To build a 64-bit mummer, you must set
    #define SIXTYFOURBITS 
    
    in src/kurtz/libbasedir/types.h (and, of course, compile on a 64-bit machine). We fixed this problem in the 3.4 version of SyMAP, for lintel64, but if you're building for a different platform you'll have to make this fix.

    "No anchors loaded"

    This message indicates that SyMAP could not parse the MUMmer or BLAT output files to load the anchors.

    The most likely reason is that MUMmer or BLAT failed to run. Usually this is because the platform (linux 32/64 bit, or mac) was not detected properly. First try re-starting symap using the '-32, -64, -linux, -mac' parameters to specify your platform (run 'symap -h' for list of parameters).

    The next likely cause is trying to run a whole-chromosome MUMmer alignment on a 32-bit machine. MUMmer usually uses more than 2Gb per thread, which is not possible on a 32-bit machine. If you suspect this is the problem, try running on a 64-bit machine. If you compiled MUMmer yourself, check the above section.

    If that does not resolve the problem, The next step is to look in the project .log file in the /logs directory for more detailed error messages. Then, you should look at the MUMmer log files (extension .mum.log) in the directory

    logs/<proj1_to_proj2>
    
    These contain the messages printed by MUMmer, and should show why it failed to run.

    BES not loaded, or BES hits not loading

    Generally, this is caused by a name formatting error. Make sure the BES names are formatted as clone names with extension "r" or "f". The clone names should exactly match those in FPC, and there should be no other prefix or suffix. Do not use ".r" or ".f".

    Return to top


    Web problems

    Unable to view Java applets

    • SyMAP requires the Java Runtime Environment (JRE) version 7 or later. The latest version tested is Java 8 Update 221.
    • Java Applets ONLY work with Windows Internet Explorer and Mac Safari.
    • A popup will first appear asking you to confirm that you trust this website.
    • It is useful to have the Java Console enabled so you can view the SyMAP trace output.

    Not enough memory on web

    This section may be out-of-date.

    When running SyMAP from a web page (i.e., as an applet): The default Java applet memory limit is very low, and memory may run out for large displays or for the 2D Base View. Increase the Java memory limit for your system using the instructions below:

    On Windows:

    1. From the Start menu button, select Settings, then Control Panel to open the Control Panel. Or right click on the Java icon in the lower right of the task bar.
    2. Double click the Java icon to open the Java Control Panel.
    3. Select the Java tab.
    4. Click the View button under Java Applet Runtime Settings.
    5. For each row, click the Java Runtime Parameters column and type -Xmx512m and press enter.
    6. Click the OK button to close the Control Panel.
    7. Restart your browser.
    On Mac:
    1. In the Finder, select Go then select Applications.
    2. In the new window select Utilities, then double-click Java Preferences to open the Java Control Panel.
    3. Select the top-most Java version in the list under Java Applet Plugin and click Options.
    4. Under Java Runtime Parameters enter -Xmx512m.
    5. Click the OK button and close the Control Panel.
    6. Restart your browser.
    On Unix:
    1. First locate the Java plugin file, under your home directory in either ~/.mozilla/plugins or ~/.mozilla/firefox/plugins
    2. Use ls -l to find where the plugin is linked from. This is the Java install directory.
    3. Change to the install directory and execute bin/ControlPanel to open the Java Control Panel.
    4. Select the Java tab.
    5. Click the View button under Java Applet Runtime Settings.
    6. For each row, click the Java Runtime Parameters column and enter -Xmx512m.
    7. Click the OK button to close the Control Panel.
    8. Restart your browser.

    Return to top


  • Email Comments To: symap@agcol.arizona.edu