Troubleshooting tsh

What to do when things go wrong with tsh.

Updated Sun Apr 10 09:44:51 EDT 2005 for tsh 2.900.

Correcting Tournament Data

You can delete bad pairings using the "unpairround" command, edit scores using the "editscore" command and delete bad scores using the "deletescore" command. See the command reference for the syntax of those commands.

If you have made a serious error, you can manually revert to an earlier version of any tournament data ('.t') file. tsh journals a copy of the tournament data file into a subdirectory or folder named "old" after each major change. Quit out of tsh, then look for the last good data file (either by checking the timestamps or inspecting the contents of the files), rename the bad '.t' file to '.t.bad' and put a copy of the journalled '.t.lotsofnumbers' file in its place as a new '.t' file.

You can also edit '.t' files using a text editor. If you do so, first quit from tsh, because tsh keeps an internal copy of its data that will overwrite any changes you make when tsh next updates its files.

Crashes

If you are testing a new tsh feature, it's possible that a program bug may put tsh into an infinite loop or dump core. In the former case, when tsh doesn't give you a prompt, you'll have to interrupt tsh and restart it. In OS/X and Unix, you interrupt terminal processes by pressing Control-C.

As mentioned above, tsh journals its data after each major command, so if you are unsure about the condition of its files after a crash, revert to the last versions that were saved before the crash.

Errors and Informational Messages

Here is a partial list of errors and other informational messages that tsh may issue, along with suggested courses of action.

NumberText and Explanation
E001 Can't yet autopair division D round R: missing a score for P (and maybe others) in round R.
You have asked to view pairings that tsh does not yet know how to compute. You may still be missing scores from the current round: use the “MISSING” command to see which ones. You may have an error in your 'tsh.config' file: for example, you may have misentered the number of the round on whose results this round's pairings depend.
E002 Can't yet autopair round R; next round to pair is R.
You have asked to view pairings that tsh is not yet ready to compute. For a large number of reasons, it is important that there be no gaps in a player's pairing schedule. Most of the time, you should just “ShowPair” the previous round to generate its pairings first. If it is really important that you calculate a round's pairings before even pairing all of the previous round, enter an arbitrary pairing for the previous round and then use the “PAIR” or “PairMany” commands to go back later and correct them. If you find a situation where this is necessary, please contact John Chew so that he can make it easier to do so in a future version of tsh.
I003 Auto-pairing.
You have asked to view pairings that tsh is now ready to compute, based on “autopair” commands in the ‘tsh.config’ file. There may be a slight delay before an additional message appears, describing what sort of pairings were computed.
E004 P was supposed to go first.
You have the configuration option “track_firsts = 1” enabled, so tsh is keeping track of who went first or second. With this option, you must enter game scores in first-player second-player order, or else you may see either this message or E005 below. ("May", because if players have to draw to determine first and second, tsh has no choice but to assume that your data entry was correct.) If you are following standard NSA practice and taking the score slip to be the sole official record of the game, then you should correct tsh's record of who went first. If you have not entered another score yet, and are still in “Addscore”, just enter “es” and then “second”. If you have gone on to do other things, use the main “EditScore” command to edit the appropriate scorecard data.
E005 P was supposed to go second.
See message E004.

If All Else Fails...

My phone number is (416) 876-7675. If you arrange with me beforehand, I'll make sure that I'm easily reachable at that number during your tournament. If you didn't prearrange my availability and you're reading this because something has just gone unexpectedly wrong during a tournament, please try calling me anyway.