The University of Arizona
TCW Troubleshooting
  AGCoL | TCW Home | Doc Index | singleTCW Guide | DE Guide | multiTCW Guide | Tour



MySQL suggested settings

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

For all TCW software, the mySQL variable max_allowed_packet must be a reasonable size. To check the value, either:
	./runSingle -v
or, start mysql and type:
	show variables like "max_allowed_packet"; 
To change this variable, start mysql and type:
	set global max_allowed_packet=1073741824;
Testing on:
MacOS Catalina with MySQL v8.0.17 the above variable seems to be the only important one.
Linux x86.64 (Centos 7) with MariaDB v10.4.12 two more variable are important for assembly, as discussed in the next section.


Two MySQL settings are especially important for assembly 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 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.

MySQL connection errors

Go to top
If TCW cannot connect to the database, generally the problem is the access privileges of the DB_user in the HOSTS.cfg (firewalls are another common problem - talk to your system administrator).

MySQL privileges are very specific and must exactly match the hostname in HOSTS.cfg.
For example, if DB_host = localhost, DB_user=user, then privileges must be granted to 'user@localhost'. Sometimes you may need equivalent variants, e.g. if localhost has IP and domain, you may also need 'user@' and ''.

Privilege problems are easiest to debug by running the 'mysql' command line client. Run:

	mysql -u <DB_user> -p -h <DB_host>
and enter the DB_password when prompted. If this fails, then the user/password privileges have to be corrected. If it succeeds, then try to add and drop a test database:
	>create database TCW_PRIVTEST;
	>drop database TCW_PRIVTEST;
If this fails you can still run TCW, but you will need an administrator to create the TCW database since runSingleTCW cannot do it.

Out of memory

Go to top
Java applications must specify their memory usage in advance, so it is very important to set it high enough. The setting is adjusted by editing the appropriate launch script, by increasing the "-Xmx" parameter value on the java command line.

If you run out during initial project loading, edit the execLoadLib script to increase the numeric value of "-Xmx8192m", and load using ./execLoadLib <project>.

If you run out during instantiation/assembly, edit the execAssm script to increase the numeric value of "-Xmx8192m" , and run the instantiation using ./execAssm <project>.

If you run out of memory while annotating, edit the execAnno script to increase the numeric value of "-Xmx8192m", and add your annotation using ./execAnno <project>.

If you run out of memory with runDE, viewSingleTCW, runMultiTCW, or viewMultiTCW, edit the respective script to increase the numeric value of "-Xmx8192m" and re-run.

External executable problems

Go to top
These program are in the TCW subdirectories /Ext/linux and /Ext/mac.

Not executable

If on startup, you get a message like:
	***Error: file is not executable: ext/mac/mafft/mafft.bat
From the /Ext directory, chmod -R 775 mafft to give all necessary executables and scripts in the directory permission to execute.

NOTE: MacOS 10.15 (Catalina) does not allow downloaded programs to execute. Running through TCW, you will either get popup that states "xxx cannot be opened because developer cannot be verified", or the program will just fail. See MacOS.

External program fails

Generally, the command is written to the terminal by TCW. Copy and paste it at the command line. By executing it like this, you will see all the external programs messages, which generally elucidates the problem.

If this does not work, try executing it in the /Ext directory, which may indicate the problem.

It may be necessary to compile the program for your machine and replace the existing executable, in which case, see Install Replace Executable.

Errors reports

Go to top
ProgramError fileLog file
   Build DatabasesTCW.error1.logprojects/<name>/logs/load.log
Everything else

The error log file may indicate the problem, otherwise, email it to tcw at

Email Comments To: