Memory Corruption Occurring In PCM_OP_ACT_USAGE For Large Flist
Last updated on APRIL 16, 2018
Applies to:Oracle Communications Billing and Revenue Management - Version 188.8.131.52.0 and later
Information in this document applies to any platform.
There is a memory issue occurring when PCM_OP_ACT_USAGE opcode is called. This issue appears to manifest itself only when the input flist is over a certain memory size, around 40K and when it runs PCM_OP_ACT_USAGE for a single event but it can happen randomly when run during billing.
The problem with this memory corruption is that it has more apparent side effects later on the process. The call to fm_act_read_billinfo appears to return the accounting date for use after rating to decide which item the rated event must be allocated to. When the memory corruption occurs, the PIN_FLD_END_T of the event that is used to read the billinfo is 0, instead of the actual PIN_FLD_END_T of the event (example, Dec 31 23:59:59 2015). This means that the ACTG values output from op_subscription_get_actg_dates start from 1-Jan-1970 instead of Jan 1 00:00:00 2015 (as it can be seen on the ERROR section below).
These accounting dates are then used in op_bill_item_assign input flist later after post_rating has occurred and as a consequence, the event is assigned to the next bill instead of the current bill resulting in an incorrect bill value for the current bill.
The issue can be reproduced at will with the following steps:
1. login to BRM machine
2. use the testnap utility
3. run PCM_OP_ACT_USAGE using a huge flist (around 41K)
Sign In with your My Oracle Support account
Don't have a My Oracle Support account? Click to get started
My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms