Skip to content

Fix possible deadlock between AddressRemappingSvc and SGImplSvc.

A deadlock may occur between the SGImplSvc and the AddressRemappingSvc. One of such situations may arise if VarHandleBase::typeless_dataPointer calls AddressRemappingSvc::updateAddress without passing through SGImplSvc and and a different thread calls VarHandleBase::record_impl which calls SGImplSvc::record_impl which calls AddressRemappingSvc::updateAddress. So, two threads may try to lock the same two locks but in different order, which may lead to a deadlock.

Merge request reports