Business Service Leak Message In Logs When Called From Another BC With Declaration

(Doc ID 2260971.1)

Last updated on JUNE 27, 2017

Applies to:

Siebel Tools - Version 16.6 [IP2016] and later
Information in this document applies to any platform.

Symptoms

We are facing memory leak issues after going into production with IP2016 PS6.

REPRO_STEPS

===========
1) Create a new BS named AATest, with Method AATest, with the following script:

function Service_PreInvokeMethod (MethodName, Inputs, Outputs)
{
var oBS = TheApplication().GetService("AATest2") ;
var oInputs = TheApplication().NewPropertySet() ;
var oOutputs = TheApplication().NewPropertySet() ;

oBS.InvokeMethod("AATest2", oInputs, oOutputs) ;
oOutputs = null ;
oInputs = null ;
oBS = null ;
return (CancelOperation);
}

function Service_PreCanInvokeMethod (MethodName, &CanInvoke)
{
if (MethodName == "AATest")
{
CanInvoke = "TRUE";
return (CancelOperation);
}
return (ContinueOperation);
}

2) Create a second new BS named AATest2, with Method AATest2, with the following script:
function Service_PreInvokeMethod (MethodName, Inputs, Outputs)
{
var ARG_CONTEXT_ID:chars = "ContextId";
var ARG_USECASE:chars = "UseCase";
var ARG_DYN_BS_NAME:chars = "BusSvcName";
return (CancelOperation);
}

function Service_PreCanInvokeMethod (MethodName, &CanInvoke)
{
if (MethodName == "AATest2")
{
CanInvoke = "TRUE";
return (CancelOperation);
}
return (ContinueOperation);
}

3) Compile the changes to SRF. 
4) Turn logging up to 5 for all events. 
5) Start Thin Client, and navigate to the BS-Simulation screen
6) Add a new record with name AATest, and Method AATest, and run the BS.

7) Log out of the session.

8) You can see in the log where AATest was deleted (during logoff), but AATest2 was never deleted (and did generate a Leak log entry), even though it was destroyed in the AATest Script. 

Result: 

Log file shows: 

Siebel.log file: EventContext EvtCtxApplet 4 0000000258b80f14:0 2017-03-02 08:39:58 Business Service Test List Applet (TestService)

ObjMgrBusServiceLog Create 4 0000000258b80f14:0 2017-03-02 08:39:58 Business Service 'AATest' was created at 15901450

ObjMgrBusServiceLog InvokeMethod 4 0000000258b80f14:0 2017-03-02 08:39:58 Begin: Business Service 'AATest' invoke method: 'AATest' at 15901450
ObjMgrBusServiceLog Create 4 0000000258b80f14:0 2017-03-02 08:39:58 Business Service 'AATest2' was created at 15901700
ObjMgrBusServiceLog InvokeMethod 4 0000000258b80f14:0 2017-03-02 08:39:58 Begin: Business Service 'AATest2' invoke method: 'AATest2' at 15901700
ObjMgrBusServiceLog InvokeMethod 4 0000000258b80f14:0 2017-03-02 08:39:58 End: Business Service 'AATest2' invoke method: 'AATest2' at 15901700
ObjMgrBusServiceLog InvokeMethod 4 0000000258b80f14:0 2017-03-02 08:39:58 End: Business Service 'AATest' invoke method: 'AATest' at 15901450
EventContext EvtCtxApplet 4 0000000258b80f14:0 2017-03-02 08:40:16 Business Service Test List Applet (WriteRecord)
ObjMgrBusServiceLog Delete 4 0000000258b80f14:0 2017-03-02 08:40:18 Business Service 'AATest' was deleted at 15901450
ObjMgrSessionLog Debug 5 0000000258b80f14:0 2017-03-02 08:40:18 Business Service leak: AATest2
ObjMgrSessionLog Debug 5 0000000258b80f14:0 2017-03-02 08:40:18 Business Service leak: AATest2

 

Cause

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