I have done some extensive research on this and I am able to confirm
that while Bug #1864864 does solve a class of issues, it does not solve
the one affecting Open vSwitch, as it does rely on
PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP:

https://github.com/openvswitch/ovs/blob/0de1b425962db073ebbaa3ddbde445580afda840/lib
/ovs-thread.c#L247-L248

And when running the reproducer here:

https://sourceware.org/bugzilla/show_bug.cgi?id=23861

By doing the following:

```
curl https://sourceware.org/bugzilla/attachment.cgi?id=11382 -o bug23861.c
sed -i 's/do_exit = 0/do_exit(0)/' bug23861.c 
g++ bug23861.c -lpthread -o bug23861
for ((x=1;x<100;x++)) ; do echo $x;date;./bug23861 
--prefer-writer-nonrecursive;done
```

I will add that in my initial tests of doing this inside a small VM with
a Docker container, it did not hang after running for 10-15 minutes, but
it immediately hung on a much more powerful machine.  I will file a bug
to try and get the patch above SRU'd into glibc as well and hopefully
that will be the end of it.

** Bug watch added: Sourceware.org Bugzilla #23861
   https://sourceware.org/bugzilla/show_bug.cgi?id=23861

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

Title:
  Open vSwitch (Version 2.9.2) goes into deadlocked state

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

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to