This is the mail archive of the glibc-bugs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug libc/21793] New: glibc does not update the pid/tid cache after clone()


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.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]