This is the mail archive of the
glibc-bugs@sourceware.org
mailing list for the glibc project.
[Bug nptl/4578] Assertion `...r_state == RT_CONSISTENT' failed!
- From: "stephen.robinson at intel dot com" <sourceware-bugzilla at sourceware dot org>
- To: glibc-bugs at sourceware dot org
- Date: Mon, 23 Nov 2015 13:05:45 +0000
- Subject: [Bug nptl/4578] Assertion `...r_state == RT_CONSISTENT' failed!
- Auto-submitted: auto-generated
- References: <bug-4578-131 at http dot sourceware dot org/bugzilla/>
https://sourceware.org/bugzilla/show_bug.cgi?id=4578
Stephen Robinson <stephen.robinson at intel dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |stephen.robinson at intel dot com
--- Comment #7 from Stephen Robinson <stephen.robinson at intel dot com> ---
I have run into this bug in glibc-2.16.0 and can also confirm that it is still
present in glibc-2.22.
The assertion was removed Jan 21st 2015 in changeset ccdb048, but the
underlying bug is still present.
The bug occurs because there is no protection to ensure that the loader's
internal structures are not being modified when a fork occurs and the child
process receives a snapshot of those structures.
I have created a new test case that reliably reproduces the bug as long as
there are at least two CPUs available so that the threads can run in parallel.
The existing patch from Larry Stewart fixes this issue for me, though I've also
updated it to acquire the new dl_load_write_lock.
While investigating this issue I also discovered a deadlock due to
dl_load_write_lock not being reinitialised for the child process during fork. I
will open a new bug for this.
--
You are receiving this mail because:
You are on the CC list for the bug.