Example of Trace Logging in Use

Let us assume that your work processes terminate sporadically. In the work process trace file, there is always a message like the following just before the termination point:

*** Error => ShmProtect(1002,3) shmat(4,0x700000490000000,(SHM_RND 0)) (22: Invalid Argument) [shmux.c 2904]

However, you cannot reproduce the problem. You have configured 20 work processes and do not want the trace files to occupy more than 500 MB in the work directory.

In RZ11, set the parameters as follows:

Parameter

Setting

Reason

rdisp/TRACE_LOGGING

on, 10 m

Trace logging is active. When the trace files reach 10 MB, they are copied to <file name>.old. In the case of 20 work processes, this makes 400 MB, plus the dispatcher trace and some buffer.

rdisp/TRACE_PATTERN_0

Error => ShmProtect* shmat*

The wildcard symbol * can be any character string.

rdisp/TRACE_SEARCH_LIST

WP, DISP

Only the work process trace file and the dispatcher trace file are logged. The gateway, the message server, and the ICM are not relevant here.

rdisp/autothtime

Keep the default of 60.

It should not be necessary to change the time interval at which the task handler checks the trace files. However, if so much trace is written that the size limit is reached within one minute, this value can be reduced.

Now change the trace level from the default 1 to 2 or 3. To do this, open SM50, select all work processes, and choose Process ® Trace ® Active Components. You can specify the components and the trace level in the dialog box that opens. For an error of this type, it should be sufficient to select the components Taskhandler, ABAP Proc., Scrn.proc., and Extended Memory. To increase the trace level of the dispatcher, choose Process ® Trace ® Dispatcher ® Change trace level.

You can now let the system run and check periodically whether the pattern was found. If the pattern is found, the parameter rdisp/TRACE_LOGGING is automatically set back to OFF, and the trace level is set back to 1 (default). This is indicated in SM50 when the processes no longer have a yellow background. Once this happens, you can look in the trace files of the work processes and in the older trace files (files with the extension .old) to see what preceded the error.

Once you have finished your analysis, you can either reset the parameters in RZ11 or re-start the system. Any dynamic changes made to parameters are then lost.