[Pkg-libvirt-maintainers] Bug#605965: python-libvirt: segfaults after making lots of readonly connections
david b
db.pub.mail at gmail.com
Sun Dec 5 05:26:06 UTC 2010
Package: python-libvirt
Version: 0.8.3-4
Severity: normal
Here is an example python script you can use to reproduce the problem:
import libvirt
import sys
def main():
conn = libvirt.openReadOnly(None)
if __name__ == "__main__":
for i in range(0, 10000):
main()
If you run it after a number of connections python will segfault.
Some gdb output
...
[New Thread 0x7ffff7e8f710 (LWP 22195)]
[Thread 0x7ffff7e8f710 (LWP 22195) exited]
[Thread 0x7ffff7e6e710 (LWP 22194) exited]
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff474c9e3 in ?? () from /usr/lib/virtualbox/VBoxXPCOMC.so
gdb) bt
#0 0x00007ffff474c9e3 in ?? () from /usr/lib/virtualbox/VBoxXPCOMC.so
#1 0x00007ffff474a429 in ?? () from /usr/lib/virtualbox/VBoxXPCOMC.so
#2 0x00007ffff4749a3c in ?? () from /usr/lib/virtualbox/VBoxXPCOMC.so
#3 0x00007ffff63aa5f5 in vboxInitialize (conn=0x7fffec008a60, auth=<value optimized out>, flags=<value optimized out>)
at vbox/vbox_tmpl.c:681
#4 vboxOpen (conn=0x7fffec008a60, auth=<value optimized out>, flags=<value optimized out>) at vbox/vbox_tmpl.c:815
#5 0x00007ffff63115b7 in do_open (name=<value optimized out>, auth=0x0, flags=1) at libvirt.c:1244
#6 0x00007ffff6312327 in virConnectOpenReadOnly (name=0x0) at libvirt.c:1461
#7 0x00007ffff662d9f5 in libvirt_virConnectOpenReadOnly (self=<value optimized out>, args=<value optimized out>) at libvirt.c:2480
#8 0x00000000004a7ba5 in call_function (f=
Frame 0x91be20, for file /usr/lib/python2.6/dist-packages/libvirt.py, line 179, in openReadOnly (name=None),
throwflag=<value optimized out>) at ../Python/ceval.c:3750
#9 PyEval_EvalFrameEx (f=Frame 0x91be20, for file /usr/lib/python2.6/dist-packages/libvirt.py, line 179, in openReadOnly (name=None),
throwflag=<value optimized out>) at ../Python/ceval.c:2412
#10 0x00000000004a84a0 in fast_function (f=Frame 0x953000, for file example.py, line 6, in main (), throwflag=<value optimized out>)
at ../Python/ceval.c:3836
#11 call_function (f=Frame 0x953000, for file example.py, line 6, in main (), throwflag=<value optimized out>) at ../Python/ceval.c:3771
#12 PyEval_EvalFrameEx (f=Frame 0x953000, for file example.py, line 6, in main (), throwflag=<value optimized out>) at ../Python/ceval.c:2412
#13 0x00000000004a84a0 in fast_function (f=Frame 0x91afd0, for file example.py, line 16, in <module> (), throwflag=<value optimized out>)
at ../Python/ceval.c:3836
#14 call_function (f=Frame 0x91afd0, for file example.py, line 16, in <module> (), throwflag=<value optimized out>) at ../Python/ceval.c:3771
#15 PyEval_EvalFrameEx (f=Frame 0x91afd0, for file example.py, line 16, in <module> (), throwflag=<value optimized out>)
at ../Python/ceval.c:2412
#16 0x00000000004a95c1 in PyEval_EvalCodeEx (co=0x7ffff7f07f30, globals=<value optimized out>, locals=<value optimized out>, args=0x0,
argcount=<value optimized out>, kws=<value optimized out>, kwcount=0, defs=0x0, defcount=0, closure=0x0) at ../Python/ceval.c:3000
#17 0x00000000004a9692 in PyEval_EvalCode (co=0x0, globals=<unknown at remote 0x7fffffff983c>, locals=<unknown at remote 0xffffffff>)
at ../Python/ceval.c:541
#18 0x00000000004c98be in run_mod (fp=<value optimized out>, filename=0x7fffffffe623 "example.py", start=<value optimized out>,
globals=<value optimized out>, locals=<value optimized out>, closeit=1, flags=0x7fffffffe240) at ../Python/pythonrun.c:1351
#19 PyRun_FileExFlags (fp=<value optimized out>, filename=0x7fffffffe623 "example.py", start=<value optimized out>,
globals=<value optimized out>, locals=<value optimized out>, closeit=1, flags=0x7fffffffe240) at ../Python/pythonrun.c:1337
#20 0x00000000004c9ad4 in PyRun_SimpleFileExFlags (fp=<value optimized out>, filename=0x7fffffffe623 "example.py", closeit=1, flags=
0x7fffffffe240) at ../Python/pythonrun.c:941
#21 0x000000000041a6bd in Py_Main (argc=-135262080, argv=<value optimized out>) at ../Modules/main.c:577
#22 0x00007ffff6a09c4d in __libc_start_main (main=<value optimized out>, argc=<value optimized out>, ubp_av=<value optimized out>,
init=<value optimized out>, fini=<value optimized out>, rtld_fini=<value optimized out>, stack_end=0x7fffffffe358) at libc-start.c:228
#23 0x00000000004198d9 in _start ()
(gdb) i r
rax 0x7fffec00b470 140737152857200
rbx 0x80004005 2147500037
rcx 0x7ffff7dda280 140737351885440
rdx 0xffffffff 4294967295
rsi 0x7fffffff983c 140737488328764
rdi 0x0 0
rbp 0x7fffffff9870 0x7fffffff9870
rsp 0x7fffffff9800 0x7fffffff9800
r8 0x7fffec00b460 140737152857184
r9 0x10 16
r10 0x7ffff6a677d0 140737331492816
r11 0x0 0
r12 0x7fffffff9810 140737488328720
r13 0x7fffffff9820 140737488328736
r14 0x7fffffff9830 140737488328752
r15 0x7fffffff9820 140737488328736
rip 0x7ffff474c9e3 0x7ffff474c9e3
eflags 0x10202 [ IF RF ]
cs 0x33 51
ss 0x2b 43
ds 0x0 0
es 0x0 0
fs 0x0 0
gs 0x0 0
-- System Information:
Debian Release: 5.0.7
APT prefers stable
APT policy: (900, 'stable'), (650, 'testing')
Architecture: amd64 (x86_64)
Kernel: Linux 2.6.36.1 (SMP w/4 CPU cores)
Locale: LANG=en_AU.UTF-8, LC_CTYPE=en_AU.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
More information about the Pkg-libvirt-maintainers
mailing list