Red Hat Bugzilla – Bug 811673
guestfs_last_error not set when qemu fails early during launch
Last modified: 2012-06-20 03:01:49 EDT
+++ This bug was initially created as a clone of Bug #811650 +++ Description of problem: (Reported by Igor Lvovsky on RHEL 6.2 + libguestfs 1.16.15 from preview repository) > In [5]: guest.launch() > python: Objects/stringobject.c:115: PyString_FromString: Assertion `str != > ((void *)0)' failed. > Aborted Version-Release number of selected component (if applicable): libguestfs 1.16.15 on RHEL 6.2/6.3. Fixed upstream: https://github.com/libguestfs/libguestfs/commit/0f7de2279a4af0bb259c9e36fca5e5c3aa835301 There is a regression test which segfaults without the above patch here: https://github.com/libguestfs/libguestfs/commit/b6dd7e72500cbfa4e13379b9f2b1d0ccfa7ebec3
Verified with libguestfs-1.16.18-2.el6.x86_64. Tested with the regression case "python/t/rhbz811650.py": Before fix (libguestfs-1.16.15-1.el6.x86_64): # python ./rhbz811650.py python: Objects/stringobject.c:115: PyString_FromString: Assertion `str != ((void *)0)' failed. Aborted (core dumped) After fix: # python ./rhbz811650.py #
Technical note added. If any revisions are required, please edit the "Technical Notes" field accordingly. All revisions will be proofread by the Engineering Content Services team. New Contents: Cause: libguestfs was not setting an error during some appliance launch failures. Python bindings assume that the error string is not NULL, and would segfault if it was NULL. Consequence: Python programs could segfault when 'g.launch()' was called under some circumstances. Fix: libguestfs now sets the error string on all failure paths in launch, and the Python bindings have been fixed not to segfault. Result: Python programs won't segfault when calling 'g.launch()'
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. http://rhn.redhat.com/errata/RHSA-2012-0774.html