Skip to content

Non re-entrant lock blocking extension use with msal>0.4.0 #26

@marstr

Description

@marstr

Repro:

  1. Clone this repository on MacOS or Windows
  2. Create new virtual environment
  3. Run pip install, ensure pip list | grep msal (or similar command outside of bash) is greater or equal to 0.4.1.
  4. Run pytest

Expected:

  • Tests will pass

Actual:

  • Tests hang indefinitely.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions