This is the mail archive of the
elfutils-devel@sourceware.org
mailing list for the elfutils project.
[Bug debuginfod/25394] New: groom vs. scan race condition
- From: "fche at redhat dot com" <sourceware-bugzilla at sourceware dot org>
- To: elfutils-devel at sourceware dot org
- Date: Wed, 15 Jan 2020 23:10:44 +0000
- Subject: [Bug debuginfod/25394] New: groom vs. scan race condition
- Auto-submitted: auto-generated
https://sourceware.org/bugzilla/show_bug.cgi?id=25394
Bug ID: 25394
Summary: groom vs. scan race condition
Product: elfutils
Version: unspecified
Status: NEW
Severity: normal
Priority: P2
Component: debuginfod
Assignee: fche at redhat dot com
Reporter: fche at redhat dot com
CC: elfutils-devel at sourceware dot org
Target Milestone: ---
The grooming thread tries to nuke orphan buildid records (those with no d/e/s
type payload records pointing to them). This can race with the stages of
creation of a payload record in the scanner threads, wherein a buildid record
is interned first, then the referring d/e/s record is written. If these are
interleaved just right, the d/e/s record will be disallowed, so the file or
archive data will be incomplete. Worse, since the size/mtime payload record is
still written (because the scanner threads think d/e/s was successful), a later
scan pass will not try to rescan the affected file/archive either.
We need some A(tomicity) in the scanner threads (a transaction that includes
the interning and the payload inserts). And we probably need a schema reset,
just so possibly incomplete databases are regenerated correctly.
--
You are receiving this mail because:
You are on the CC list for the bug.