The University of Arizona
SyMAP Trouble  
AGCoL | SyMAP Home | Index | System Guide | User Guide | Tour | Troubleshooting
Please send questions and suggestions to symap@agcol.arizona.edu.
SyMAP cannot be improved or problems fixed without user feedback!

Contents


Memory

Not enough memory

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" 
For memory issues related to running MUMmer, see
MUMmer.


MySQL suggested settings

Go to top

Slow to load sequence and annotation

Two MySQL settings are especially important for SyMAP performance (and generally for InnoDB table performance).

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=0;
Alternatively, You can set these in the MySQL configuration file my.cnf and restart MySQL. Note that my.cnf is typically located at /etc/my.cnf, on both Linux and Mac.

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.

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;


MySQL

Go to top

Database connect errors

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, or it may say this:
com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception:

** BEGIN NEXTED EXCEPTION **
In this case the solution is to restart the program.

On startup, 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. First, make sure your db_adminuser and db_adminpasswd are correct.

These days, the best way to find the MySQL problems is to search the internet. However, the 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 running the read/write symap, then the relevant user is db_adminuser. If you are running a read-only session using viewSymap, it will use the read-only db_clientuser or read-write db-adminuser. 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 does not make a connection then either the server is not 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 "^]".)

MariaDB cannot connect

Go to top
If you are using MariaDB (post version 10.4.12) and get the error:

Unable to connect to the mysql database on localhost; are username and password correct?
Try adding the following lines to the /etc/my.cnf:
[mysqld]
character-set-server=utf8mb4
And restart MariaDB with systemctl restart mariadb.

Thanks to Lori for this solution!

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.

    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.

    Alignment

    Go to top

    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 symap to see the results.

    No anchors loaded

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

    FPC: 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".

     

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