<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Fri, Jan 8, 2016 at 7:00 PM, Michal Privoznik <span dir="ltr"><<a href="mailto:mprivozn@redhat.com" target="_blank">mprivozn@redhat.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">On <a href="tel:30.12.2015%2011" value="+13012201511">30.12.2015 11</a>:30, Yaniv Kaul wrote:<br>
> Hi,<br>
><br>
<br>
Hey,<br>
<br>
sorry for getting to you so late.<br>
<span class=""><br>
> I'm trying to debug this issue, which may be affecting my inability to<br>
> perform live snapshot.<br>
> 1. I'm not sure what 'Waking up a tragedian" in the debug log means - what<br>
> exactly is a tragedian?<br>
<br>
<br>
</span>It's the thread that has issued the change state API (shutdown, reboot,<br>
..) and it's waiting for confirmation on the monitor. For instance, mgmt<br>
app issues virDomainPMSuspendForDuration() which in qemu driver is<br>
implemented via some agent calls. So the flow is like this:<br>
<br>
1) the control gets to qemuDomainPMSuspendForDuration()<br>
2) libvirt does some checks and issues 'guest-suspend-disk' command (or<br>
corresponding command to the selected target).<br>
3) qemu-ga running inside guest tries (!) to suspend the guest (it may<br>
not necessarily succeed)<br>
4) meanwhile, as guest is writing something onto disk (saving its RAM -<br>
but one is unable to tell from outside), the libvirt API is blocked<br>
5) finally, guest kernel calls 'HALT' to which qemu responds by sending<br>
libvirt 'RESET' event<br>
6) the libvirt event loop finds out that an event occurred on the domain<br>
monitor and calls callback<br>
7) the callback will wake up the sleeping API if the event the API is<br>
waiting for matches the one obtained on the monitor<br>
<span class=""><br>
> 2. In any case, it'd be great if the WARN would mention mon->await_event -<br>
> is it the event libvirt is actually waiting for?<br>
<br>
</span>Sure, that would be much more helpful - mind posting a patch?<br></blockquote><div><br></div><div>Attached and tested. I can't post it properly, as the git is a bit 'dirty' with some po files that I can't clean:</div><div><br></div><div>On branch workbranch</div><div>Your branch is up-to-date with 'origin/master'.</div><div>Changes not staged for commit:</div><div>  (use "git add <file>..." to update what will be committed)</div><div>  (use "git checkout -- <file>..." to discard changes in working directory)</div><div><br></div><div>        modified:   po/ar.po</div><div>        modified:   po/as.po</div><div>        modified:   po/bg.po</div><div>        modified:   po/bn.po</div><div>        modified:   po/bn_IN.po</div><div>        modified:   po/bs.po</div><div>        modified:   po/ca.po</div><div>        modified:   po/cs.po</div><div>        modified:   po/cy.po</div><div>        modified:   po/da.po</div><div>        modified:   po/de.po</div><div>        modified:   po/el.po</div><div>        modified:   po/en_GB.po</div><div>        modified:   po/es.po</div><div>        modified:   po/et.po</div><div>        modified:   po/fi.po</div><div>        modified:   po/fr.po</div><div>        modified:   po/gl.po</div><div>        modified:   po/gu.po</div><div>        modified:   po/he.po</div><div>        modified:   po/hi.po</div><div><br></div><div>...</div><div><br></div><div> Thanks,</div><div>Y.</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<span class=""><br>
><br>
> (Both from qemu/qemu_agent.c)<br>
> 3. I reckon event 3 is QEMU_AGENT_EVENT_RESET ? (from qemu/qemu_agent.h)<br>
><br>
<br>
</span>Correct.<br>
<span class=""><br>
> 4. I'm also getting 'End of file while reading data: Input/output error'<br>
> messages, not sure what they mean yet.<br>
<br>
<br>
</span>Usually they mean crashing daemon. If you are able to get a stacktrace<br>
please do share it somewhere.<br>
<span class=""><font color="#888888"><br>
Michal<br>
</font></span></blockquote></div><br></div></div>