Subject | Firebird is stuck when trying to open a connection after disposing a Command |
---|---|
Author | ariel.sakin |
Post date | 2009-01-27T12:26:36Z |
I am connecting to a firebird database using the .NET provider.
Sometimes, when disposing an FbCommand object, I see an exception thrown inside fbembed.dll
The exception is handled, but for some reason, when I try to open a new connection to the database by calling Open() on an Fbconnection, I get stuck.
Looking at the stack shows that firebird is waiting for a lock to be released but it never happens.
Stack of the exception:
FirebirdSql.Data.FirebirdClient.dll!FirebirdSql.Data.Client.Embedded.FesStatement.Free(int option = 2) Line 640 + 0x28 bytes C#
FirebirdSql.Data.FirebirdClient.dll!FirebirdSql.Data.Common.StatementBase.Release() Line 262 C#
FirebirdSql.Data.FirebirdClient.dll!FirebirdSql.Data.Client.Embedded.FesStatement.Release() Line 251 C#
FirebirdSql.Data.FirebirdClient.dll!FirebirdSql.Data.Client.Embedded.FesStatement.Dispose(bool disposing = true) Line 178 + 0xb bytes C#
FirebirdSql.Data.FirebirdClient.dll!FirebirdSql.Data.Common.StatementBase.Dispose() Line 177 C#
FirebirdSql.Data.FirebirdClient.dll!FirebirdSql.Data.FirebirdClient.FbCommand.Release() Line 814 C#
FirebirdSql.Data.FirebirdClient.dll!FirebirdSql.Data.FirebirdClient.FbCommand.Dispose(bool disposing = false) Line 406 C#
Sometimes, when disposing an FbCommand object, I see an exception thrown inside fbembed.dll
The exception is handled, but for some reason, when I try to open a new connection to the database by calling Open() on an Fbconnection, I get stuck.
Looking at the stack shows that firebird is waiting for a lock to be released but it never happens.
Stack of the exception:
FirebirdSql.Data.FirebirdClient.dll!FirebirdSql.Data.Client.Embedded.FesStatement.Free(int option = 2) Line 640 + 0x28 bytes C#
FirebirdSql.Data.FirebirdClient.dll!FirebirdSql.Data.Common.StatementBase.Release() Line 262 C#
FirebirdSql.Data.FirebirdClient.dll!FirebirdSql.Data.Client.Embedded.FesStatement.Release() Line 251 C#
FirebirdSql.Data.FirebirdClient.dll!FirebirdSql.Data.Client.Embedded.FesStatement.Dispose(bool disposing = true) Line 178 + 0xb bytes C#
FirebirdSql.Data.FirebirdClient.dll!FirebirdSql.Data.Common.StatementBase.Dispose() Line 177 C#
FirebirdSql.Data.FirebirdClient.dll!FirebirdSql.Data.FirebirdClient.FbCommand.Release() Line 814 C#
FirebirdSql.Data.FirebirdClient.dll!FirebirdSql.Data.FirebirdClient.FbCommand.Dispose(bool disposing = false) Line 406 C#