Repro:
- Clone this repository on MacOS or Windows
- Create new virtual environment
- Run pip install, ensure
pip list | grep msal (or similar command outside of bash) is greater or equal to 0.4.1.
- Run pytest
Expected:
Actual:
What happened is that in 8a7495a006eafd75179c0975b7fc52fddf733ca5 the add function got refactored to call self.modify. In doing so, because of the inheritance involved, it is calling our FileTokenCache's implementation of these functions and causing us to try to take a second lock on a file we're already locked on. This is causing an indefinite hang.
Amusingly, this is the exact problem talked about here: https://www.youtube.com/watch?v=YXiaWtc0cgE