New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
NullReferenceException at GdsDatabase.Write(Int32 value) [DNET291] #302
Comments
Commented by: Sebastian Brandt (csbac) I'm not sure whether this is the same problem, yet, seems very similar. FirebirdSql.Data.FirebirdClient.dll 2.5.0.0 In an app that usually runs w/o any problems, now and then I get This is in the context of NHibernate, yet, the query in itself and the parameters are shown as valid. Also, the query itself is not run in a tranaction context (no changes done to the database). I'll try again with the 2.5.2.0 version. Yours, |
Modified by: @cincuranet |
Modified by: @cincuranetstatus: Open [ 1 ] => In Progress [ 3 ] |
Commented by: @cincuranet Resolved as part of DNET421. |
Modified by: @cincuranetstatus: In Progress [ 3 ] => Resolved [ 5 ] resolution: Fixed [ 1 ] Fix Version: 2.7-next [ 10462 ] |
Submitted by: lifeng liang (lifeng)
Relate to DNET421
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
The text was updated successfully, but these errors were encountered: