[Bug debuginfod/25394] New: groom vs. scan race condition
fche at redhat dot com
Wed Jan 15 23:10:00 GMT 2020
Bug ID: 25394
Summary: groom vs. scan race condition
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.
More information about the Elfutils-devel