** Description changed:
[Impact]
- * An explanation of the effects of the bug on users and
+ * Libvirt does an overzealous check on concurrent hash usage which breaks
+ some automation like for example Terraform. Upstream moved the need to
+ lock up the stack where applicable and dropped the checks as they were
+ superfluous.
- * justification for backporting the fix to the stable release.
-
- * In addition, it is helpful, but not required, to include an
- explanation of how the upload fixes this bug.
+ * Backport the upstream change dropping the extra checks on hash usage
[Test Case]
- * detailed instructions how to reproduce the bug
+ * 1.Start a guest:
+ $ virsh start test1
- * these should allow someone who is not familiar with the affected
- package to reproduce the bug and verify that the updated package fixes
- the problem.
+ * 2.Do 'virsh list' in a loop:
+ $ for i in {1..1000}; do virsh list; done
+
+ * 3.Open another terminal, do 'virsh domstats' in a loop:
+ $ for i in {1..1000}; do virsh domstats; done
+
+ * 4.Check the libvirtd.log:
+ $ cat /var/log/libvirt/libvirtd.log | grep -i "Hash operation not allowed
during"
+ 2018-09-04 06:57:00.761+0000: 28687: error : virHashForEach:597 : Hash
operation not allowed during iteration
+
+ From: https://bugzilla.redhat.com/show_bug.cgi?id=1581364#c7
+
+ With the aforementioned patch, this error is not produced any more.
[Regression Potential]
- * discussion of how regressions are most likely to manifest as a result
- of this change.
-
- * It is assumed that any SRU candidate patch is well-tested before
- upload and has a low overall risk of regression, but it's important
- to make the effort to think about what ''could'' happen in the
- event of a regression.
-
- * This both shows the SRU team that the risks have been considered,
- and provides guidance to testers in regression-testing the SRU.
+ * If the assumption that all remaining callers are safe isn't correct
+ there could be code using invalid hashes accessing guest information.
+ This needs thorough tests and regression checks as well as an extra
+ review if it can be applied to the libvirt 4.0 we have in Bionic.
[Other Info]
-
- * Anything else you think is useful to include
- * Anticipate questions from users, SRU, +1 maintenance, security teams and
the Technical Board
- * and address these questions in advance
+
+ * n/a
----
-
- In the SUSE Manager/Uyuni[1] project CIs we make use of Terraform[2], a tool
to automate infrastructure deployments, together with
terraform-provider-libvirt[3], a Terraform provider (plugin) that allow
interaction with libvirt.
+ In the SUSE Manager/Uyuni[1] project CIs we make use of Terraform[2], a
+ tool to automate infrastructure deployments, together with terraform-
+ provider-libvirt[3], a Terraform provider (plugin) that allow
+ interaction with libvirt.
By default, this setup will issue several libvirt API calls concurrently
in an hard-to-predict order, as demonstrated by logs that I am
attaching.
In the "bad log" example, the following line appears:
error : virHashSearch:727 : Hash operation not allowed during iteration
According to analysis of a similar problem by Red Hat in an OpenStack
scenario[4], this is has been fixed in upstream libvirt via commit
4d7384eb9ddef2008cb0cc165eb808f74bc83d6b [5].
I tested the patch and it applies cleanly to the 4.0.0 package shipping
with Bionic and that successfully resolves this issue.
Please evaluate including this patch.
Thanks in advance
[1] http://uyuni-project.org/
[2] https://www.terraform.io/
[3] https://github.com/dmacvicar/terraform-provider-libvirt
[4] https://bugzilla.redhat.com/show_bug.cgi?id=1576464#c3
[5]
https://github.com/libvirt/libvirt/commit/4d7384eb9ddef2008cb0cc165eb808f74bc83d6b.patch
ProblemType: Bug
DistroRelease: Ubuntu 18.04
Package: libvirt-daemon 4.0.0-1ubuntu8.3
ProcVersionSignature: Ubuntu 4.15.0-33.36-generic 4.15.18
Uname: Linux 4.15.0-33-generic x86_64
NonfreeKernelModules: nvidia_modeset nvidia
ApportVersion: 2.20.9-0ubuntu7.2
Architecture: amd64
CurrentDesktop: ubuntu:GNOME
Date: Wed Aug 29 16:05:10 2018
InstallationDate: Installed on 2014-06-12 (1539 days ago)
InstallationMedia: Ubuntu 14.04 LTS "Trusty Tahr" - Release amd64 (20140417)
SourcePackage: libvirt
UpgradeStatus: Upgraded to bionic on 2018-05-02 (119 days ago)
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1789659
Title:
libvirt-daemon error "virHashSearch:727 : Hash operation not allowed
during iteration"
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/libvirt/+bug/1789659/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs