TFDS Manual
Tandem Failure Data System (TFDS) Manual—520628-003
E-1
E Debugging TFDS Errors
This appendix is intended for developers or qualified support personnel who use failure
data to debug TFDS errors. Methods for finding the cause of TFDS errors are
suggested in sequential order, from simple to more complex. If the first method does
not apply to your situation or help you identify the problem, proceed to the next
method.
1. Look for TFDS event messages to get a general flow of the TFDS processing and
an idea of where the failure occurred. TFDS events are put in the $0, $ZLOG, and
perhaps other collectors. An event viewer such as WebViewPoint provides an easy
way of examining these event messages.
2. If a saveabend file is available, use INSPECT to examine the file.
Examine the ciobuffer0, which is the TFDS trace buffer. It is a circular buffer that
should have the information about the detailed step prior to the failure. You can
capture the contents of the ciobuffer0, copy it to an editor to hand edit (such as
replacing all occurrences of 0? with \n). Check to see if and where the buffer
wrapped. This is usually obvious as part of an incomplete line. The events that
precede it in the log might indicate the cause of the problem.
3. Try to re-create the failing condition to determine the problem. Use the following
steps with TFDS and TFDSCOM running:
a. In TFDSCOM, enter:
trace init
(This clears the TRACEFIL, increases the trace level to 3 (so the TRACEFIL
will have a greater level of detail than the default level when you rerun the
program), and turns the timestamp on.)
b. Try to re-create the failure condition. This attempt might involve:
•
Using the ANALYZE FILENAME CPU03
•
Rerunning the program that caused TFDS to issue the failure event
c. Examine the TRACEFIL in the subvolume where you started TFDS. This trace
has detailed tracking and data information, such as:
Note. The stack trace is usually of little value. Because TFDS is multithreaded, it is difficult
to determine what step the problem thread executed last.