[libvirt] SIGSEGV using virConnect.newStream with Python

Claudio Bley cbley at av-test.de
Tue Aug 20 09:34:56 UTC 2013


Hi.

I tried this on Fedora 19, using libvirt 1.0.5 and also tested with
git v1.1.1-maint as well as git master on Ubuntu 12.04.

How to reproduce:

---- python -----
import libvirt as l
c = l.virConnect("test:///default")
v = c.virStream()
-----------------

Here's my GDB session with git master:

$ gdb python
GNU gdb (Ubuntu/Linaro 7.4-2012.04-0ubuntu2.1) 7.4-2012.04
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
For bug reporting instructions, please see:
<http://bugs.launchpad.net/gdb-linaro/>...
Reading symbols from /usr/bin/python...(no debugging symbols found)...done.
(gdb) run
Starting program: /usr/bin/python
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Python 2.7.3 (default, Apr 10 2013, 06:20:15)
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import libvirt as l
2013-08-20 09:21:39.437+0000: 12678: info : libvirt version: 1.1.1
2013-08-20 09:21:39.437+0000: 12678: debug : virGlobalInit:438 : register drivers
2013-08-20 09:21:39.437+0000: 12678: debug : virRegisterDriver:764 : driver=0x7ffff5dc6760 name=Test
2013-08-20 09:21:39.437+0000: 12678: debug : virRegisterDriver:776 : registering Test as driver 0
2013-08-20 09:21:39.437+0000: 12678: debug : virRegisterNetworkDriver:611 : registering Test as network driver 0
2013-08-20 09:21:39.437+0000: 12678: debug : virRegisterInterfaceDriver:638 : registering Test as interface driver 0
2013-08-20 09:21:39.437+0000: 12678: debug : virRegisterStorageDriver:665 : registering Test as storage driver 0
2013-08-20 09:21:39.437+0000: 12678: debug : virRegisterNodeDeviceDriver:692 : registering Test as device driver 0
2013-08-20 09:21:39.437+0000: 12678: debug : virRegisterSecretDriver:719 : registering Test as secret driver 0
2013-08-20 09:21:39.437+0000: 12678: debug : virRegisterNWFilterDriver:746 : registering Test as network filter driver 0
2013-08-20 09:21:39.437+0000: 12678: debug : virRegisterSecretDriver:719 : registering Test as secret driver 0                                                                                                                      [19/1965]
2013-08-20 09:21:39.437+0000: 12678: debug : virRegisterNWFilterDriver:746 : registering Test as network filter driver 0
2013-08-20 09:21:39.437+0000: 12678: debug : virRegisterDriver:764 : driver=0x7ffff5dc7ec0 name=OPENVZ
2013-08-20 09:21:39.437+0000: 12678: debug : virRegisterDriver:776 : registering OPENVZ as driver 1
2013-08-20 09:21:39.437+0000: 12678: debug : virRegisterDriver:764 : driver=0x7ffff5dc84e0 name=VMWARE
2013-08-20 09:21:39.437+0000: 12678: debug : virRegisterDriver:776 : registering VMWARE as driver 2
2013-08-20 09:21:39.437+0000: 12678: debug : parallelsRegister:2423 : Can't find prlctl command in the PATH env
2013-08-20 09:21:39.437+0000: 12678: debug : virRegisterDriver:764 : driver=0x7ffff5dc71a0 name=remote
2013-08-20 09:21:39.437+0000: 12678: debug : virRegisterDriver:776 : registering remote as driver 3
2013-08-20 09:21:39.437+0000: 12678: debug : virRegisterNetworkDriver:611 : registering remote as network driver 1
2013-08-20 09:21:39.437+0000: 12678: debug : virRegisterInterfaceDriver:638 : registering remote as interface driver 1
2013-08-20 09:21:39.437+0000: 12678: debug : virRegisterStorageDriver:665 : registering remote as storage driver 1
2013-08-20 09:21:39.437+0000: 12678: debug : virRegisterNodeDeviceDriver:692 : registering remote as device driver 1
2013-08-20 09:21:39.437+0000: 12678: debug : virRegisterSecretDriver:719 : registering remote as secret driver 1
2013-08-20 09:21:39.437+0000: 12678: debug : virRegisterNWFilterDriver:746 : registering remote as network filter driver 1
>>> c = l.virConnect("test:///default")
>>> v = c.newStream()
2013-08-20 09:22:08.120+0000: 12678: debug : virStreamNew:16922 : conn=0xf, flags=0

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff59be0e9 in virObjectIsClass (anyobj=<optimized out>, klass=0x0) at util/virobject.c:362
362         return virClassIsDerivedFrom(obj->klass, klass);

(gdb) bt full
#0  0x00007ffff59be0e9 in virObjectIsClass (anyobj=<optimized out>, klass=0x0) at util/virobject.c:362
        obj = 0xf
#1  0x00007ffff5a7fca8 in virStreamNew (conn=0xf, flags=0) at libvirt.c:16926
        st = <optimized out>
        __func__ = "virStreamNew"
        __FUNCTION__ = "virStreamNew"
#2  0x00007ffff5df7f72 in libvirt_virStreamNew (self=<optimized out>, args=<optimized out>) at libvirt.c:2617
        _save = 0x0
        c_retval = <optimized out>
        conn = 0xf
        pyobj_conn = 0x7ffff7edd5a8
        flags = 0
#3  0x0000000000466254 in PyEval_EvalFrameEx ()
No symbol table info available.
#4  0x000000000057bd02 in PyEval_EvalCodeEx ()
No symbol table info available.
#5  0x00000000004667f8 in PyEval_EvalFrameEx ()
No symbol table info available.
#6  0x000000000057bd02 in PyEval_EvalCodeEx ()
No symbol table info available.
#7  0x000000000057d991 in PyRun_InteractiveOneFlags ()
No symbol table info available.
#8  0x000000000057dbfa in PyRun_InteractiveLoopFlags ()
No symbol table info available.
#9  0x000000000057e8e3 in PyRun_AnyFileExFlags ()
No symbol table info available.
#10 0x0000000000512cfd in Py_Main ()
No symbol table info available.
#11 0x00007ffff68cc76d in __libc_start_main (main=0x41ba20 <main>, argc=1, ubp_av=0x7fffffffe5f8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffe5e8) at libc-start.c:226
        result = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {0, -4474691967429585002, 4307496, 140737488348656, 0, 0, 4474691967066888086, 4474711353541580694}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x57e930, 0x7fffffffe5f8}, data = {
---Type <return> to continue, or q <return> to quit---
              prev = 0x0, cleanup = 0x0, canceltype = 5761328}}}
        not_first_call = <optimized out>
#12 0x000000000041ba51 in _start ()
No symbol table info available.


Can anybody make any sense out of this already? What else can I do
helping to solve this?

/ Claudio
-- 
AV-Test GmbH, Henricistraße 20, 04155 Leipzig, Germany
Phone: +49 341 265 310 19
Web:<http://www.av-test.org>

Eingetragen am / Registered at: Amtsgericht Stendal (HRB 114076)
Geschaeftsfuehrer (CEO): Andreas Marx, Guido Habicht, Maik Morgenstern




More information about the libvir-list mailing list