On 01.10.2014 10:31, web2 wrote:
Hello,
sorry for my later answer.
so, after i started libvirtd (no vm´s running) and attach gdb i get the following
threads
(gdb) info thread
Id Target Id Frame
11 Thread 0x7f18fef4e700 (LWP 20695) "libvirtd"
pthread_cond_wait@(a)GLIBC_2.3.2 () at
../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
10 Thread 0x7f18fe74d700 (LWP 20696) "libvirtd"
pthread_cond_wait@(a)GLIBC_2.3.2 () at
../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
9 Thread 0x7f18fdf4c700 (LWP 20697) "libvirtd" pthread_cond_wait@(a)GLIBC_2.3.2
() at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
8 Thread 0x7f18fd74b700 (LWP 20698) "libvirtd" pthread_cond_wait@(a)GLIBC_2.3.2
() at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
7 Thread 0x7f18fcf4a700 (LWP 20699) "libvirtd" pthread_cond_wait@(a)GLIBC_2.3.2
() at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
6 Thread 0x7f18fc749700 (LWP 20700) "libvirtd" pthread_cond_wait@(a)GLIBC_2.3.2
() at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
5 Thread 0x7f18fbf48700 (LWP 20701) "libvirtd" pthread_cond_wait@(a)GLIBC_2.3.2
() at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
4 Thread 0x7f18fb747700 (LWP 20702) "libvirtd" pthread_cond_wait@(a)GLIBC_2.3.2
() at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
3 Thread 0x7f18faf46700 (LWP 20703) "libvirtd" pthread_cond_wait@(a)GLIBC_2.3.2
() at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
2 Thread 0x7f18fa745700 (LWP 20704) "libvirtd" pthread_cond_wait@(a)GLIBC_2.3.2
() at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
* 1 Thread 0x7f190892f840 (LWP 20694) "libvirtd" 0x00007f190677d7cd in poll ()
at ../sysdeps/unix/syscall-template.S:81
if i restore an persistent domain, i see the following in gdb:
Detaching after fork from child process 20880.
Detaching after fork from child process 20882.
[New Thread 0x7f190893d700 (LWP 20883)]
Detaching after fork from child process 20890.
Detaching after fork from child process 20906.
(gdb) info thread
Id Target Id Frame
12 Thread 0x7f190893d700 (LWP 20883) "libvirtd" 0x00007f1906e6684d in read ()
at ../sysdeps/unix/syscall-template.S:81
11 Thread 0x7f18fef4e700 (LWP 20695) "libvirtd"
pthread_cond_wait@(a)GLIBC_2.3.2 () at
../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
10 Thread 0x7f18fe74d700 (LWP 20696) "libvirtd"
pthread_cond_wait@(a)GLIBC_2.3.2 () at
../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
9 Thread 0x7f18fdf4c700 (LWP 20697) "libvirtd" pthread_cond_wait@(a)GLIBC_2.3.2
() at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
8 Thread 0x7f18fd74b700 (LWP 20698) "libvirtd" pthread_cond_wait@(a)GLIBC_2.3.2
() at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
7 Thread 0x7f18fcf4a700 (LWP 20699) "libvirtd" pthread_cond_wait@(a)GLIBC_2.3.2
() at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
6 Thread 0x7f18fc749700 (LWP 20700) "libvirtd" pthread_cond_wait@(a)GLIBC_2.3.2
() at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
5 Thread 0x7f18fbf48700 (LWP 20701) "libvirtd" pthread_cond_wait@(a)GLIBC_2.3.2
() at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
4 Thread 0x7f18fb747700 (LWP 20702) "libvirtd" pthread_cond_wait@(a)GLIBC_2.3.2
() at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
3 Thread 0x7f18faf46700 (LWP 20703) "libvirtd" pthread_cond_wait@(a)GLIBC_2.3.2
() at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
2 Thread 0x7f18fa745700 (LWP 20704) "libvirtd" pthread_cond_wait@(a)GLIBC_2.3.2
() at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
* 1 Thread 0x7f190892f840 (LWP 20694) "libvirtd" 0x00007f190677d7cd in poll ()
at ../sysdeps/unix/syscall-template.S:81
if i now destroy this vm i get the following:
(gdb) info thread
Id Target Id Frame
12 Thread 0x7f190893d700 (LWP 20883) "libvirtd" 0x00007f1906e6684d in read ()
at ../sysdeps/unix/syscall-template.S:81
11 Thread 0x7f18fef4e700 (LWP 20695) "libvirtd"
pthread_cond_wait@(a)GLIBC_2.3.2 () at
../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
10 Thread 0x7f18fe74d700 (LWP 20696) "libvirtd"
pthread_cond_wait@(a)GLIBC_2.3.2 () at
../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
9 Thread 0x7f18fdf4c700 (LWP 20697) "libvirtd" pthread_cond_wait@(a)GLIBC_2.3.2
() at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
8 Thread 0x7f18fd74b700 (LWP 20698) "libvirtd" pthread_cond_wait@(a)GLIBC_2.3.2
() at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
7 Thread 0x7f18fcf4a700 (LWP 20699) "libvirtd" pthread_cond_wait@(a)GLIBC_2.3.2
() at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
6 Thread 0x7f18fc749700 (LWP 20700) "libvirtd" pthread_cond_wait@(a)GLIBC_2.3.2
() at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
5 Thread 0x7f18fbf48700 (LWP 20701) "libvirtd" pthread_cond_wait@(a)GLIBC_2.3.2
() at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
4 Thread 0x7f18fb747700 (LWP 20702) "libvirtd" pthread_cond_wait@(a)GLIBC_2.3.2
() at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
3 Thread 0x7f18faf46700 (LWP 20703) "libvirtd" pthread_cond_wait@(a)GLIBC_2.3.2
() at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
2 Thread 0x7f18fa745700 (LWP 20704) "libvirtd" pthread_cond_wait@(a)GLIBC_2.3.2
() at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
* 1 Thread 0x7f190892f840 (LWP 20694) "libvirtd" 0x00007f190677d7cd in poll ()
at ../sysdeps/unix/syscall-template.S:81
attaching thread Id 12 and bt:
(gdb) thread 12
[Switching to thread 12 (Thread 0x7f190893d700 (LWP 20883))]
#0 0x00007f1906e6684d in read () at ../sysdeps/unix/syscall-template.S:81
81 T_PSEUDO (SYSCALL_SYMBOL, SYSCALL_NAME, SYSCALL_NARGS)
(gdb) bt
#0 0x00007f1906e6684d in read () at ../sysdeps/unix/syscall-template.S:81
#1 0x00007f18f8c415be in read (__nbytes=16, __buf=0x7f18d4000c50, __fd=26) at
/usr/include/bits/unistd.h:44
#2 read_all (fd=26, data=data@entry =0x7f18d4000c50, len=len@entry =16,
nonblocking=nonblocking@entry =0) at xs.c:374
#3 0x00007f18f8c41675 in read_message (h=h@entry =0x7f18e8001070,
nonblocking=nonblocking@entry =0) at xs.c:1139
#4 0x00007f18f8c41e90 in read_thread (arg=0x7f18e8001070) at xs.c:1211
#5 0x00007f1906e5ff35 in start_thread (arg=0x7f190893d700) at pthread_create.c:309
#6 0x00007f1906787c3d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
and then bt full:
(gdb) bt full
#0 0x00007f1906e6684d in read () at ../sysdeps/unix/syscall-template.S:81
No locals.
#1 0x00007f18f8c415be in read (__nbytes=16, __buf=0x7f18d4000c50, __fd=26) at
/usr/include/bits/unistd.h:44
No locals.
#2 read_all (fd=26, data=data@entry =0x7f18d4000c50, len=len@entry =16,
nonblocking=nonblocking@entry =0) at xs.c:374
done = <optimized out>
#3 0x00007f18f8c41675 in read_message (h=h@entry =0x7f18e8001070,
nonblocking=nonblocking@entry =0) at xs.c:1139
__clframe = {__cancel_routine = <optimized out>, __cancel_arg = 0x7f18d4000c40,
__do_it = 1, __cancel_type = <optimized out>}
msg = 0x7f18d4000c40
body = 0x0
saved_errno = 0
ret = -1
#4 0x00007f18f8c41e90 in read_thread (arg=0x7f18e8001070) at xs.c:1211
h = 0x7f18e8001070
fd = <optimized out>
This stack doesn't come from libvirt. I suspect it comes from a library
that libvirtd is linked with. Maybe libxl? What's the connection uri
you're using?
#5 0x00007f1906e5ff35 in start_thread (arg=0x7f190893d700) at
pthread_create.c:309
__res = <optimized out>
pd = 0x7f190893d700
now = <optimized out>
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {139745494816512, 9092725460686644452, 1, 0,
139745494817216, 139745494816512, -9214988784542636828, -9214975709026802460},
mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0},
data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
not_first_call = <optimized out>
pagesize_m1 = <optimized out>
sp = <optimized out>
freesize = <optimized out>
#6 0x00007f1906787c3d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
No locals.
Michal