<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <br>
    <div class="moz-signature">
      <style>
.signature, .small-signature {
        font-family:"Calibri","sans-serif";mso-fareast-font-family:"Times New Roman";
        color:#7F7F7F;
}

.signature {
        font-size:10pt;
}

.small-signature {
        font-size:8pt;
}</style></div>
    <div class="moz-cite-prefix">On 29-04-2015 7:46, Francesco Romani
      wrote:<br>
    </div>
    <blockquote
      cite="mid:2087988230.7158335.1430304391574.JavaMail.zimbra@redhat.com"
      type="cite">
      <pre wrap="">----- Original Message -----
</pre>
      <blockquote type="cite">
        <pre wrap="">From: "Christopher Pereira" <a class="moz-txt-link-rfc2396E" href="mailto:kripper@imatronix.cl">&lt;kripper@imatronix.cl&gt;</a>
To: "Nir Soffer" <a class="moz-txt-link-rfc2396E" href="mailto:nsoffer@redhat.com">&lt;nsoffer@redhat.com&gt;</a>
Cc: <a class="moz-txt-link-abbreviated" href="mailto:devel@ovirt.org">devel@ovirt.org</a>
Sent: Wednesday, April 29, 2015 12:33:01 PM
Subject: Re: [ovirt-devel] VDSM - sampling.py - remove() called without previous add()

On 28-04-2015 17:44, Nir Soffer wrote:
</pre>
        <blockquote type="cite">
          <blockquote type="cite">
            <pre wrap="">In sampling.py, remove() is being called without calling add() before,
which
throws:
</pre>
          </blockquote>
          <pre wrap="">Fixed in master, please update:
<a class="moz-txt-link-freetext" href="https://gerrit.ovirt.org/40223">https://gerrit.ovirt.org/40223</a>

</pre>
        </blockquote>
        <pre wrap="">Hi Nir,

Still present:

Traceback (most recent call last):
   File "/usr/lib/python2.7/site-packages/yajsonrpc/__init__.py", line
464, in _serveRequest
     res = method(**params)
   File "/usr/share/vdsm/rpc/Bridge.py", line 273, in _dynamicMethod
     result = fn(*methodArgs)
   File "/usr/share/vdsm/API.py", line 339, in destroy
     res = v.destroy()
   File "/usr/share/vdsm/virt/vm.py", line 3517, in destroy
     result = self.doDestroy()
   File "/usr/share/vdsm/virt/vm.py", line 3535, in doDestroy
     return self.releaseVm()
   File "/usr/share/vdsm/virt/vm.py", line 3450, in releaseVm
&lt;-------------------------------- Also called here
     sampling.stats_cache.remove(self.id)
   File "/usr/share/vdsm/virt/sampling.py", line 428, in remove
     del self._vm_last_timestamp[vmid]
</pre>
      </blockquote>
      <pre wrap="">
So you reproduced this bug with VDSM with 40223 applied (let's say, today's master branch)?
</pre>
    </blockquote>
    Yes. I cloned github and am pulling patches from gerrit.<br>
    I also checked the file to confirm the patch was applied.<br>
    <br>
    <blockquote
      cite="mid:2087988230.7158335.1430304391574.JavaMail.zimbra@redhat.com"
      type="cite">
      <pre wrap="">Which flow is this, just shutdding down a VM?
</pre>
    </blockquote>
    I guess the VM was down and about to start. It probably failed to
    start because the MasterStorageDomain was down.<br>
    <blockquote
      cite="mid:2087988230.7158335.1430304391574.JavaMail.zimbra@redhat.com"
      type="cite">
      <pre wrap="">I did basic sanity check as part of verification of 40223, and didn't noticed
blatant mistakes. :\

</pre>
    </blockquote>
    I saw the patch eliminating the remove() call from one section, but
    it was also called on another one (vm.py, line 3450).<br>
    <br>
  </body>
</html>