on 03-13-2015 10:08 AM
Hello,
I had upgraded my system's kernel to 7.21 401 last weekend and started getting below errors.
"Delete session after error 023" and "WP has reached abap/heaplimit = 40000000"
When I change the abap/heaplimit parameter to 6000000000 program runs without error.
This parameter value is out of max value of this parameter.
I donot want to give the parameter over max allowed value.
I also changed dbsl patch to 7.21 418 but no solution.
I searched through sap notes and scn but could not find an answer to my problem.
What could be the relation between kernel upgrade and this parameter?
Why the program was working with Kernel 7.21 316 and not working with 7.21 401?
I inserted SM21 and developer trace file below.
Can you help about the issue, please?
Thanks and Regards,
Yuksel AKCINAR
SM21:
11:56:52 DIA 010 200 USER1 TX01 R4 7 Delete session 004 after error 023
dev_wx:
L Fri Mar 13 11:52:31 2015
L EVTSDL: Begin of FORM PROCESS_EVENT_TRIGGERED_JOBS
L EVTSDL: Event raised: SAP_END_OF_JOB
L EVTSDL: Event parameters: SLCA_LCK_SYNCHOWNERS 10523100
L EVTSDL: Begin of FORM SELECT_EVENT_TRIGGERED_JOBS
L EVTSDL: Eventhistory > There are no active profiles of criteria type 'EVTHIS'
L EVTSDL: End of FORM SELECT_EVENT_TRIGGERED_JOBS
L EVTSDL: End of FORM PROCESS_EVENT_TRIGGERED_JOBS
L TIMESDL: CLEANUP_MUTEX try to grasp for server:
L TIMESDL: arq01_ARQ_10
L TIMESDL: CLEANUP_MUTEX not grasped (is busy)
A
A Fri Mar 13 11:56:35 2015
A WP has reached abap/heaplimit = 40000000 bytes
A
A Fri Mar 13 11:56:39 2015
A SelMemClass: heap quota (DIA) exceeded 2000000000 2000030480
A
A Fri Mar 13 11:56:40 2015
A TH VERBOSE LEVEL FULL
A ** RABAX: level LEV_RX_PXA_RELEASE_MTX entered.
A ** RABAX: level LEV_RX_PXA_RELEASE_MTX completed.
A ** RABAX: level LEV_RX_COVERAGE_ANALYSER entered.
A ** RABAX: level LEV_RX_COVERAGE_ANALYSER completed.
A ** RABAX: level LEV_RX_HOTSPOT_TRACE entered.
A ** RABAX: level LEV_RX_HOTSPOT_TRACE completed.
A ** RABAX: level LEV_RX_SAVE_SHMLOCKS entered.
A ** RABAX: level LEV_RX_SAVE_SHMLOCKS completed.
A ** RABAX: level LEV_RX_RESET_SHMLOCKS entered.
A ** RABAX: level LEV_RX_RESET_SHMLOCKS completed.
A ** RABAX: level LEV_RX_ROLLBACK entered.
C Call to DbSlRollback96 while DBIF already active in DbSlExeRead96
B ***LOG BZY=> unexpected return code 1 calling DbSlRollback [dbcon 3820]
B ***LOG BYJ=> database function ROLLBACK for connection R/3 failed [dbcon 3823]
B *** ERROR => DISTRIBUTED_TA_FAILED:
[dbcon.c 2029]
B {root-id=0050569300301EE4B2AC40086FE743BF}_{conn-id=00000000000000000000000000000000}_0
B 00: name=R/3, con_id=000000000, state=ACTIVE , tx=NO , bc=NO , hc=NO , perm=YES, reco=NO , info=NO ,
B timeout=000, con_max=255, con_opt=255, occ=NO , prog=
M ***LOG R39=> ThIRollBack, db_rollback ( 016384) [thxxhead.c 14956]
M in_ThErrHandle: 1
M *** ERROR => ThIRollBack: db_rollback (step 4, th_errno 18, action 2, level 1) [thxxhead.c 11560]
M {root-id=0050569300301EE4B2AC40086FE743BF}_{conn-id=00000000000000000000000000000000}_0
Merhaba Yüksel,
I think there's nothing wrong with the kernel. We can say your system's behaving as it should, after kernel upgrade : ) Using heap memory is not preffered, since it would cause other WPs badly When a process reaches to abap/heaplimit, it's not killed immediately, but gets marked for killing after it'll finish its job.
Here is a graph from SAP Workload ADM315 Source:
.
But I noticed that abap/heap_area_total is too high. What's your physical memory in total? I would limit heaplimit with 256MB.
Kind regards,
Serhat
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Yuksel
I do not think the WP gets kill because it reached abap/heaplimit, this error message could be ignored as stated in note 1571845 - Error: "WP has reached abap/heaplimit" - What does it mean?
I think the real cause for the WP failure is DISTRIBUTED_TA_FAILED error, as explained in the here under notes.
The new kernel might have changed some boundaries is memory allocation / limits, the solution should be to increase the extended & heap memory
Best regards
1612404 - Work process termination when selecting large datasets
Attempt to solve the lack of memory as its own problem, either by increasing the ABAP heap limit (parameter abap/heap_area_total) or by reducing the result set of the selection.
1825408 - MSS: DbSlRollback96 while DBIF already active
As an example, the ABAP heaplimit may be exhausted due to a large SELECT request. While the result set is fetched, the ABAP heap is exhausted. Since no more memory is available, the ABAP engine abruptly cancels the execution and begins error handling. The database interface rejects the request for a ROLLBACK statement while the SELECT statement is still active. Since the rollback fails, the task handler restarts the SAP work process and no ABAP short dump or job log entries can be written.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi,
I believe the standard value of abap/heaplimit of 40 MB stems from age-old R/3 times and is not sensible for today's systems which have much more memory than back then.
But I believe reaching the heaplimit should not be the cause of a program termination. When heaplimit is exceeded, the current program is not aborted but only the work process gets restarted when the current program/transaction has finished (as soon as the WP is "free").
From the trace entry I read that the work process used more heap memory than allowed in
abap/heap_area_dia:
A SelMemClass: heap quota (DIA) exceeded 2000000000 2000030480
and this caused the program termination.
So you have a program which uses lots of memory (first EM memory and then HEAP memory) and it exceeded the 2GB heap mem quota set via this param.
You would need to increase abap/heap_area_dia param to allow the program to finish.
Maybe this kernel uses more ABAP memory than the old one ...
Regards,
Alex
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hello Alexander,
The memory parameters are as follows.
As you see below the value of abap/heap_area_dia is also normal in my opinion.
Roll, extended and heap memory EXTM
Profile Parameter Value Unit Comment
ztta/roll_area 15000576 Byte Roll area per workprocess (total)
ztta/roll_first 1024 Byte First amount of roll area used in a dialog WP
ztta/short_area 4000000 Byte Short area per workprocess
rdisp/ROLL_SHM 64000 8 kB Part of roll file in shared memory
rdisp/PG_SHM 96000 8 kB Part of paging file in shared memory
rdisp/PG_LOCAL 150 8 kB Paging buffer per workprocess
em/initial_size_MB 96000 MB Initial size of extended memory
em/blocksize_KB 4096 kB Size of one extended memory block
em/address_space_MB 4096 MB Address space reserved for ext. mem. (NT only)
ztta/roll_extension 6442450944 Byte Max. extended mem. per session (external mode)
abap/heap_area_dia 6001000448 Byte Max. heap memory for dialog workprocesses
abap/heap_area_nondia 0 Byte Max. heap memory for non-dialog workprocesses
abap/heap_area_total 100663296000 Byte Max. usable heap memory
abap/heaplimit 100000000 Byte Workprocess restart limit of heap memory
abap/use_paging 0 Paging for flat tables used (1) or not (0)
Regards,
Yuksel AKCINAR
Hi Yuksel ,
Please provide the OS/DB and SAP Versions
Also does error occur when you are triggering some jobs ? or it occurs randomly
Thanks
Manu
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Yuksel ,
From the trace file it seems it is a parallel processing Jobs . Has anything changed ( In terms of number of parallel background work process ) in this Job .
If this relates to only one job dont think this increased memory could be because of the kernel patching .
The only thing i could think of is the following ( 1713986 - Installation of kernel 721 (EXT) ) - The note is valid for 721 als
5.6 Dynamic work processes (NetWeaver 7.00/7.01)
The 720 and 721 kernel versions support the dynamic increase of the number of work processes at runtime. However, this function is not fully compatible with NW 7.00 and NW 7.01. To prevent errors from occurring, deactivate it by setting the following parameters:
rdisp/wp_no_restricted = 0
rdisp/configurable_wp_no = 0
rdisp/dynamic_wp_check = FALSE
rdisp/wp_max_no = Sum of:( rdisp/wp_no_dia + rdisp/wp_no_vb2 + rdisp/wp_no_btc + rdisp/wp_no_vb + rdisp/wp_no_spo + rdisp/wp_no_enq ).
Mind that rdisp/wp_max_no has the default value DEFAULT, which will add two unwanted dynamic processes if not set the number of configured, classical wp types.
Check the parameters and try again after a restart .
Believe have seen in many projects functional consultants complaining the issue is after the patch upgrade . Does this fall in that category
Thanks ,
Manu
Hello Venkat,
No record on ST22.
Just SM21 and developer traces.
The program was running normal with the same parameters before kernel patch.
And there is preprod system that has kernel version 316 and the program runs there without error.
There must be a relation between kernel change and this parameter.
Regards,
Yuksel AKCINAR
Hi Yuksel ,
Seems 401 kernel is known to have issues , Can you check the following Note
2138260 - SP Stack Kernel 721 PL#401 contains wrong file versions
Dont have any reference ( yet ) to the issue you are facing but still feel that it is better to update to other higher kernel levels
Thanks ,
Manu
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
93 | |
10 | |
10 | |
9 | |
9 | |
7 | |
6 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.