IBM Support

I think I have a loop in my TCP/IP code; what documentation do I need to gather?

Question & Answer


Question

Need help on what documentation to gather if there's a loop in my TCP/IP code.

Answer

If you suspect you have a loop in z/OS Comm Server TCP/IP, gather the following documentation and send it via the instructions found here: http://www-01.ibm.com/support/docview.wss?rs=852&uid=swg21298465

Get dump output.

 Enabled

 Get an SVC dump of TCP/IP or the looping TCP/IP component by issuing the DUMP command from the MVS system console, or press the Program Restart key. Refer to the z/OS MVS Diagnosis: Tools and Service Aids for more information about the DUMP command.

 Guidelines: Ensure that the following storage areas are dumped because they might be needed to diagnose the TCP loop:

     TCP/IP and VTAM address spaces.

     SDATA options RGN, CSA, LSQA, NUC, PSA, and LPA.

     CSM dataspace. To find the name of the CSM dataspace, issue the DISPLAY net,CSM command. Specify the CSM dataspace name in the DUMP command as DSPNAME=(1.dddddddd) where dddddddd is the name of the CSM dataspace. 

Disabled

If the loop is disabled, the MVS system console is not available for input. Try the following steps:

 Use a PSW RESTART to terminate a looping task. This process creates a LOGREC entry with a completion code of X'071'. Use the LOGREC record and the RTM work area to locate the failing module. Depending on the PSW bit 32, the last three bytes (24-bit mode) or four bytes (31-bit mode) contain the address being executed at the time of the dump. Scan the dump output to find the address given in the PSW. For more information on using PSW RESTART, refer to z/OS Communications Server: SNA Diagnosis Vol 1, Techniques and Procedures.

 Take a stand-alone dump. Refer to z/OS MVS Diagnosis: Tools and Service Aids for information about stand-alone dumps. 

Get the MVS system console log (SYSLOG), the job log from the started procedure, and the LOGREC output.

The MVS system console log might contain information, such as error messages, that can help you diagnose the problem. Also, print the LOGREC file.

Use the LOGDATA option to print the in-core LOGREC buffers. Refer to z/OS MVS Diagnosis: Tools and Service Aids or z/OS MVS IPCS Commands for more information about the LOGDATA option.

Tip: The SYSERROR data set might contain additional information to help you diagnose the problem.

Determine whether there are any messages associated with the loop, such as a particular message always preceding the problem, or the same message being issued repeatedly. If so, add the message IDs to your problem documentation.

Examine the trace entries using IPCS.

By examining all of the trace entries in the system trace table, you might be able to determine whether there is a loop. The most obvious loops would be a module or modules getting continual control of the TCP/IP system.

Use the PSW to determine the names of the modules in the loop. Refer to the z/OS MVS IPCS User's Guide for information about using IPCS.

In the output shown in Figure 2, the CLKC entries indicate an enabled loop. The PSW addresses on the CLKCs identify the looping program. Use the WHERE subcommand to locate the responsible program.

System trace example:

 _______________________________________________________________________________ 
02-0029 008E7220 CLKC 078D2600 83A8192C 00001004 00000000 02-0029 008E7220 CLKC 078D2600 83A81934 00001004 00000000 02-0029 008E7220 CLKC 078D2600 83A81930 00001004 00000000 02-0029 008E7220 CLKC 078D2600 83A8192A 00001004 00000000 02-0029 008E7220 CLKC 078D2600 83A81930 00001004 00000000 02-0029 008E7220 CLKC 078D2600 83A81938 00001004 00000000 _

[{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SSSN3L","label":"z\/OS Communications Server"},"Platform":[{"code":"PF035","label":"z\/OS"}],"Component":"","Version":"","Line of Business":{"code":"LOB35","label":"Mainframe SW"}}]

Product Synonym

ZOSCS COMMSERVER

Document Information

Modified date:
16 June 2015

UID

dwa1196802