Technical Articles
Work process hanging while trying to view the system trace log via ST01
Purpose/Motivation
While trying to view the system trace log via ST01 I could see my work process hung and I could not work anymore. This only occurred when I was working with tx ST01.
Troubleshooting
I started by checking in the dispatcher trace file (this is the starting point for analyzing the issue related to such symptoms ). In dispatcher trace file ( dev_disp ) I could find the following entries :
DpWpMutexLocked: WXX inside critical section (mtx ?)
DpHdlSoftCancelForActiveProgram: wp XX inside critical section, reschedule softcancel (level 1)
Here I could notice there was something not right with the way the work process functioned.The work process XX was getting mutex locked and the lock was not being released.
Trying to decode the the meaning of the lines I could understand that while the work process was with the mutex the dispatcher subsequently tried to call the softcancel request ( the parameter would be rdisp/softcancel_sequence) but the response recieved by the function was that rescheduling of the softcancel is in progress.
When I tried to check the trace file ( dev_ wXX ) , I could see the entry as :
ntdll!ZwReadFile
KERNELBASE!ReadFile
KERNEL32!ReadFile
MSVCR120!read
MSVCR120!read
MSVCR120!filbuf
MSVCR120!fread_nolock_s
MSVCR120!fread_s
MSVCR120!fread
disp+work!TrReadNextRec [trfile.c (1248)]
disp+work!TrIFindBlock [trfile.c (5392)]
disp+work!TrIFindRec [trfile.c (5290)]
disp+work!TrReadRecFromAbap [trfile.c (3908)]
disp+work!TrCall [trfile.c (3666)]
disp+work!ab_jcaly [abcall.c (191)]
disp+work!ab_extri [abextri.c (1474)]
(…)
disp+work!ThStart [thxxhead.c (914)]
disp+work!DpMain [dpinit.c (517)]
disp+work!nlsui_main [thxxanf.c (79)]
disp+work!__tmainCRTStartup [crtexe.c (623)]
KERNEL32!BaseThreadInitThunk
ntdll!RtlUserThreadStart
So clearly the function responsible for the issue were :
TrReadNextRec
TrIFindBlock
TrIFindRec
TrReadRecFromAbap
TrCall
All the above functions are responsible for reading the trace.
Resolution
I reset the trace files and the issue got resolved.
Steps :
1. in ST01 select Reset
2. in file system Delete files under: <drive>:/usr/sap/<SID>/D**/log/TRACE*
Let me know in case any queries.
Kind regards,
Manjunath Hanmantgad