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

Launchpad Bug Tracker 1864864 at bugs.launchpad.net
Mon Nov 2 18:40:35 UTC 2020


This bug was fixed in the package glibc - 2.27-3ubuntu1.3

---------------
glibc (2.27-3ubuntu1.3) bionic; urgency=medium

  [ Balint Reczey ]
  * debian/gbp.conf: Add initial configuration
  * debian/control.in/main: Add Vcs-* pointing to Ubuntu packaging repository
  * arm64: Enable searching shared libraries in atomics/ on LSE HW
  * Ship arm64 variant with LSE support in libc6-lse (LP: #1885012)
  * Run tests of libc6-lse on HW supporting LSE
  * debian/patches/git-updates.diff: update from upstream stable branch
    - pthread_cond_broadcast: Fix waiters-after-spinning case
    - Fix SSe2-based memmove corrupting memory (CVE-2017-18269)
    - Fix strstr() performance regression on Haswell processors
    - Support Japanese new era "令和 (Reiwa)"
    - io: Remove copy_file_range emulation
    (LP: #1851263, #1858203, #1838327, #1797335, #1756209, #1853193)
  * XFAIL stdlib/tst-getrandom (LP: #1891403)
  * debian/testsuite-xfail-debian.mk: XFAIL new tst-support_descriptors

  [ Thadeu Lima de Souza Cascardo ]
  * tests: Make preadwritev2 invalid flags tests unsupported (LP: #1770480)

  [ Andreas Hasenack ]
  * branch-pthread_rwlock_trywrlock-hang-23844.patch:
    nptl: Fix pthread_rwlock_try*lock stalls (Bug 23844) (LP: #1864864)

 -- Balint Reczey <rbalint at ubuntu.com>  Wed, 02 Sep 2020 11:18:37 +0200

** Changed in: glibc (Ubuntu Bionic)
       Status: Fix Committed => Fix Released

** CVE added: https://cve.mitre.org/cgi-bin/cvename.cgi?name=2017-18269

-- 
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:
  Fix Released
Status in glibc source package in Bionic:
  Fix Released
Status in glibc package in Debian:
  Fix Released

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:
  $ sudo apt install build-essential -y
  $ 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