I've rewritten our virMutexes to check for failures [1] and saw couple of problems. In most cases we are destroying a locked mutex which these patches aim to fix. Then we have virLogLock() which is locked in virFork() and then unlocked from child (a different process) which is problematic. Pthread doesn't like it when one thread locks a mutex only so that another one unlocks it. Semaphores don't care. Anyway, leave virLogMutex aside, patches here fix problems at hand. BTW: commits v8.0.0-267-g39ac285c6b and v8.0.0-236-ga7201789ab were spotted because of this branch of mine. 1: https://gitlab.com/MichalPrivoznik/libvirt/-/commits/tests_mutext/ Michal Prívozník (2): tests: Track if @vm was created by qemuMonitorCommonTestNew() tests: Destroy domain object properly tests/qemuhotplugtest.c | 13 +++++-------- tests/qemumonitortestutils.c | 7 ++++++- tests/qemusecuritytest.c | 3 ++- tests/qemuxml2argvtest.c | 22 +++++++++++++--------- 4 files changed, 26 insertions(+), 19 deletions(-) -- 2.34.1