Uh oh!
There was an error while loading. Please reload this page.
Revert "Revert "Dynamic generic dictionary expansion feature (#32270) - #33343
Conversation
Dotnet-GitSync-Bot
commented
Mar 8, 2020
I couldn't add an area label to this PR. Checkout this page to find out which area owner to ping, or please add exactly one area label to help train me in the future. |
| } | ||
| CONTRACT_END; | ||
| Dictionary* pDictionary = pMD->GetMethodDictionary(); |
There was a problem hiding this comment.
This is where the race condition was. We have fetched the Dictionary, then some other thread expanded the dictionary, and then we fetched the number of slot from the new Dictionary; but still kept using the old Dictionary.
There was a problem hiding this comment.
Thanks Jan for tracking this down!
@fadimounir I have done detailed review of the code, and I believe that I have found the race condition. See the comment above. I have also tightened up the implementation in a few places as I was doing it. |
Fixes#32828