ERROR : OCISvcCtx cannot be released, because it is being used

Discussion of open issues, suggestions and bugs regarding ODAC (Oracle Data Access Components) for Delphi, C++Builder, Lazarus (and FPC)
Post Reply
URIOS
Posts: 9
Joined: Tue 31 Jan 2012 10:08

ERROR : OCISvcCtx cannot be released, because it is being used

Post by URIOS » Thu 26 Mar 2015 13:42

Hello,

We are working on a Delphi XE7 project with Datasnap and a lot of Android clients (perhaps,
120 at the same time).

Sometimes, we have this error, and we don't know why.

Here is the stack list :

Code: Select all

Exception Message : 
OCISvcCtx cannot be released, because it is being used
------------------------------------------------------------------------

Exception stack
Stack list, generated 26/03/2015 12:02:59
[00862698] OraCall.TOCISvcCtx.Release
[00861929] OraCall.TOCIEnvironment.ClearOCISvcCtxs
[00861D10] OraCall.TOCIEnvironment.Release
[008617EE] OraCall.TOCIEnvironment.Destroy
[00408E48] System.TObject.Free (Line 15718, "System.pas")
[00861A9F] OraCall.TOCIEnvironment.ReleaseRef
[008A3463] OraClasses.TOraTimeStamp.Destroy
[0089D090] OraClasses.TOCIRecordSet.FreeComplexField
[007E0545] CRAccess.TCRRecordSet.FreeData
[0076C87B] MemDS.TMemDataSet.InternalClose
[00808A5D] DBAccess.TCustomDADataSet.InternalClose
[0072F2FE] Data.DB.TDataSet.CloseCursor (Line 12532, "Data.DB.pas")
[008075A7] DBAccess.TCustomDADataSet.CloseCursor
[008071F5] DBAccess.TCustomDADataSet.SetActive
[00932E44] PlanOl_.TolPlan.CreateByKey (Line 139, "PlanOl_.pas")
[0116C8A1] ServerModuleMobile_.TServerModuleMobile.DoCancelMission (Line 1313, "ServerModuleMobile_.pas")
[0116CD8E] ServerModuleMobile_.TServerModuleMobile.CancelMission2 (Line 1378, "ServerModuleMobile_.pas")
[00A5FF64] System.ObjAuto.ObjectInvoke (Line 789, "System.ObjAuto.pas")
[00B3139D] Datasnap.DSReflect.TDSMethod.Invoke (Line 994, "Datasnap.DSReflect.pas")
[00B23CB8] Datasnap.DSCommonServer.TDSServerMethod.Invoke (Line 3687, "Datasnap.DSCommonServer.pas")
[00B24302] Datasnap.DSCommonServer.TDSServerMethodCommandHandler.DbxExecute (Line 3870, "Datasnap.DSCommonServer.pas")
[00B237C1] Datasnap.DSCommonServer.TDSServerConnectionHandler.DbxExecute (Line 3510, "Datasnap.DSCommonServer.pas")
[00B1295A] Data.DBXMessageHandlerJSonServer.TDBXJSonServerInputConnectionHandler.HandleDbxRequest (Line 294, "Data.DBXMessageHandlerJSonServer.pas")
[00B127F0] Data.DBXMessageHandlerJSonServer.TDBXJSonServerInputConnectionHandler.HandleNonBlockingProtocol (Line 263, "Data.DBXMessageHandlerJSonServer.pas")
[00B13F77] Data.DBXMessageHandlerJSonServer.TDBXJSonServerProtocolHandler.HandleNonBlockingProtocol (Line 1000, "Data.DBXMessageHandlerJSonServer.pas")
[011323C6] IPPeerServer.TIdTCPServerPeer.LOnExecuteEvent (Line 1702, "IPPeerServer.pas")
[006DDE30] IdCustomTCPServer.TIdCustomTCPServer.DoExecute (Line 550, "IdCustomTCPServer.pas")
[004D13B9] System.Classes.ThreadProc (Line 14161, "System.Classes.pas")
[0040AB20] System.ThreadWrapper (Line 23677, "System.pas")
------------------------------------------------------------------------
Server is 11.2.0.3 x64, client 11.2.0.1 x32 and ODAC 9.4.
And we are not in direct-mode.

PS : thanks to the development team for this excellent component.

Thanks for all,

AlexP
Devart Team
Posts: 5530
Joined: Tue 10 Aug 2010 11:35

Re: ERROR : OCISvcCtx cannot be released, because it is being used

Post by AlexP » Fri 27 Mar 2015 09:54

Hello,

Unfortunately, we can't tell the exact reasons for such behavior without reproducing the problem. Please try to compose a small test application and send it to support*devart*com.

Post Reply