Issue Details (XML | Word | Printable)

Key: DNET-597
Type: Bug Bug
Status: Resolved Resolved
Resolution: Fixed
Priority: Major Major
Assignee: Jiri Cincura
Reporter: Hennadii Zabula
Votes: 1
Watchers: 1

If you were logged in you would be able to see more operations.
.NET Data provider

Access violation in FesStatement.Finalize

Created: 01/Apr/15 06:43 AM   Updated: 21/Feb/17 07:47 AM
Component/s: ADO.NET Provider, Entity Framework
Affects Version/s:
Fix Version/s:

Environment: Firebird 2.5.2. x86 FB ADO .NET
Issue Links:

 Description  « Hide
In our CI I've experienced access violation while running firebird.sqlclient.tests with following managed stack:

   at FB_965910463_Class.isc_dsql_free_statement(IntPtr[], Int32 ByRef, Int16)
   at FB_965910463_Class.IFbClient.isc_dsql_free_statement(IntPtr[], Int32 ByRef, Int16)
   at FirebirdSql.Data.Client.Native.FesStatement.Free(Int32)
   at FirebirdSql.Data.Common.StatementBase.Release()
   at FirebirdSql.Data.Client.Native.FesStatement.Release()
   at FirebirdSql.Data.Client.Native.FesStatement.Dispose(Boolean)
   at FirebirdSql.Data.Common.StatementBase.Finalize()

I don't have a native stack for this, but I look forward get it.

My suggestion bases on this:
function is similar to the isc_dsql_alloc_statement() function except that
statement handles allocated using isc_dsql_allocate_statement2() are
automatically reset to NULL when the database under which they are allocated
is detached" (taken from ib6.0 beta docs)

I think a database was already deallocated before finalization of statement got to the queue. I think it needs somehow propagate deallocation of the database in managed statement objects.

 All   Comments   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
There are no comments yet on this issue.