Hello,
ECC6 : SP12
Solaris 10
Oracle 10g
We're facing a very disturbing problem over the past few weeks, in our
formation environnement.
When Dialog Work Processes exceed the amount specified in
the parameter abap/heaplimit, and the dialog step is
terminated, the work process is restarted, the memory then becomes
available for other processes, that's the normal behaviour.
BUT sometimes, the work process is not restarted, and keeps the status "on hold" indefinitely, the memory still remains occupied by the process, despite the fact that the user that was using that process is no more connected !!!
SM 51 trace log of work process 1
M Thu Oct 18 10:32:34 2007
M ***LOG R2G=> ThPlgTimeout, Timeout () [thxxplg.c 5385]
M
M Thu Oct 18 10:33:34 2007
M ***LOG R2G=> ThPlgTimeout, Timeout () [thxxplg.c 5385]
M
M Thu Oct 18 10:35:34 2007
M ***LOG R2G=> ThPlgTimeout, Timeout () [thxxplg.c 5385]
A
A Thu Oct 18 10:37:48 2007
A WP has reached abap/heaplimit = 40000000 bytes
And then nothing during hours ...
This happens with both GUI users and with http users (EP6 portal
requests).
The process is NOT killed after the timeout specified in
rdisp/gui_auto_logout or rdisp/plugin_auto_logout.
The work process keeps the status "on hold", in the meantime others
dialog work processes, have the same behaviour : their abap/heaplimit is reached,
and they get the status "on hold PRIV".
After a while, short dumps TSV_TNEW_PAGE_ALLOC_FAILED are generated, and we have to kill manually the users sessions (sm04) to release the heap memory.
At that moment ONLY the work process is restarted, and becomes available to other user sessions.
Any Idea ?
Thank you in advance for any help.
Frod.