attachment is test script to reproduce it, tar xzvf it, and sudo ./test_clean.sh.
runs on vdsm after version: commit acfe53407b450cab3b600e257bf487556fbece5e Author: Saggi Mizrahi smizrahi@redhat.com Date: Thu Apr 12 10:13:27 2012 -0400
Fix build-aux version scripts so that internal tags don't confuse them
A walking around patch is sent at http://gerrit.ovirt.org /#change,3638. Bugzillar: https://bugzilla.redhat.com/show_bug.cgi?id=808853
The attachment is the log. Vdsm was built on: 19981e1bee497cded822b184180d661b7cb625bd BZ#773210 - Avoid infinite loop when delete volume failed during the merge
with following change: vdsm.spec.in: -Requires: lvm2 >= 2.02.95 +Requires: lvm2 >= 2.02.86 -Requires: libvirt >= 0.9.10-9 -Requires: libvirt-python >= 0.9.10-9 +Requires: libvirt >= 0.9.6 +Requires: libvirt-python >= 0.9.6
I don't have latest package of that, so changed them, but they seems not related to the issue.
----- Original Message -----
于 2012-4-12 14:54, Ayal Baron 写道:
----- Original Message -----
I am using Fedora 16 with default python2.7.2 installed, and found sometimes vdsm hanged at vdsm/storage/misc.py, func execFunc: p = subprocess.Popen(command, close_fds=True, cwd=cwd, stdin=infile, stdout=outfile, stderr=subprocess.PIPE, env=env)
Stopped command could be anything, most likely is "Thread-12::DEBUG::2012-04-12 11:18:08,995::__init__::1241::Storage.Misc.excCmd::(_log) '/usr/bin/sudo -n /sbin/iscsiadm -m session -R' (cwd None)" during vdsm booting up procedure. This happens only when an other thread is started at the same time by calling threading.thread.start(), which I found in clientIF._init(): self._hostStats.start()
When it happens , there would be two vdsm showed in ps command,: vdsm 13794 1 0 11:18 ? 00:00:00 /bin/bash -e /usr/share/vdsm/respawn --minlifetime 10 --daemon --masterpid /var/run/vdsm/respawn.pid /usr/share/vdsm/vdsm vdsm 13797 13794 0 11:18 ? 00:00:00 /usr/bin/python /usr/share/vdsm/vdsm vdsm 13837 13797 0 11:18 ? 00:00:00 /usr/bin/python /usr/share/vdsm/vdsm
Does anyone could give some idea about it? I made my own testing .py program calling misc.execFunc in one thread, and starting an other thread by start() in main thread, same thing happens with little chance, so I guess it is a bug in python threading and pipe, planning to change vdsm threading class to work around this.
Do you have abrt package installed?
yes, and removed all abrt packages testing again, problem still happens. [root@oVirtPC xiawenc]# rpm -qa | grep abrt [root@oVirtPC xiawenc]#
[root@oVirtPC xiawenc]# rpm -qa | grep vdsm vdsm-cli-4.9.6-0.68.git19981e1.fc16.noarch vdsm-4.9.6-0.68.git19981e1.fc16.x86_64 vdsm-debuginfo-4.9.6-0.68.git19981e1.fc16.x86_64 vdsm-python-4.9.6-0.68.git19981e1.fc16.noarch
Adam also metioned abrt package before, what problem it would trick?
abrt had a bug where in some cases it would read from a socket that was never written to without a timeout so it would hang. The maintainer introduced a patch earlier this week but I'm not sure it's accepted yet. Can you attach vdsm.log?
vdsm-devel mailing list vdsm-devel@lists.fedorahosted.org https://fedorahosted.org/mailman/listinfo/vdsm-devel
【来自网易邮箱的超大附件】
vdsm_hang.log 下载: http://preview.mail.163.com/xdownload?filename=vdsm_hang.log&mid=1tbiNw2...
vdsm-devel mailing list vdsm-devel@lists.fedorahosted.org https://fedorahosted.org/mailman/listinfo/vdsm-devel