There are many layers to, and aspects of troubleshooting. What you need to look for may differ with what you're trying to solve. However, some basics considerations are common to all.
Examples of these are:
- Be calm and curious and sequential in your analysis (one step at a time). If you're upset or panicking, you'll overlook things and make mistakes.
- Trace back to where the first thing went wrong, and start there.
- Consider all the underlying assumptions that were made at that point: make a list if you need to; remember that multiple layers are working here (network, hardware, software libraries, databases, files, the BASH shell, etc.)
- Sequentially check out each assumption to verify it is valid in this case.
- Solve each problem one tiny step at a time, and test after each step. (Make sequential backups if you are changing scripts. Document what you've tried that worked and did NOT work, so you don't keep trying the same things over and over.)
- It may be that more than one thing is wrong; so don't stop testing when you solve something.
- If you get stuck, back off and leave it alone for awhile. Go do something else, and allow the other half of your brain to work on it. You'll be amazed when suddenly out of the blue, you're struck with a possible solution, or an idea to test something you didn't consider before.
- Having another set of eyes on the problem helps: two brains are better than one!
Here are some common problems you might encounter during the Quality Control process. If the QC script is giving you errors but you can't determine the problem, consider one of the following:
- Check the number of digits in each section of the filename.
- Check to see if the starting letter of the filename is a lowercase character.
- Check to see if you have created items on both levels. Is there a single tiff with the same name as a multiple-tiff directory?
- Check to see if the filenames of tiffs in a directory match the name of the directory.
- If the filenames of an item are not consecutive, check to see if the filenames are incorrect or if there are rescans that need to be done.
- Is the mount point down? (Network issues between the share drive and the libcontent server). If so, see Mount Points
- If this script uses the database, is MySQL down? (see MySQL) If so, contact OIT.
- Are you using the right script for this type of content?
- Check to see whether:
- files are where they are supposed to be (exactly)
- file names are correct (exactly)
- files have size zero
- files are in UTF-16 (which our Perl scripts are not set up to read) instead of UTF-8
- files contain exactly what they're supposed to contain and in the right order (examples: outdated or modified spreadsheet, missing/mixed up columns in log file, missing elements in collection xml file, extra spaces or newlines, etc.)
- Is there anything NEW about this content that we may not have scripted for?
- Has the script been changed since the last time we successfully ran it on content?
- If not, how is this content different from the last set of content it processed?
- If so, compare the current script to the last version and see what changed; it may need modifying. Test.
- Have any libraries or underlying software packages changed?