Issue Details (XML | Word | Printable)

Key: DNET-806
Type: Bug Bug
Status: Open Open
Priority: Major Major
Assignee: Jiri Cincura
Reporter: Mark Rotteveel
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
.NET Data provider

.NET provider should explicitly call fb_shutdown() on application exit when using Firebird Embedded

Created: 07/Feb/18 02:57 PM   Updated: 08/Feb/18 12:49 PM
Component/s: ADO.NET Provider
Affects Version/s: 5.12.1.0
Fix Version/s: None


 Description  « Hide
If the apllication exits and there are still connections open using Firebird Embedded, then the exit may produce an access violation (0xc0000005 error). The root cause is that the fbembed.dll/fbclient.dll will call fb_shutdown() itself, but one of the other libraries (eg fbintl.dll) may already have been unloaded.

To prevent this, on exit the .NET provider should explicitly call fb_shutdown for any of the native libries loaded (but especially for embedded).

See also "Crash Firebird 2.5.8 Embedded with Firebird Ado.net provider." on Firebird-devel.

Related: DNET-802 (cleaning up the connection pool on exit will also prevent the access violation).

 All   Comments   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Jiri Cincura added a comment - 08/Feb/18 09:23 AM
I suppose the DNET-802 will cover that fully, no?

Mark Rotteveel added a comment - 08/Feb/18 12:49 PM - edited
Maybe, but what I get from the reaction of Vlad is that it would be better to call fb_shutdown explicitly always when the native library has been loaded.