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
Operations

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 support
Affects Version/s: 4.6.1.0
Fix Version/s: 5.8.0.0

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


 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:
 "isc_dsql_allocate_statement2()
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.