https://sourceware.org/bugzilla/show_bug.cgi?id=29474
--- Comment #1 from Martin Liska <mliska at suse dot cz> --- Have a better knowledge of what happens. Let's assume the following debugging patch: diff --git a/debuginfod/debuginfod.cxx b/debuginfod/debuginfod.cxx index a089d0bd..0320f289 100644 --- a/debuginfod/debuginfod.cxx +++ b/debuginfod/debuginfod.cxx @@ -1743,7 +1743,10 @@ handle_buildid_r_match (bool internal_req_p, continue; if (fdcache.probe (b_source0, fn)) // skip if already interned + { + obatched(clog) << "SKIPPING due to probe=" << b_source1 << " filename=" << fn << " r=" << r << endl; continue; + } // extract this file to a temporary file char* tmppath = NULL; @@ -1776,6 +1779,7 @@ handle_buildid_r_match (bool internal_req_p, { // NB: now we know we have a complete reusable file; make fdcache // responsible for unlinking it later. + obatched(clog) << "INTERN " << b_source1 << " filename=" << fn << endl; fdcache.intern(b_source0, fn, tmppath, archive_entry_size(e), false); // prefetched ones go to the prefetch cache @@ -1792,6 +1796,7 @@ handle_buildid_r_match (bool internal_req_p, inc_metric ("http_responses_total","result",archive_extension + " archive"); r = MHD_create_response_from_fd (archive_entry_size(e), fd); + obatched(clog) << "ASSIGN " << b_source1 << " filename=" << fn << " r=" << r << endl; if (r == 0) { if (verbose) @@ -1820,6 +1825,7 @@ handle_buildid_r_match (bool internal_req_p, } // XXX: rpm/file not found: delete this R entry? + obatched(clog) << "RETURN" << b_source1 << " r=" << r << endl; return r; } debuginfod log shows: ... [Thu 11 Aug 2022 08:02:42 PM GMT] (21225/21257): found mtime=1659137364 stype=R source0=/home/marxin/BIG/test/cross-aarch64-gcc12-debuginfo-12.1.1+git287-1.1.x86_64.rpm source1=/usr/lib/debug/.dwz/cross-aarch64-gcc12-12.1.1+git287-1.1.x86_64 [Thu 11 Aug 2022 08:02:42 PM GMT] (21225/21251): found mtime=1659137364 stype=R source0=/home/marxin/BIG/test/cross-aarch64-gcc12-debuginfo-12.1.1+git287-1.1.x86_64.rpm source1=/usr/lib/debug/usr/aarch64-suse-linux/sys-root/lib64/libgcc_s.so.1-12.1.1+git287-1.1.x86_64.debug ... [Thu 11 Aug 2022 08:02:42 PM GMT] (21225/21257): INTERN /usr/lib/debug/.dwz/cross-aarch64-gcc12-12.1.1+git287-1.1.x86_64 filename=/usr/lib/debug/usr/aarch64-suse-linux/sys-root/lib64/libgcc_s.so.1-12.1.1+git287-1.1.x86_64.debug <- so here 21257 request interns libgcc_s.so.1-12.1.1+git287-1.1.x86_64.debug [Thu 11 Aug 2022 08:02:42 PM GMT] (21225/21251): SKIPPING due to probe=/usr/lib/debug/usr/aarch64-suse-linux/sys-root/lib64/libgcc_s.so.1-12.1.1+git287-1.1.x86_64.debug filename=/usr/lib/debug/usr/aarch64-suse-linux/sys-root/lib64/libgcc_s.so.1-12.1.1+git287-1.1.x86_64.debug r=0 <- and due to that it's skipped here and we never assign r = ... [Thu 11 Aug 2022 08:02:43 PM GMT] (21225/21251): RETURN/usr/lib/debug/usr/aarch64-suse-linux/sys-root/lib64/libgcc_s.so.1-12.1.1+git287-1.1.x86_64.debug r=0 ... Note in correct run the following happens: [Thu 11 Aug 2022 08:16:42 PM GMT] (22289/22319): ASSIGN /usr/lib/debug/usr/aarch64-suse-linux/sys-root/lib64/libgcc_s.so.1-12.1.1+git287-1.1.x86_64.debug filename=/usr/lib/debug/usr/aarch64-suse-linux/sys-root/lib64/libgcc_s.so.1-12.1.1+git287-1.1.x86_64.debug r=0x7fff740548c0 ... [Thu 11 Aug 2022 08:16:43 PM GMT] (22289/22319): RETURN/usr/lib/debug/usr/aarch64-suse-linux/sys-root/lib64/libgcc_s.so.1-12.1.1+git287-1.1.x86_64.debug r=0x7fff740548c0 So the problem is somehow related to fdcache. -- You are receiving this mail because: You are on the CC list for the bug.