** Description changed:

+ [Impact]
+ 
+  * Fix a potential deadlock
+ 
+  * The trigger is essentially a race, so it is rare and repro unreliable
+ 
+ [Test Case]
+ 
+  * This is the hard part for this issue, essentially changing NWFilters 
+    through libvirt. The reporter hits it on removing a guest, but it is 
+    hard to make a recipe by that.
+ 
+  * We have to fall back to general regression checks with an extra eye on 
+    NWFilter handling
+ 
+ 
+ [Regression Potential] 
+ 
+  * The only bad part is the hard repro, everything else seems to make this 
+    low risk
+    - the patch is small
+    - the patch got no follow on fix in 2 years (so it is very stable)
+    - it unlocks earlier (so deadlocks are less likely)
+    - there is no data issue (being unlocked early) as explained in the 
+      patch
+ 
+ [Other Info]
+  
+  * n/a
+ 
+ ---
+ 
  When deleting a VM, libvirt-bin intermittently hits a deadlock in nwfilter 
instantiation code.
  This is fixed in libvirt upstream, but the below commit is not cherrypicked 
in ubuntu yet:
  
https://github.com/libvirt/libvirt/commit/2f5e24ba00d93c25b87561cb1f5259de175d70f9
  
  Thread 5 (Thread 0x7f2ce1c4b700 (LWP 13866)):
  #0  __lll_lock_wait () at ../sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:135
  #1  0x00007f2cee30ce42 in __GI___pthread_mutex_lock (mutex=0x7f2c980008d0) at 
../nptl/pthread_mutex_lock.c:115
  #2  0x00007f2cc7d7a62f in virNWFilterLockIface () from 
/usr/lib/libvirt/connection-driver/libvirt_driver_nwfilter.so
  #3  0x00007f2cc7d6ebf5 in ?? () from 
/usr/lib/libvirt/connection-driver/libvirt_driver_nwfilter.so
  #4  0x00007f2cc7d6f84c in virNWFilterTeardownFilter () from 
/usr/lib/libvirt/connection-driver/libvirt_driver_nwfilter.so
  ---Type <return> to continue, or q <return> to quit---
  #5  0x00007f2ceea32f0c in virDomainConfVMNWFilterTeardown () from 
/usr/lib/x86_64-linux-gnu/libvirt.so.0
  #6  0x00007f2cc73d5a86 in qemuProcessStop () from 
/usr/lib/libvirt/connection-driver/libvirt_driver_qemu.so
  #7  0x00007f2cc7420577 in ?? () from 
/usr/lib/libvirt/connection-driver/libvirt_driver_qemu.so
  #8  0x00007f2ceea857cf in virDomainDestroy () from 
/usr/lib/x86_64-linux-gnu/libvirt.so.0
  #9  0x000055c4ba3fe9db in ?? ()
  #10 0x00007f2ceeaf8f69 in virNetServerProgramDispatch () from 
/usr/lib/x86_64-linux-gnu/libvirt.so.0
  #11 0x00007f2ceeaf4478 in ?? () from /usr/lib/x86_64-linux-gnu/libvirt.so.0
  #12 0x00007f2cee9eb566 in ?? () from /usr/lib/x86_64-linux-gnu/libvirt.so.0
  #13 0x00007f2cee9eaae8 in ?? () from /usr/lib/x86_64-linux-gnu/libvirt.so.0
  #14 0x00007f2cee30a6ba in start_thread (arg=0x7f2ce1c4b700) at 
pthread_create.c:333
  #15 0x00007f2cee04041d in clone () at 
../sysdeps/unix/sysv/linux/x86_64/clone.S:109
  
- 
  Thread 17 (Thread 0x7f2cc2801700 (LWP 8866)):
  #0  __lll_lock_wait () at ../sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:135
  #1  0x00007f2cee30ce42 in __GI___pthread_mutex_lock (mutex=0x7f2cc7f8d280) at 
../nptl/pthread_mutex_lock.c:115
  #2  0x00007f2cc7d6f6d3 in virNWFilterInstantiateFilterLate () from 
/usr/lib/libvirt/connection-driver/libvirt_driver_nwfilter.so
  #3  0x00007f2cc7d7a9b2 in ?? () from 
/usr/lib/libvirt/connection-driver/libvirt_driver_nwfilter.so
  #4  0x00007f2cee9eab12 in ?? () from /usr/lib/x86_64-linux-gnu/libvirt.so.0
  #5  0x00007f2cee30a6ba in start_thread (arg=0x7f2cc2801700) at 
pthread_create.c:333
  #6  0x00007f2cee04041d in clone () at 
../sysdeps/unix/sysv/linux/x86_64/clone.S:109

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1753604

Title:
  libvirt-bin nwfilter deadlock

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/libvirt/+bug/1753604/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to