Skip to content
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

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 [CORE5368] #5641

Closed
firebird-automations opened this issue Oct 4, 2016 · 7 comments

Comments

@firebird-automations
Copy link
Collaborator

Submitted by: @abzalov

Attachments:
MultiThreaded.zip

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.

Commits: c112d5d 01ecfb9

@firebird-automations
Copy link
Collaborator Author

Modified by: @abzalov

Attachment: MultiThreaded.zip [ 13020 ]

@firebird-automations
Copy link
Collaborator Author

Commented by: @abzalov

Do you need some more information?
Maybe it was necessary to provide the client source code in C++?

@firebird-automations
Copy link
Collaborator Author

Commented by: @hvlad

Reproduced, investigating.

@firebird-automations
Copy link
Collaborator Author

Commented by: @AlexPeshkoff

Added additional mutex to avoid simultaneous access to attachment from different threads

@firebird-automations
Copy link
Collaborator Author

Modified by: @AlexPeshkoff

status: Open [ 1 ] => Resolved [ 5 ]

resolution: Fixed [ 1 ]

Fix Version: 3.0.2 [ 10785 ]

Fix Version: 4.0 Alpha 1 [ 10731 ]

@firebird-automations
Copy link
Collaborator Author

Modified by: @pavel-zotov

status: Resolved [ 5 ] => Resolved [ 5 ]

QA Status: No test => Cannot be tested

@firebird-automations
Copy link
Collaborator Author

Modified by: @pavel-zotov

status: Resolved [ 5 ] => Closed [ 6 ]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant