Hide Forgot
Description of problem: Python bindings of libvirt generate segfault, when connect to hypervisor second time. Version-Release number of selected component (if applicable): libvirt.getVersion() == 8008 How reproducible: python -c "import libvirt; libvirt.virConnect('qemu:///session');libvirt.virConnect('qemu:///session')" Steps to Reproduce: python -c "import libvirt; libvirt.virConnect('qemu:///session');libvirt.virConnect('qemu:///session')" Actual results: segfault Expected results: no segfault :) Additional info: uname -a: Linux koder-laptop 2.6.38-11-generic #50-Ubuntu SMP Mon Sep 12 21:17:25 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux qemu --version: QEMU emulator version 0.14.0 (qemu-kvm-0.14.0), Copyright (c) 2003-2008 Fabrice Bellard dpkg -l | grep kvm: kvm 1:84+dfsg-0ubuntu16+0.14.0+noroms+0ubuntu4.4 qemu 0.14.0+noroms-0ubuntu4.4 qemu-kvm 0.14.0+noroms-0ubuntu4.4 dpkg -l | grep libvirt: libsys-virt-perl 0.2.4-1 libvirt-bin 0.8.8-1ubuntu6.5 libvirt0 0.8.8-1ubuntu6.5 libvirtodbc0 6.1.2+dfsg1-1ubuntu4 python-libvirt 0.8.8-1ubuntu6.5
The 'libvirt.virConnect' constructor is expecting a python wrapper object for the 'virConnectPtr' C object instance. You are instead passing it a python string, hence the SEGV when it tries to use what it thinks is a virConnectPtr C object. If you want to connect to libvirt use conn = libvirt.open("qemu:///session")