> On Jul 30, 2019, at 10:02 PM, Dr Paul Dale <paul.d...@oracle.com> wrote: > > The #9454 description includes thread sanitisizer logs showing different lock > orderings — this has the potential to dead lock. Agreed with Rich that > giving up the lock would make sense, but I don’t see a way for this to be > easily done.
My take is that we should never hold any lock long enough to even consider acquiring another lock. No more than one lock should be held at any one time, and only long enough to bump a reference count to ensure that the object of interest is no deallocated before we (or our caller in a "get1" type interface) is done with it. I don't know what "long-term" locks we're holding, but it would be great if it were possible to never (or never recursively) hold any such locks. -- Viktor.