Timeout exceeded or NullReferenceException after sometime ---------------------------------------------------------
Key: DNET-386 URL: http://tracker.firebirdsql.org/browse/DNET-386 Project: .NET Data provider Issue Type: Bug Components: ADO.NET Provider Affects Versions: 2.6 Environment: WIndows 7, Windows Server 2008 or Windows XP Firebird .Net Provider 2.6.2 VS 2008 Net Framework 3.5 or 4.0 Reporter: Nataniel Assignee: Jiri Cincura I have an application that runs on the server monitoring changes to a Firebird database and sending them through a webservice. I create a new connection for every recieved items group because the provider currently do not support paralel transactions. After sending the data (and saving the transmission invoice back into the database) I close this connection. After some time running the provider starts presenting errors. If I let "POOLING = True" at my connection string after about 1 hour I started recieving a "Timeout exceeded" error. If I let "POOLING = False" at my connection string after about 1 hour the system crashes with a "NullReferenceException" VS stopped at "int transactionCount = this.Connection.InnerConnection.Database.TransactionCount;" with "InnerConnection = NULL", at "internal void RollbackImplicitTransaction()" The only way I found to prevent this is making this change to FbCommand.cs Change this: if (this.HasImplicitTransaction && this.transaction != null && this.transaction.Transaction != null) To this: if (this.HasImplicitTransaction && this.transaction != null && this.transaction.Transaction != null && this.Connection.InnerConnection != null) Below is the error from VS output ------------------------------------ ERROR ------------------------------------ A first chance exception of type 'FirebirdSql.Data.Common.IscException' occurred in FirebirdSql.Data.FirebirdClient.dll A first chance exception of type 'System.NullReferenceException' occurred in FirebirdSql.Data.FirebirdClient.dll 'prjSeloDigital.vshost.exe' (Managed (v2.0.50727)): Loaded 'C:\Windows\assembly\GAC_MSIL\System.Transactions.resources\2.0.0.0_pt-BR_b77a5c561934e089\System.Transactions.resources.dll' System.Transactions Critical: 0 : <TraceRecord xmlns="http://schemas.microsoft.com/2004/10/E2ETraceEvent/TraceRecord" Severity="Critical"> <TraceIdentifier>http://msdn.microsoft.com/TraceCodes/System/ActivityTracing/2004/07/Reliability/Exception/Unhandled</TraceIdentifier> <Description>Exceção não tratada</Description> <AppDomain>prjSeloDigital.vshost.exe</AppDomain> <Exception> <ExceptionType>System.NullReferenceException, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</ExceptionType> <Message>Referência de objeto não definida para uma instância de um objeto.</Message> <StackTrace> em FirebirdSql.Data.FirebirdClient.FbCommand.RollbackImplicitTransaction() na C:\Projetos\Extradigital\Utilitarios\SeloDigital\prjSeloDigital.root\prjSeloDigital - Cópia\NETProvider-2.6.5-src\FirebirdSql\Data\FirebirdClient\FbCommand.cs:linha 790 em FirebirdSql.Data.FirebirdClient.FbCommand.Release() na C:\Projetos\Extradigital\Utilitarios\SeloDigital\prjSeloDigital.root\prjSeloDigital - Cópia\NETProvider-2.6.5-src\FirebirdSql\Data\FirebirdClient\FbCommand.cs:linha 828 em FirebirdSql.Data.FirebirdClient.FbCommand.Dispose(Boolean disposing) na C:\Projetos\Extradigital\Utilitarios\SeloDigital\prjSeloDigital.root\prjSeloDigital - Cópia\NETProvider-2.6.5-src\FirebirdSql\Data\FirebirdClient\FbCommand.cs:linha 396 em System.ComponentModel.Component.Finalize()</StackTrace><ExceptionString>System.NullReferenceException: Referência de objeto não definida para uma instância de um objeto. em FirebirdSql.Data.FirebirdClient.FbCommand.RollbackImplicitTransaction() na C:\Projetos\Extradigital\Utilitarios\SeloDigital\prjSeloDigital.root\prjSeloDigital - Cópia\NETProvider-2.6.5-src\FirebirdSql\Data\FirebirdClient\FbCommand.cs:linha 790 em FirebirdSql.Data.FirebirdClient.FbCommand.Release() na C:\Projetos\Extradigital\Utilitarios\SeloDigital\prjSeloDigital.root\prjSeloDigital - Cópia\NETProvider-2.6.5-src\FirebirdSql\Data\FirebirdClient\FbCommand.cs:linha 828 em FirebirdSql.Data.FirebirdClient.FbCommand.Dispose(Boolean disposing) na C:\Projetos\Extradigital\Utilitarios\SeloDigital\prjSeloDigital.root\prjSeloDigital - Cópia\NETProvider-2.6.5-src\FirebirdSql\Data\FirebirdClient\FbCommand.cs:linha 396 em System.ComponentModel.Component.Finalize() </ExceptionString> </Exception> </TraceRecord> -- 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 ------------------------------------------------------------------------------ All of the data generated in your IT infrastructure is seriously valuable. Why? It contains a definitive record of application performance, security threats, fraudulent activity, and more. Splunk takes this data and makes sense of it. IT sense. And common sense. http://p.sf.net/sfu/splunk-d2d-c2 _______________________________________________ Firebird-net-provider mailing list Firebird-net-provider@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/firebird-net-provider