[Bug 1864864] Re: [SRU] pthread_rwlock_trywrlock results in hang

Andreas Hasenack andreas at canonical.com
Tue Mar 3 18:15:44 UTC 2020


** Description changed:

  [Impact]
  
   * pthread_rwlock_trywrlock and pthread_rwlock_tryrdlock before glibc
  2.30 could hang:
  https://sourceware.org/bugzilla/show_bug.cgi?id=23844#c14
  
   * We are especially able to reproduce the problem with BIND 9.16.x when
  --with-pthread-rwlock configure option enabled
  
   * But the impact is not limited to BIND 9.16, but any multithreaded
  application using phtread rwlocks
  
  [Test Case]
  
  * Fetch the source program and build it:
  $ wget https://bugs.launchpad.net/ubuntu/+source/glibc/+bug/1864864/+attachment/5333068/+files/bug23844.wr.c
  $ gcc bug23844.wr.c -lpthread -o bug23844wr
  
  * Run the resulting binary a few times. On affected systems, it should
  hang in less then 10 attempts.
  
  $ ./bug23844rw
  trylock_wr
  500000
  
  (...)
  
- $ ./bug23844.wr 
+ $ ./bug23844.wr
  trylock_wr
  <hangs>
  
  [Regression Potential]
  
-  * I don't believe there's a chance for regressions here
+  * The upstream fix has been in glibc 2.30 and later
+  * Debian has the fix in 2.28-8 as part of "git-updates.diff" from February 2019

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

Title:
  [SRU] pthread_rwlock_trywrlock results in hang

Status in glibc package in Ubuntu:
  New
Status in glibc package in Debian:
  Unknown

Bug description:
  [Impact]

   * pthread_rwlock_trywrlock and pthread_rwlock_tryrdlock before glibc
  2.30 could hang:
  https://sourceware.org/bugzilla/show_bug.cgi?id=23844#c14

   * We are especially able to reproduce the problem with BIND 9.16.x
  when --with-pthread-rwlock configure option enabled

   * But the impact is not limited to BIND 9.16, but any multithreaded
  application using phtread rwlocks

  [Test Case]

  * Fetch the source program and build it:
  $ wget https://bugs.launchpad.net/ubuntu/+source/glibc/+bug/1864864/+attachment/5333068/+files/bug23844.wr.c
  $ gcc bug23844.wr.c -lpthread -o bug23844wr

  * Run the resulting binary a few times. On affected systems, it should
  hang in less then 10 attempts.

  $ ./bug23844rw
  trylock_wr
  500000

  (...)

  $ ./bug23844.wr
  trylock_wr
  <hangs>

  [Regression Potential]

   * The upstream fix has been in glibc 2.30 and later
   * Debian has the fix in 2.28-8 as part of "git-updates.diff" from February 2019

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



More information about the foundations-bugs mailing list