My Oracle Support Banner

Bill Suppression Core Dumps Without Any Customer Segmentation (Doc ID 876288.1)

Last updated on MARCH 06, 2019

Applies to:

Oracle Communications Billing and Revenue Management - Version and later
Information in this document applies to any platform.


Problem Statement:
Turning on the bill suppression which is to be used with bill units without any customer segmentation causes core dumps.

In PCM_OP_BILL_POL_CHECK_SUPPRESSION, the strtok_r() function core dumps when passed a constant string (i.e. compiled "0" buffer instead of something memory allocated). The function in which this strtok_r() is called (fm_bill_pol_find_min_bal_max_cycle()) must make a copy of the string (e.g. pin_strdup()) so that it may modify the string using strtok_r().

Executing "pin_strdup()" on the customer segment string within the policy function and freeing the string once no longer used.

Stack trace:

Current Portal_Base patches:
6881751, 6935506, 6951224, 7109618, 7121011, 7198236, 7225479, 7706885, 7831740, 8237619, 8247970, 8275609, 8479633, 8512738, 8530359, 8566190, 8662233.

Steps To Reproduce:
1.  Configure bill suppression for customer segment "0" with minimum bill amount of $1000 and maximum cycles of 12.
2.  Bounce the CM after loading the /config/suppression to cache it.
3.  Create an account with services (e.g. basicISP sample pricing plan 1).
4.  Move forward 35 days and run PCM_OP_BILL_MAKE_BILL on the account.
     No suppression occurs because it is the first bill.
5.  Move forward 30 days and run PCM_OP_BILL_MAKE_BILL on the account.
     Suppression occurs because the criterias are met.




To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!

In this Document

My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.