Technical Articles
ST01 trace activation results in TrStackPush: overflow of stack (50 recs)
While activating the trace in ST01 I was coming across the entries in my dev_wxx traces as below:
M *** ERROR => TrStackPush: overflow of stack at <> (50 recs) [trfile.c 2757]
M *** ERROR => TrStackPush: overflow of stack at <> (50 recs) [trfile.c 2757]
This was happening only while running the trace via ST01.
Little background about the ST01 and what happens during the execution of this transaction.
When you run the ST01 tx the program RSTRAC25 is called. ( for more information on how the routines are called please see this link here.
Trying to understanding what the entries mean :
ERROR => TrStackPush: overflow of stack at <> (50 recs)
The number of stackrecords for the existing stakslots is now full and no more stackrecords can be added.So whenever a newer stackrecord is incoming a overflow entry will be written, thus printing the entry “overflow of stack at <> “.
Regarding the (50 recs) , this value is that of the stack slot. The parameter that defines the stackslot is ‘rstr/stacksize ‘
Here the value of the parameter is set to 50 . In the entry therefore we can see TrStackPush: overflow of stack at <> (50 recs) , so ,
number of stacksrecords > stackslots , then the error entry is written.
PS: Due to security reasons I cant give more information on this parameter.
To me this entry TrStackPush: overflow of stack at <> (50 recs) is not really an error , but rather a warning.
In any case I increased the value of this parameter to 75 and this helped me get rid of the entries.
Also other workaround might be to run the st01 trace for a shorter period of time where not many stackslots would be consumed 😉
Let me know in case any queries.
Regards,
Manjunath Hanmantgad