** 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 ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs