From: lifeng l. (JIRA) <tr...@fi...> - 2010-01-27 04:45:35
|
NullReferenceException at GdsDatabase.Write(Int32 value) -------------------------------------------------------- Key: DNET-291 URL: http://tracker.firebirdsql.org/browse/DNET-291 Project: .NET Data provider Issue Type: Bug Components: ADO.NET Provider Affects Versions: 2.5.1 Environment: windows 2003 + .net 3.5 + asp.net + fb 2.1.3 Reporter: lifeng liang Assignee: Jiri Cincura I am using fb for my web site, and found a bug of its .net provider. The same page same code ran into this problem about once per week. I compiled fb .net provider 2.5.1 as DEBUG mode, and following is the stack track of it: System.NullReferenceException: at FirebirdSql.Data.Client.Managed.Version10.GdsDatabase.Write(Int32 value) location D:\Coding\Projects\FirebirdClient-2.5.1-src\NETProvider\source\FirebirdSql\Data\Client\Managed\Version10\GdsDatabase.cs:line 978 at FirebirdSql.Data.Client.Managed.Version10.GdsTransaction.BeginTransaction(TransactionParameterBuffer tpb) location D:\Coding\Projects\FirebirdClient-2.5.1-src\NETProvider\source\FirebirdSql\Data\Client\Managed\Version10\GdsTransaction.cs:line 137 at FirebirdSql.Data.Client.Managed.Version10.GdsDatabase.BeginTransaction(TransactionParameterBuffer tpb) location D:\Coding\Projects\FirebirdClient-2.5.1-src\NETProvider\source\FirebirdSql\Data\Client\Managed\Version10\GdsDatabase.cs:line 556 at FirebirdSql.Data.FirebirdClient.FbTransaction.BeginTransaction() location D:\Coding\Projects\FirebirdClient-2.5.1-src\NETProvider\source\FirebirdSql\Data\FirebirdClient\FbTransaction.cs:line 363 at FirebirdSql.Data.FirebirdClient.FbCommand.Prepare(Boolean returnsSet) location D:\Coding\Projects\FirebirdClient-2.5.1-src\NETProvider\source\FirebirdSql\Data\FirebirdClient\FbCommand.cs:line 1111 at FirebirdSql.Data.FirebirdClient.FbCommand.ExecuteCommand(CommandBehavior behavior, Boolean returnsSet) location D:\Coding\Projects\FirebirdClient-2.5.1-src\NETProvider\source\FirebirdSql\Data\FirebirdClient\FbCommand.cs:line 1174 at FirebirdSql.Data.FirebirdClient.FbCommand.ExecuteReader(CommandBehavior behavior) location D:\Coding\Projects\FirebirdClient-2.5.1-src\NETProvider\source\FirebirdSql\Data\FirebirdClient\FbCommand.cs:line 551 at FirebirdSql.Data.FirebirdClient.FbCommand.ExecuteDbDataReader(CommandBehavior behavior) location D:\Coding\Projects\FirebirdClient-2.5.1-src\NETProvider\source\FirebirdSql\Data\FirebirdClient\FbCommand.cs:line 621 at System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior) Since GdsDatabase.Write only has one line code and the parameter value could not be null, it should be outputStream equels null somehow. And I checked all usages of outputStream, I guess GdsDatabase.Detach was called sometime and might related of connection pooling. The following is my connection string: User=XXX;Password=BBB;Database=studio.fdb;DataSource=localhost;Port=3050;Dialect=3;Charset=UNICODE_FSS;Role=;Connection lifetime=15;Pooling=true;MinPoolSize=0;MaxPoolSize=50;Packet Size=8192;ServerType=0 -- 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 |