Package: libvirt / 0.9.12.3-1+deb7u1

virsh-Initialize-library-before-calling-virResetLast.patch Patch series | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
From: Debian Libvirt Maintainers
 <pkg-libvirt-maintainers@lists.alioth.debian.org>
Date: Mon, 11 Apr 2011 23:31:09 +0200
Subject: virsh: Initialize library before calling virResetLastError

so the error system gets intialized via virErrorInitialize.

Otherwise this results in crashes like:

 #0  0x40567537 in raise () from /lib/libc.so.6
 (gdb) bt
 #0  0x40567537 in raise () from /lib/libc.so.6
 #1  0x4056a922 in abort () from /lib/libc.so.6
 #2  0x4059dfbd in ?? () from /lib/libc.so.6
 #3  0x405a80ca in ?? () from /lib/libc.so.6
 #4  0x405a9918 in ?? () from /lib/libc.so.6
 #5  0x405aca5d in free () from /lib/libc.so.6
 #6  0x40057803 in virFree (ptrptr=0x892e048) at util/memory.c:310
 #7  0x400683cf in virResetError (err=0x892e028) at util/virterror.c:408
 #8  0x40068673 in virResetLastError () at util/virterror.c:439
 #9  0x4004bf53 in virEventRegisterDefaultImpl () at util/event.c:150
 #10 0x08066e78 in vshInit (argc=5, argv=0xbf9c2cd4) at virsh.c:12075
 #11 main (argc=5, argv=0xbf9c2cd4) at virsh.c:12751
---
 tools/virsh.c |    3 +++
 1 file changed, 3 insertions(+)

diff --git a/tools/virsh.c b/tools/virsh.c
index dd9292a..d798328 100644
--- a/tools/virsh.c
+++ b/tools/virsh.c
@@ -19560,6 +19560,9 @@ vshInit(vshControl *ctl)
     /* set up the signals handlers to catch disconnections */
     vshSetupSignals();
 
+    if (virInitialize() < 0)
+        return false;
+
     if (virEventRegisterDefaultImpl() < 0)
         return false;