Hello,
We recently updated from ODAC version 13.2.1 to 13.3.1 and are now seeing an occasional access violation when TOraSession is destroyed.
I am not able to reproduce this at will so I cannot provide an app to demonstrate the bug at this time.
I do, however, have a call stack for you:
- -----------------------------------------------------------------------------------------------------
- |Unit |Class |Procedure/Method |Line
- -----------------------------------------------------------------------------------------------------
- |System.Classes |TList |Get |
- |Ora |TOraSession |RemoveChangeNotifications |3185[2]
- |Ora |TOraSession |Notification |3158[6]
- |System.Classes |TComponent |Notification |
- |System.Classes |TComponent |RemoveComponent |
- |System.Classes |TComponent |Destroy |
- |Data.DB |TCustomConnection |Destroy |3512[1]
- |DBAccess |TCustomDAConnection |Destroy |3939[23]
- |Ora |TOraSession |Destroy |2200[11]
Comparing the source of 13.2.1 to 13.3.1, I see some changes in Ora.pas with ChangeNotifications that I believe are the cause. Please look at your changes in the following procedures:
TOraSession.Notification
TOraSession.Destroy
TOraSession.RemoveChangeNotifications
We do not use the TOraChangeNotification component at all in our application.
Thank you.