This is the mail archive of the
glibc-bugs@sourceware.org
mailing list for the glibc project.
[Bug libc/21793] New: glibc does not update the pid/tid cache after clone()
- From: "thomasanderson at google dot com" <sourceware-bugzilla at sourceware dot org>
- To: glibc-bugs at sourceware dot org
- Date: Wed, 19 Jul 2017 23:05:35 +0000
- Subject: [Bug libc/21793] New: glibc does not update the pid/tid cache after clone()
- Auto-submitted: auto-generated
https://sourceware.org/bugzilla/show_bug.cgi?id=21793
Bug ID: 21793
Summary: glibc does not update the pid/tid cache after clone()
Product: glibc
Version: 2.25
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: libc
Assignee: unassigned at sourceware dot org
Reporter: thomasanderson at google dot com
CC: drepper.fsp at gmail dot com
Target Milestone: ---
After commit [1], glibc no longer updates the TID cache after clone().
However, pthread still uses it, in eg. [2]. This is causing bug [3] in
Chromium where after a clone(), pthread_mutex_lock() erroneously says that the
lock is already owned by the calling thread when it is not. As a workaround,
doing an otherwise pointless fork() after the clone() forces glibc to update
the TID cache which fixes the issue.
[1]
https://sourceware.org/git/?p=glibc.git;a=commit;h=c579f48edba88380635ab98cb612030e3ed8691e
[2]
https://sourceware.org/git/?p=glibc.git;a=blob;f=nptl/pthread_mutex_lock.c;h=dc9ca4c4764be2654141493330bd8a91a989f601;hb=HEAD#l148
[3] https://bugs.chromium.org/p/chromium/issues/detail?id=735048
--
You are receiving this mail because:
You are on the CC list for the bug.