Print

Print


Here's a simplified case of a deadlock we saw in production in CMS (see https://github.com/bbockelm/cmssw/commit/ac0156350d2aa2539cf91ad2ec5f7318dd520807 for the full case, which involved a third mutex).

Thread 1:
  - FileTimer::Run holds FileTimer::pMutex
  - FileStateHandler::Tick wants to take the FileStateHandler::pMutex

Thread 2:
  - FileStateHandler::OnStateError holds the FileStateHandler::pMutex lock
  - User callback is invoked, deletes an XrdCl::File object
  - ~FileStateHandler calls FileTimer::UnRegisterFileObject which tries to get the FileTimer::pMutex.

This hasn't been seen in production (yet) but seems plausible.

---
Reply to this email directly or view it on GitHub:
https://github.com/xrootd/xrootd/issues/216

########################################################################
Use REPLY-ALL to reply to list

To unsubscribe from the XROOTD-DEV list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=XROOTD-DEV&A=1