[libvirt-users] [libvirt] increase number of libvirt threads by starting tansient guest doamin - is it a bug?

web2 ustermann78 at web.de
Wed Oct 1 16:27:31 UTC 2014


 Hi
 
----------------ursprüngliche Nachricht-----------------
Von: "Michal Privoznik" mprivozn at redhat.com 
An: "web2" ustermann78 at web.de , "libvirt-users redhat.com" 
, "libvirt-list redhat.com" 
Datum: Wed, 01 Oct 2014 18:12:45 +0200
-------------------------------------------------
 
 
> 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@@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@@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@@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@@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@@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@@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@@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@@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@@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@@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@@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@@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@@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@@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@@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@@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@@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@@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@@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@@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@@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@@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@@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@@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@@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@@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@@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@@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@@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@@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 at entry =0x7f18d4000c50, len=len at entry =16, 
>> nonblocking=nonblocking at entry =0) at xs.c:374
>> #3 0x00007f18f8c41675 in read_message (h=h at entry =0x7f18e8001070, 
>> nonblocking=nonblocking at 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 at entry =0x7f18d4000c50, len=len at entry =16, 
>> nonblocking=nonblocking at entry =0) at xs.c:374
>> done = <optimized out>
>> #3 0x00007f18f8c41675 in read_message (h=h at entry =0x7f18e8001070, 
>> nonblocking=nonblocking at 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?

i use xen:///. as i said early, i do tests with xen xm´s. xend is disabled, so i use the libxl.

all the best
max

> 
>> #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
> 

-- 







More information about the libvirt-users mailing list