cancel
Showing results for 
Search instead for 
Did you mean: 

Delete session after error 023 and WP has reached abap/heaplimit = 40000000

yakcinar
Active Contributor
0 Kudos

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 Fri Mar 13 11:56:35 2015

A  WP has reached abap/heaplimit = 40000000 bytes

A Fri Mar 13 11:56:39 2015

A  SelMemClass: heap quota (DIA) exceeded 2000000000 2000030480

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

Accepted Solutions (0)

Answers (5)

Answers (5)

Former Member
0 Kudos

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

ACE-SAP
Active Contributor
0 Kudos

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.

alexander_bolloni
Contributor
0 Kudos

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

yakcinar
Active Contributor
0 Kudos

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

manumohandas82
Active Contributor
0 Kudos

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

yakcinar
Active Contributor
0 Kudos

Hello Manu,

SAP ECC 6.0

SAP_BASIS7000022
SAP_ABA7000022
SAP_APPL6000018

Windows 2008 R2

MSSQL 2008 R2 SP3 (10.50.6000)

It occurs for a specific program. Users tries to run the program for 1 day rerport.

Regards,

Yuksel AKCINAR

manumohandas82
Active Contributor
0 Kudos

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

Former Member
0 Kudos

Hi,

As you are facing issue for only one program, i think its not related to kernel change. however

Can you check ST22 and provide any dumps which are generating at the same time of the issue.

That help us more to understand the issue.

Thanks,

Venkat

yakcinar
Active Contributor
0 Kudos

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

venkata_emandi
Participant
0 Kudos

Hello,

It looks to me that kernel is not the issue.

may be user should  reduce the selection criteria i.e run the program for half day instead, to see if the issue is due to huge data selection.

Regards

venkata emandi

manumohandas82
Active Contributor
0 Kudos

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

yakcinar
Active Contributor
0 Kudos

Hello Manu,

Thank you for your quick answer.

Unfortunately result is the same. I am getting the same errors.

Kernel 7.21 402 did not solve my problem.

Regards,

Yuksel AKCINAR