[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [libvirt] [PATCH] python: don't mask libvirt errors



On 08/31/12 19:10, Eric Blake wrote:
A user reported this crash when using python bindings:

   File "/home/nox/workspace/NOX/src/NOX/hooks.py", line 134, in trigger
     hook.trigger(event)
   File "/home/nox/workspace/NOX/src/NOX/hooks.py", line 33, in trigger
     self.handlers[event]()
   File "/home/nox/workspace/NOX/hooks/volatility.py", line 81, in memory_dump
     for block in Memory(self.ctx):
   File "/home/see/workspace/NOX/src/NOX/lib/libtools.py", line 179, in next
     libvirt.VIR_MEMORY_PHYSICAL)
   File "/usr/lib/python2.7/dist-packages/libvirt.py", line 1759, in memoryPeek
     ret = libvirtmod.virDomainMemoryPeek(self._o, start, size, flags)
SystemError: error return without exception set

In the python bindings, returning NULL makes python think an
exception was thrown, while returning the None object lets the
wrappers know that a libvirt error exists.

Reported by Nox DaFox, fix suggested by Dan Berrange.

* python/libvirt-override.c (libvirt_virDomainBlockPeek)
(libvirt_virDomainMemoryPeek): Return python's None object, so
wrapper knows to check libvirt error.
---
  python/libvirt-override.c | 8 ++++++--
  1 file changed, 6 insertions(+), 2 deletions(-)


ACK.

Peter


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]