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.