[libvirt-users] deadlock on connection loosing

Александр sss at sss.chaoslab.ru
Sun Jun 30 00:41:37 UTC 2013


В письме от Вторник, 25-июн-2013 11:47:10 пользователь Michal Privoznik 
написал:
> On 24.06.2013 11:36, Александр wrote:
> > libvirtd will lock if for example kill programm which established
> > connection,> 
> > only sigkill + restart helps., to reproduce:
> > 	virConnectPtr libvirt_connection = virConnectOpen("qemu:///system");
> > 	if(libvirt_connection == NULL)
> > 	{
> > 	
> > 		std::cout<<"failed to connect to qemu:///system\n";
> > 		exit(-1);
> > 	
> > 	}
> > 	exit(0);
> 
> Unfortunately, I'm unable to reproduce. Can you 't a a bt' again? Are
> you able to try the current git HEAD?
> 
> Michal

i also fail to reproduce it now, but my program still locks libvirt, currently 
i trying to create domain with

<?xml version="1.0" encoding="UTF-8"?>
<domain type="kvm">
  <tittle>Automatically created domain with default configuration</tittle>
  <uuid>70a2e046-769c-43d2-88a0-5310ce33cbf8</uuid>
  <name>vm1</name>
  <description>no description</description>
  <os>
    <type>hvm</type>
    <boot dev="cdrom"/>
    <boot dev="hd"/>
  </os>
  <vcpu>1</vcpu>
  <memory unit="MB">512</memory>
  <cpu model="host-model">
    <topology sockets="1" cores="1" threads="1"/>
  </cpu>
  <clock offset="localtime"/>
  <devices>
    <graphics type="vnc" autoport="yes" password="admin"/>
    <channel type="unix">
      <source mode="bind" path="/var/run/vm1.sock"/>
      <target type="virtio" name="org.guest_agent.0"/>
    </channel>
  </devices>
</domain>

backtrace from gdb

t a a bt

Thread 11 (Thread 0x7f57484a2700 (LWP 17528)):
#0  0x00007f574edda90c in pthread_cond_wait@@GLIBC_2.3.2 () from 
/lib64/libpthread.so.0
#1  0x00007f574f17b246 in virCondWait () from /usr/lib64/libvirt.so.0
#2  0x00007f574f17d26b in virThreadPoolWorker.18087 () from 
/usr/lib64/libvirt.so.0
#3  0x00007f574f1adef1 in virThreadHelper.17820 () from 
/usr/lib64/libvirt.so.0
#4  0x00007f574edd6d63 in start_thread () from /lib64/libpthread.so.0
#5  0x00007f574eb0e04d in clone () from /lib64/libc.so.6

Thread 10 (Thread 0x7f5747ca1700 (LWP 17529)):
#0  0x00007f574eddd344 in __lll_lock_wait () from /lib64/libpthread.so.0
#1  0x00007f574edd8e56 in _L_lock_511 () from /lib64/libpthread.so.0
#2  0x00007f574edd8caa in pthread_mutex_lock () from /lib64/libpthread.so.0
#3  0x00007f574f12bcd1 in virDomainObjListSearchName.23513 () from 
/usr/lib64/libvirt.so.0
#4  0x00007f574f129e95 in virHashSearch () from /usr/lib64/libvirt.so.0
#5  0x00007f574f0bf46d in virDomainObjListAddLocked.isra.54.25425 () from 
/usr/lib64/libvirt.so.0
#6  0x00007f574f0bf557 in virDomainObjListAdd () from /usr/lib64/libvirt.so.0
#7  0x00007f5741e7e8bf in qemuDomainDefineXML.40992 () from 
/usr/lib64/libvirt/connection-driver/libvirt_driver_qemu.so
#8  0x00007f574f06eddb in virDomainDefineXML () from /usr/lib64/libvirt.so.0
#9  0x00007f574facac6d in remoteDispatchDomainDefineXMLHelper.10498 ()
#10 0x00007f574f04ec27 in virNetServerProgramDispatch () from 
/usr/lib64/libvirt.so.0
#11 0x00007f574f04f128 in virNetServerHandleJob.78060 () from 
/usr/lib64/libvirt.so.0
#12 0x00007f574f17d1db in virThreadPoolWorker.18087 () from 
/usr/lib64/libvirt.so.0
#13 0x00007f574f1adef1 in virThreadHelper.17820 () from 
/usr/lib64/libvirt.so.0
#14 0x00007f574edd6d63 in start_thread () from /lib64/libpthread.so.0
#15 0x00007f574eb0e04d in clone () from /lib64/libc.so.6

Thread 9 (Thread 0x7f57474a0700 (LWP 17530)):
#0  0x00007f574edda90c in pthread_cond_wait@@GLIBC_2.3.2 () from 
/lib64/libpthread.so.0
#1  0x00007f574f17b246 in virCondWait () from /usr/lib64/libvirt.so.0
#2  0x00007f574f17d26b in virThreadPoolWorker.18087 () from 
/usr/lib64/libvirt.so.0
#3  0x00007f574f1adef1 in virThreadHelper.17820 () from 
/usr/lib64/libvirt.so.0
#4  0x00007f574edd6d63 in start_thread () from /lib64/libpthread.so.0
#5  0x00007f574eb0e04d in clone () from /lib64/libc.so.6

Thread 8 (Thread 0x7f5746c9f700 (LWP 17531)):
#0  0x00007f574edda90c in pthread_cond_wait@@GLIBC_2.3.2 () from 
/lib64/libpthread.so.0
#1  0x00007f574f17b246 in virCondWait () from /usr/lib64/libvirt.so.0
#2  0x00007f574f17d26b in virThreadPoolWorker.18087 () from 
/usr/lib64/libvirt.so.0
#3  0x00007f574f1adef1 in virThreadHelper.17820 () from 
/usr/lib64/libvirt.so.0
#4  0x00007f574edd6d63 in start_thread () from /lib64/libpthread.so.0
#5  0x00007f574eb0e04d in clone () from /lib64/libc.so.6

Thread 7 (Thread 0x7f574649e700 (LWP 17532)):
#0  0x00007f574edda90c in pthread_cond_wait@@GLIBC_2.3.2 () from 
/lib64/libpthread.so.0
#1  0x00007f574f17b246 in virCondWait () from /usr/lib64/libvirt.so.0
#2  0x00007f574f17d26b in virThreadPoolWorker.18087 () from 
/usr/lib64/libvirt.so.0
#3  0x00007f574f1adef1 in virThreadHelper.17820 () from 
/usr/lib64/libvirt.so.0
#4  0x00007f574edd6d63 in start_thread () from /lib64/libpthread.so.0
#5  0x00007f574eb0e04d in clone () from /lib64/libc.so.6

Thread 6 (Thread 0x7f5745c9d700 (LWP 17533)):
#0  0x00007f574edda90c in pthread_cond_wait@@GLIBC_2.3.2 () from 
/lib64/libpthread.so.0
#1  0x00007f574f17b246 in virCondWait () from /usr/lib64/libvirt.so.0
#2  0x00007f574f17d153 in virThreadPoolWorker.18087 () from 
/usr/lib64/libvirt.so.0
#3  0x00007f574f1adef1 in virThreadHelper.17820 () from 
/usr/lib64/libvirt.so.0
#4  0x00007f574edd6d63 in start_thread () from /lib64/libpthread.so.0
#5  0x00007f574eb0e04d in clone () from /lib64/libc.so.6

Thread 5 (Thread 0x7f574549c700 (LWP 17534)):
#0  0x00007f574edda90c in pthread_cond_wait@@GLIBC_2.3.2 () from 
/lib64/libpthread.so.0
#1  0x00007f574f17b246 in virCondWait () from /usr/lib64/libvirt.so.0
#2  0x00007f574f17d153 in virThreadPoolWorker.18087 () from 
/usr/lib64/libvirt.so.0
#3  0x00007f574f1adef1 in virThreadHelper.17820 () from 
/usr/lib64/libvirt.so.0
#4  0x00007f574edd6d63 in start_thread () from /lib64/libpthread.so.0
#5  0x00007f574eb0e04d in clone () from /lib64/libc.so.6

Thread 4 (Thread 0x7f5744c9b700 (LWP 17535)):
#0  0x00007f574edda90c in pthread_cond_wait@@GLIBC_2.3.2 () from 
/lib64/libpthread.so.0
---Type <return> to continue, or q <return> to quit---
#1  0x00007f574f17b246 in virCondWait () from /usr/lib64/libvirt.so.0
#2  0x00007f574f17d153 in virThreadPoolWorker.18087 () from 
/usr/lib64/libvirt.so.0
#3  0x00007f574f1adef1 in virThreadHelper.17820 () from 
/usr/lib64/libvirt.so.0
#4  0x00007f574edd6d63 in start_thread () from /lib64/libpthread.so.0
#5  0x00007f574eb0e04d in clone () from /lib64/libc.so.6

Thread 3 (Thread 0x7f574449a700 (LWP 17536)):
#0  0x00007f574edda90c in pthread_cond_wait@@GLIBC_2.3.2 () from 
/lib64/libpthread.so.0
#1  0x00007f574f17b246 in virCondWait () from /usr/lib64/libvirt.so.0
#2  0x00007f574f17d153 in virThreadPoolWorker.18087 () from 
/usr/lib64/libvirt.so.0
#3  0x00007f574f1adef1 in virThreadHelper.17820 () from 
/usr/lib64/libvirt.so.0
#4  0x00007f574edd6d63 in start_thread () from /lib64/libpthread.so.0
#5  0x00007f574eb0e04d in clone () from /lib64/libc.so.6

Thread 2 (Thread 0x7f5743c99700 (LWP 17537)):
#0  0x00007f574edda90c in pthread_cond_wait@@GLIBC_2.3.2 () from 
/lib64/libpthread.so.0
#1  0x00007f574f17b246 in virCondWait () from /usr/lib64/libvirt.so.0
#2  0x00007f574f17d153 in virThreadPoolWorker.18087 () from 
/usr/lib64/libvirt.so.0
#3  0x00007f574f1adef1 in virThreadHelper.17820 () from 
/usr/lib64/libvirt.so.0
#4  0x00007f574edd6d63 in start_thread () from /lib64/libpthread.so.0
#5  0x00007f574eb0e04d in clone () from /lib64/libc.so.6

Thread 1 (Thread 0x7f574fa45740 (LWP 17527)):
#0  0x00007f574eb0476d in poll () from /lib64/libc.so.6
#1  0x00007f574f14ad5e in virEventPollRunOnce () from /usr/lib64/libvirt.so.0
#2  0x00007f574f11841d in virEventRunDefaultImpl () from 
/usr/lib64/libvirt.so.0
#3  0x00007f574f18d79d in virNetServerRun () from /usr/lib64/libvirt.so.0
#4  0x00007f574fac4149 in main ()


i using git build 3a214482ec07be65adcfa9d8e08ad55a333589bb
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 490 bytes
Desc: This is a digitally signed message part.
URL: <http://listman.redhat.com/archives/libvirt-users/attachments/20130630/7ea9011e/attachment.sig>


More information about the libvirt-users mailing list