Bill Suppression Core Dumps Without Any Customer Segmentation
Last updated on JUNE 22, 2017
Applies to:Oracle Communications Billing and Revenue Management - Version: 184.108.40.206.0
Information in this document applies to any platform.
***Checked for relevance on 05-Aug-2011***
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.
Received Signal 11
#0 0xffffe410 in __kernel_vsyscall ()
#1 0x002c4d23 in __waitpid_nocancel () from /lib/tls/libc.so.6
#2 0x0026e7a9 in do_system () from /lib/tls/libc.so.6
#3 0xf749198d in system () from /lib/tls/libpthread.so.0
#4 0xf7e337aa in printExceptionReport ()
#5 0xf7e2c3a2 in sigsegv_handler ()
#6 <signal handler called>
#7 0x002a463c in strtok_r () from /lib/tls/libc.so.6
#8 0x00000000 in ?? ()
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.
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