Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork74
Fixed potential deadlock in FbConnectionPoolManager#1076
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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
base:master
Are you sure you want to change the base?
Uh oh!
There was an error while loading.Please reload this page.
Conversation
Howaner commentedNov 10, 2022
@cincuranet Is there a chance to integrate this into upstream? Is there anything else I need to do? |
cincuranet commentedNov 10, 2022
I need to review the PR first. Currently busy. |
fdcastel commentedJul 11, 2023
@Howaner do you have a reproductible test case which shows the problem? Maybe adding a test case to this PR? |
Howaner commentedJul 12, 2023
@fdcastel It is a race condition and therefore quite difficult to trigger. I tried to reproduce it in a test project today but I failed. I'm really surprised that the bug doesn't already occur much more often with other people. Probably only a few people make many simultaneous requests with Firebird. |
fdcastel commentedJul 12, 2023
I understand. Surely they are a hell to reproduce. Thank you for you feedback. Much appreciated. |
willibrandon commentedJul 27, 2023
I too have started hitting this issue in our test projects after updating to version 9.1.1.0. I'll try and see if I can write a minimal reproducible test case. |
fdcastel commentedOct 25, 2024
@willibrandon,@Howaner Have you had any success reproducing the issue? @Howaner, if I understand correctly, you've been running a fork of this project in production with this PR applied. Have younever encountered any further errors since applying it? @willibrandon, would you be able to try the same approach? While I understand the changes@Howaner made in this PR, it's challenging to approve them based solely on verbal explanations (no offense intended, please). As engineers, I trust you both will understand. |
willibrandon commentedOct 25, 2024
We saw this issue pop up in our test runs after updating the data provider version for the first time in a decade. I was not successful reproducing this issue however, and have not seen the it reoccur since. @PaladinMattt - Do you recall the last time you saw this one? |
PaladinMattt commentedOct 25, 2024
It has been some time since I've noticed it. If my memory serves me correctly, it mainly happened during debugging, when calling FbConnection.ClearAllPools();, but I don't recalling seeing this issue for a few months now. |
Uh oh!
There was an error while loading.Please reload this page.
Our ASP.NET Core application has been crashing about once a week lately with a lot of open threads and a deadlock when using the FbConnection.OpenAsync() function.
I now found the following deadlock:
Parallel.ForEach(release, x => x.Release());is the main deadlock cause.The FbConnectionInternal.Disconnect() method is already called in different places without locking the _syncRoot lock, so I assume it can be called outside the lock.