| 
      
      
      From: Hennadii (JIRA) <tr...@fi...> - 2015-04-01 06:45:13
      
     | 
| Access violation in FesStatement.Finalize
-----------------------------------------
                 Key: DNET-597
                 URL: http://tracker.firebirdsql.org/browse/DNET-597
             Project: .NET Data provider
          Issue Type: Bug
          Components: ADO.NET Provider, Entity Framework support
    Affects Versions: 4.6.1.0
         Environment: Firebird 2.5.2. x86 FB ADO .NET 4.6.1.0
            Reporter: Hennadii
            Assignee: Jiri Cincura
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.
-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://tracker.firebirdsql.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
        
 |