#1 is triggered via (it seems a guest goes away - qemu died and then cleanup runs after a write failed)
daemonStreamHandleWrite (failing to write)
-> daemonStreamHandleAbort (closing things and cleaning up)
-> ... virChrdevFDStreamCloseCb virMutexLock(&priv->devs->lock);
# priv = Domain's device information structure
# client stream is client=0x2aa465d8f60
# there would be code that is meant to avoid issues "Unable to close" if lock held
# but the log doesn't show this
#10 seems triggered via an "undefine" call
remoteDispatchDomainUndefine
... -> virChrdevFree
... -> virFDStreamSetInternalCloseCb
-> virObjectLock(virFDStreamDataPtr fdst)
-> virMutexLock(&obj->lock);
#closing all streams of a guest (requiring the same locks)
#1 is triggered via (it seems a guest goes away - qemu died and then cleanup runs after a write failed) ndleWrite (failing to write) dleAbort (closing things and cleaning up) amCloseCb
virMutexLock( &priv-> devs->lock) ; 0x2aa465d8f60
daemonStreamHa
-> daemonStreamHan
-> ... virChrdevFDStre
# priv = Domain's device information structure
# client stream is client=
# there would be code that is meant to avoid issues "Unable to close" if lock held
# but the log doesn't show this
#10 seems triggered via an "undefine" call hDomainUndefine nternalCloseCb virFDStreamData Ptr fdst) &obj->lock) ;
remoteDispatc
... -> virChrdevFree
... -> virFDStreamSetI
-> virObjectLock(
-> virMutexLock(
#closing all streams of a guest (requiring the same locks)