<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">Il 12/06/2013 19:31, Cole Robinson ha
      scritto:<br>
    </div>
    <blockquote cite="mid:51B8B07E.8060807@redhat.com" type="cite">
      <pre wrap="">On 06/12/2013 04:10 AM, Sandro Bonazzola wrote:
</pre>
      <blockquote type="cite">
        <pre wrap="">Il 11/06/2013 18:21, Cole Robinson ha scritto:
</pre>
        <blockquote type="cite">
          <pre wrap="">On 06/11/2013 07:58 AM, Sandro Bonazzola wrote:
</pre>
          <blockquote type="cite">
            <pre wrap="">Hi,
using vdsm python code, I've the following error at program exit that
seems to be related to libvirt python code, something wrong in a destructor:

Exception AttributeError: AttributeError("virConnect instance has  no
attribute 'domainEventCallbacks'",) in <bound method  virConnect.__del__
of <libvirt.virConnect instance at  0x4280f38>> ignored

I'm using libvirt 1.0.6

Is it a known issue? Is there any workaround / fix ?

</pre>
          </blockquote>
          <pre wrap="">I've seen this too, sometimes via the virtinst test suite. Once upon a time I
tracked it down to whether the virtinst code did 'import selinux' or not, so
maybe it's a just some weird race, or a side effect of something other
libraries do in their cleanup path. By inspection alone the __del__ handler
doesn't seem to be doing anything wrong.

- Cole
</pre>
        </blockquote>
        <pre wrap="">
It seems related only to domainEventCallbacks so maybe it appears only
after a domain creation / modification.

</pre>
      </blockquote>
      <pre wrap="">
Oh, sorry, now that I look at the code it makes a bit more sense. The error I
was recalling was a __del__ Exception but wasn't involving domain events.

But I still don't see why __del__ is complaining, since the whole thing is
wrapped in try: ... except AttributeError. So not sure what the issue is.

- Cole
</pre>
    </blockquote>
    <br>
    <br>
    According to the python documentation, you can't handle exception in
    __del__:<br>
    <a class="moz-txt-link-freetext" href="http://docs.python.org/2/reference/datamodel.html#object.__del__">http://docs.python.org/2/reference/datamodel.html#object.__del__</a><br>
    <p class="first admonition-title">Warning</p>
    Due to the precarious circumstances under which <a class="reference
      internal"
      href="http://docs.python.org/2/reference/datamodel.html#object.__del__"
      title="object.__del__"><tt class="xref py py-meth docutils
        literal"><span class="pre">__del__()</span></tt></a> methods are
    invoked, exceptions that occur during their execution are ignored,
    and a warning
    is printed to <tt class="docutils literal"><span class="pre">sys.stderr</span></tt>
    instead. <br>
    <br>
    So you have to test the existence of the attribute before using it
    and not try to use it and try to handle an exception that can't be
    handled.<br>
    <br>
    <br>
    <br>
    <br>
    <pre class="moz-signature" cols="72">-- 
Sandro Bonazzola
Better technology. Faster innovation. Powered by community collaboration.
See how it works at redhat.com</pre>
  </body>
</html>