Issue Details (XML | Word | Printable)

Key: CORE-5368
Type: Bug Bug
Status: Closed Closed
Resolution: Fixed
Priority: Major Major
Assignee: Unassigned
Reporter: Rashid Abzalov
Votes: 0
Watchers: 5
Operations

If you were logged in you would be able to see more operations.
Firebird Core

Regression: client application is hang (in same cases trow an access violation in Engine12.dll) on select-ing from multiple threads using 1 embedded connection

Created: 04/Oct/16 08:23 AM   Updated: 25/Nov/17 08:23 PM
Component/s: API / Client Library
Affects Version/s: 3.0.1
Fix Version/s: 3.0.2, 4.0 Alpha 1

File Attachments: 1. Zip Archive MultiThreaded.zip (382 kB)

Environment: Tested on Windows only

QA Status: Cannot be tested


 Description  « Hide
This example works fine in Embedded v2.5 but fails in Embedded v3.0.

Test query: select * from RDB$COLLATIONS (you can use any other)
Sources of client application is attached. Compiled binaries are attached too (compiled with Delphi XE2 with IBX components).

How to reproduce in 2.5 - client application would not hang:
1) unzip the embedded server (http://sourceforge.net/projects/firebird/files/firebird-win32/2.5.6-Release/Firebird-2.5.6.27020-0_Win32_embed.zip/download)
2) create empty database
3) move test application (MultiThreaded.exe) to the folder where embedded server is located
4) MultiThreaded.exe test_2_5.fdb sysdba masterkey

How to reproduce in 3.0 - client application would hang:
1) unzip Zip kit for manual/custom installs (https://sourceforge.net/projects/firebird/files/firebird-win32/3.0.1-Release/Firebird-3.0.1.32609-0_Win32.zip/download)
2) copy the file fbclient.dll to gds32.dll (if IBX is used)
3) don't change the providers parameter on then config file (use default value #Providers = Remote,Engine12,Loopback)
4) create empty database
5) MultiThreaded.exe test_3_0.fdb sysdba masterkey

When was tested the Alfa release (in November of last year) - client application was not hang.

 All   Comments   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Rashid Abzalov added a comment - 08/Nov/16 12:54 PM
Do you need some more information?
Maybe it was necessary to provide the client source code in C++?

Vlad Khorsun added a comment - 08/Nov/16 04:22 PM
Reproduced, investigating.

Alexander Peshkov added a comment - 13/Jan/17 10:03 AM
Added additional mutex to avoid simultaneous access to attachment from different threads