[libvirt] libvirtd crashes
by Shi Jin
Hi there,
My libvirtd built from the latest git code keeps on crashing on all machines.
I turned on debugging and this is the information I have in the log file before crashing:
14:31:50.828: debug : virEventUpdateHandleImpl:146 : Update handle w=110 e=12
14:31:50.828: debug : virEventInterruptLocked:662 : Interrupting
14:31:50.828: debug : qemuMonitorCommandWithHandler:271 : Receive command reply ret=-1 errno=104 0 bytes '(null)'
14:31:50.828: error : qemuMonitorCommandWithHandler:290 : cannot send monitor command 'info cpus': Connection reset by peer
14:31:50.828: error : qemuMonitorTextGetCPUInfo:436 : internal error cannot run monitor command to fetch CPU thread info
I am not sure if there is any other information needed to help identify the problem. My building options are:
./autogen.sh --prefix=/usr --sysconfdir=/etc --localstatedir=/var --without-xen --with-qemu --with-qemu-user=oneadmin --with-qemu-group=oneadmin --without-uml --without-vbox --without-openvz --without-lxc
Please help me here. I can accept the service failing queries from time to time since I have error handling written so that they can be re-tried. But a crashing libvirtd takes the whole thing down.
Thanks a lot.
Shi
--
Shi Jin, PhD
14 years, 11 months
[libvirt] ANNOUNCE: New releases virt-manager 0.8.1 and virtinst 0.500.1
by Cole Robinson
I'm happy to announce two new releases:
virt-manager 0.8.1: virt-manager is a desktop application for managing
KVM and Xen virtual machines via libvirt.
virtinst 0.500.1: virtinst is a collection of command line tools for
provisioning libvirt virtual machines, including virt-install and
virt-clone.
The releases can be downloaded from:
http://virt-manager.org/download.html
The direct download links are:
http://virt-manager.org/download/sources/virt-manager/virt-manager-0.8.1....
http://virt-manager.org/download/sources/virtinst/virtinst-0.500.1.tar.gz
The virt-manager release includes:
- VM Migration wizard, exposing various migration options
- Enumerate CDROM and bridge devices on remote connections
- Can once again list multiple graphs in the manager window (Jon Nordby)
- Support disabling dhcp (Michal Novotny), and specifying 'routed'
type for new virtual networks
- Support storage pool source enumeration for LVM, NFS, and SCSI
- Allow changing VM ACPI, APIC, clock offset, individual vcpu pinning,
and video model (vga, cirrus, etc.)
- Many improvements and bugfixes
The virtinst release includes:
- virt-install now attempts --os-variant detection by default. This can
be disabled with '--os-variant none' (distro detection currently
only works for URL installs)
- New --disk option 'format', for creating image disks formats such as
qcow2 or vmdk
- Many improvements and bugfixes
Thanks to everyone who has contributed to this release through testing,
bug reporting, submitting patches, and otherwise sending in feedback!
Thanks,
Cole
14 years, 11 months
[libvirt] both libvirt 0.7.4 and latest git crashing
by Nikola Ciprich
Hi,
few days ago, I've reported problem with libvirt getting stuck while saving kvm.
Today, I tried latest git and it seems the problem is solved which is great.
Unfortunately, there seems to be another problem (which I noticed even for 0.7.4 although
haven't reported yet) is that libvirtd sometimes crashes.
I'm not 100% sure which action causes it to crash as it's being executed
by cluster resource manager, but the backtrace might help those familiar
with it's internals. (I think it's domain start)
(gdb) bt
#0 0x00007f4f46d03cd0 in pthread_mutex_unlock () from /lib64/libpthread.so.0
#1 0x000000000042da91 in qemuDomainObjExitMonitor (obj=0x980a80) at qemu/qemu_driver.c:287
#2 0x000000000043ca84 in qemudDomainGetInfo (dom=0x978d50, info=0x42690de0) at qemu/qemu_driver.c:3294
#3 0x00007f4f47ddf3fb in virDomainGetInfo (domain=0x978d50, info=0x42690de0) at libvirt.c:2786
#4 0x000000000041d79e in remoteDispatchDomainGetInfo (server=<value optimized out>, client=<value optimized out>, conn=0x961840,
hdr=<value optimized out>, rerr=0x42690e70, args=<value optimized out>, ret=0x42690f50) at remote.c:1076
#5 0x000000000041f35c in remoteDispatchClientCall (server=0x95b780, client=0x97e310, msg=0x980b00) at dispatch.c:506
#6 0x000000000041f712 in remoteDispatchClientRequest (server=0x95b780, client=0x97e310, msg=0x980b00) at dispatch.c:388
#7 0x00000000004147e2 in qemudWorker (data=<value optimized out>) at libvirtd.c:1518
#8 0x00007f4f46d004a7 in start_thread () from /lib64/libpthread.so.0
#9 0x00007f4f46a76c2d in clone () from /lib64/libc.so.6
Could anyone please have a look at it?
thanks a lot in advance
nik
--
-------------------------------------
Nikola CIPRICH
LinuxBox.cz, s.r.o.
28. rijna 168, 709 01 Ostrava
tel.: +420 596 603 142
fax: +420 596 621 273
mobil: +420 777 093 799
www.linuxbox.cz
mobil servis: +420 737 238 656
email servis: servis(a)linuxbox.cz
-------------------------------------
14 years, 11 months
[libvirt] cannot read libvirt.org website...
by Matthew Woehlke
...because of this (in http://libvirt.org/generic.css):
body {
margin: 0em;
padding: 0px;
color: rgb(0,0,0);
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 80%;
// font-size: 83%;
}
Black text on unspecified background is not legible on my setup. A
background color *must* be specified when a foreground color is
specified. Please fix this.
(Apologies if this is not the right spot, but alas there is no webmaster
AT libvirt.org, and I did not find anything obvious on who is the
webmaster. If I should send this elsewhere, please let me know where.)
--
Matthew
Please do not quote my e-mail address unobfuscated in message bodies.
--
Obscurity: +5
14 years, 11 months
[libvirt] Move esxVMX_IndexToDiskName to util.c
by Matthias Bolte
I needed the inverse function to virDiskNameToIndex() for the ESX
driver and added it to esx_vmx.c. The pending VirtualBox 3.1 patch
needs disk index to disk name mapping too. So I want to move
esxVMX_IndexToDiskName() to util.c.
esxVMX_IndexToDiskName() handles indices up to 701. This limit comes
from a gap in the disk name to disk index mapping of
virDiskNameToIndex():
sdzy -> 700
sdzz -> 701
sdaaa -> 728
sdaab -> 729
This line in virDiskNameToIndex() causes this gap:
idx = (idx + i) * 26;
It can be fixed by altering this line to:
idx = (idx + (i < 1 ? 0 : 1)) * 26;
But this change breaks compatibility for indices > 701.
So, I made two patches for either option and ask you for comments.
Matthias
14 years, 11 months
[libvirt] About libvirt API Support event notification mechanism problem
by ajia
Dear Daniel,
Recently, I am writing test plan about libvirt asynchronous event
mechanism,
refering to the following bugs from the bugzilla:
spice/vnc: https://bugzilla.redhat.com/show_bug.cgi?id=515268
disk error: https://bugzilla.redhat.com/show_bug.cgi?id=515270
I know libvirt can communicate with qemu monitor by QMP at present, can
I use libvirt API to test it now?libvirt-0.7.4-1is ok?
In addition,In qemu monitor with rhel6(2.6.31-31.el6.x86_64),"notify"
command
is nonexistent (Fedora12 is existent),if current qemu can't support
event notification
mechanism in rhel6,from libvirt point of view,I don't clear libvirt how
to get asyns
event notification?so I don't know how to test it.and I see qemu monitor
protocol
being patched,I am not sure current QMP status. I would be most
grateful for any
response . thank you very much.
Best Regards,
Alex Jia
14 years, 11 months
[libvirt] [PATCH] Fix some locking issues
by Matthias Bolte
* src/conf/domain_conf.c: don't call virDomainObjUnlock twice
* src/qemu/qemu_driver.c: relock driver lock if an error occurs in
qemuDomainObjBeginJobWithDriver, enter/exit monitor with driver
in qemudDomainSave
---
src/conf/domain_conf.c | 1 -
src/qemu/qemu_driver.c | 9 +++++----
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index e9f79b7..21d509d 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -5230,7 +5230,6 @@ virDomainObjIsDuplicate(virDomainObjListPtr doms,
}
dupVM = 1;
- virDomainObjUnlock(vm);
} else {
/* UUID does not match, but if a name matches, refuse it */
vm = virDomainFindByName(doms, def->name);
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index bf4557e..2a63de9 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -353,6 +353,7 @@ static int qemuDomainObjBeginJobWithDriver(struct qemud_driver *driver,
else
virReportSystemError(NULL, errno,
"%s", _("cannot acquire job mutex"));
+ qemuDriverLock(driver);
return -1;
}
}
@@ -3612,9 +3613,9 @@ static int qemudDomainSave(virDomainPtr dom,
if (header.compressed == QEMUD_SAVE_FORMAT_RAW) {
const char *args[] = { "cat", NULL };
qemuDomainObjPrivatePtr priv = vm->privateData;
- qemuDomainObjEnterMonitor(vm);
+ qemuDomainObjEnterMonitorWithDriver(driver, vm);
rc = qemuMonitorMigrateToCommand(priv->mon, 0, args, path);
- qemuDomainObjExitMonitor(vm);
+ qemuDomainObjExitMonitorWithDriver(driver, vm);
} else {
const char *prog = qemudSaveCompressionTypeToString(header.compressed);
qemuDomainObjPrivatePtr priv = vm->privateData;
@@ -3623,9 +3624,9 @@ static int qemudDomainSave(virDomainPtr dom,
"-c",
NULL
};
- qemuDomainObjEnterMonitor(vm);
+ qemuDomainObjEnterMonitorWithDriver(driver, vm);
rc = qemuMonitorMigrateToCommand(priv->mon, 0, args, path);
- qemuDomainObjExitMonitor(vm);
+ qemuDomainObjExitMonitorWithDriver(driver, vm);
}
if (rc < 0)
--
1.6.0.4
14 years, 11 months
Re: [libvirt] [PATCH v2] Disk- and Controller Hotplug
by Wolfgang Mauerer
Hi,
Some time ago, Daniel P. Berrange wrote:
> On Tue, Nov 24, 2009 at 02:15:58PM +0100, Wolfgang Mauerer wrote:
>> Daniel P. Berrange wrote:
>>> On Mon, Nov 23, 2009 at 02:15:06PM +0100, Wolfgang Mauerer wrote:
>>>> Daniel P. Berrange wrote:
>>>>> Wolfgang Mauerer wrote:
>> okay, to avoid flooding the mailing list with nearly identical
>> patches, I've put the rebased versions into a repository at
>> git://git.kiszka.org/libvirt.git queue
>
> I've been taking a closer look at this, and I think the final state
> of patch series as a whole looks good. The minor issue is that the
> intermediate patches don't compile, since they rely on compile fixes
> at the end of the series. Rather than ask you to re-format the
> patches yet again, I'm going to just merge the patches into a smaller
> set myself.
yes, I've sacrificed individual compilability when I did the forward
porting because I the amount of time I can dedicate to this right
now is a bit restricted for various reasons. Thanks for doing the
missing cleanups!
> I've got just one question I'd like to understand before doing this.
> On the <disk> element's new <controller> element, you are allowing
> two mutually exclusive ways of specifying the controller
>
> <disk> ... <controller name="<identifier>" bus="<number>"
> unit="<number>"/> </disk>
>
> and
>
> <disk> ... <controller pci_addr="<addr>" bus="<number>"
> unit="<number>"/> </disk>
>
> I think it is going to cause unneccessary pain for applications to
> have to cope with two different ways of specifying the same
> relationship. So my intention is to remove the 'pci_addr' variant,
> since that information can easily be got directly from the separate
> top level <controller> device itself
Getting rid of pci_addr is perfectly okay. I've kept it in the current
series for setups that don't provide <controller>s, but it's supposed
to be eliminated by design. Just go ahead if you want to do this
it already now ;-)
> On a side note, once we've applied this initial series, I think we'll
> also need to be automatically adding a <controller> element in all
> guest domains which have IDE or SCSI controllers present by default.
> This is going to also force us to hook into QEMU's 'info pci' monitor
> command to figure out their PCI address. This is long overdue though
> and needed for NIC & Disk devices added at startup too, so this is
> good motivation :-)
agreed. I can try to address this when I bring back hot-removal.
Best regards,
Wolfgang
--
Siemens AG, Corporate Technology CT T DE IT 1
Corporate Competence Centre Embedded Linux
14 years, 11 months
[libvirt] Re: virDomainCreate() response time
by Christopher Pyper
I am using xen with libvirt and I have very slow response times with calls to virDomainCreate(). It takes approximately 5-6 seconds to return. Other calls like virDomainReboot() or virtDomainShutdown() return immediately. Do you know what might be causing this, and how I might speed this up.
Cheers.
14 years, 11 months