Bug 2408418 - error: Empty %files file /builddir/build/BUILD/webkitgtk-2.51.1-build/webkitgtk-2.51.1/debugsourcefiles.list
Summary: error: Empty %files file /builddir/build/BUILD/webkitgtk-2.51.1-build/webkitg...
Keywords:
Status: CLOSED UPSTREAM
Alias: None
Product: Fedora
Classification: Fedora
Component: debugedit
Version: 44
Hardware: Unspecified
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Mark Wielaard
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2025-10-30 21:34 UTC by Michael Catanzaro
Modified: 2025-11-08 22:58 UTC (History)
3 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2025-11-06 15:10:02 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
dist-git patch (7.98 KB, patch)
2025-10-30 21:35 UTC, Michael Catanzaro
no flags Details | Diff


Links
System ID Private Priority Status Summary Last Updated
Sourceware 33602 0 P2 NEW Try to support "relative" paths (-ffile-prefix-map=.) 2025-11-06 14:14:24 UTC
WebKit Project 302021 0 None None None 2025-11-05 19:45:16 UTC

Description Michael Catanzaro 2025-10-30 21:34:13 UTC
Hi, I'm struggling to build WebKitGTK 2.51.1 due to the following RPM build error:

error: Empty %files file /builddir/build/BUILD/webkitgtk-2.51.1-build/webkitgtk-2.51.1/debugsourcefiles.list

This seems to be a regression in WebKitGTK rather than in debugedit, since the build succeeds if I revert to WebKitGTK 2.50.1, but with WebKitGTK 2.51.1 it fails in both rawhide and also F43. I'd still appreciate any help in figuring out what is wrong. I've been peeking at find-debuginfo.sh, but it's intimidating.

Comparing the failed build log to the last good build, a notable difference is that find-debuginfo.sh no longer prints the following line:

Copying sources found by 'debugedit -l' to /usr/src/debug/webkitgtk-2.50.1-1.fc44.x86_64

Reproducible: Always

Steps to Reproduce:
1. fedpkg clone webkitgtk
2. git am 0001-Update-to-WebKitGTK-2.51.1.patch
3. fedpkg mockbuild (or 'fedpkg local')
Actual Results:
Build fails

Expected Results:
Build succeeds

Additional Information:
https://kojipkgs.fedoraproject.org/packages/webkitgtk/2.50.1/1.fc44/data/logs/x86_64/build.log is a build log for a normal successful build, which contains the following:

+ /usr/bin/find-debuginfo -j32 --strict-build-id -m -i --build-id-seed 2.50.1-1.fc44 --unique-debug-suffix -2.50.1-1.fc44.x86_64 --unique-debug-src-base webkitgtk-2.50.1-1.fc44.x86_64 --run-dwz --dwz-low-mem-die-limit 10000000 --dwz-max-die-limit 250000000 -j3 -S debugsourcefiles.list /builddir/build/BUILD/webkitgtk-2.50.1-build/webkitgtk-2.50.1
find-debuginfo: starting
Extracting debug info from 17 files
DWARF-compressing 17 files
dwz: ./usr/bin/WebKitWebDriver-2.50.1-1.fc44.x86_64.debug: Unknown debugging section .debug_addr
dwz: ./usr/lib64/libjavascriptcoregtk-4.1.so.0.9.6-2.50.1-1.fc44.x86_64.debug: Unknown debugging section .debug_addr
dwz: ./usr/lib64/libjavascriptcoregtk-6.0.so.1.6.6-2.50.1-1.fc44.x86_64.debug: Unknown debugging section .debug_addr
dwz: ./usr/lib64/libwebkit2gtk-4.1.so.0.19.4-2.50.1-1.fc44.x86_64.debug: Unknown debugging section .debug_addr
dwz: ./usr/lib64/libwebkitgtk-6.0.so.4.13.4-2.50.1-1.fc44.x86_64.debug: Unknown debugging section .debug_addr
dwz: ./usr/lib64/webkit2gtk-4.1/injected-bundle/libwebkit2gtkinjectedbundle.so-2.50.1-1.fc44.x86_64.debug: Unknown debugging section .debug_addr
dwz: ./usr/lib64/webkitgtk-6.0/injected-bundle/libwebkitgtkinjectedbundle.so-2.50.1-1.fc44.x86_64.debug: Unknown debugging section .debug_addr
dwz: ./usr/libexec/webkit2gtk-4.1/MiniBrowser-2.50.1-1.fc44.x86_64.debug: Unknown debugging section .debug_addr
dwz: ./usr/libexec/webkit2gtk-4.1/WebKitGPUProcess-2.50.1-1.fc44.x86_64.debug: Unknown debugging section .debug_addr
dwz: ./usr/libexec/webkit2gtk-4.1/WebKitNetworkProcess-2.50.1-1.fc44.x86_64.debug: Unknown debugging section .debug_addr
dwz: ./usr/libexec/webkit2gtk-4.1/WebKitWebProcess-2.50.1-1.fc44.x86_64.debug: Unknown debugging section .debug_addr
dwz: ./usr/libexec/webkit2gtk-4.1/jsc-2.50.1-1.fc44.x86_64.debug: Unknown debugging section .debug_addr
dwz: ./usr/libexec/webkitgtk-6.0/MiniBrowser-2.50.1-1.fc44.x86_64.debug: Unknown debugging section .debug_addr
dwz: ./usr/libexec/webkitgtk-6.0/WebKitGPUProcess-2.50.1-1.fc44.x86_64.debug: Unknown debugging section .debug_addr
dwz: ./usr/libexec/webkitgtk-6.0/WebKitNetworkProcess-2.50.1-1.fc44.x86_64.debug: Unknown debugging section .debug_addr
dwz: ./usr/libexec/webkitgtk-6.0/WebKitWebProcess-2.50.1-1.fc44.x86_64.debug: Unknown debugging section .debug_addr
dwz: ./usr/libexec/webkitgtk-6.0/jsc-2.50.1-1.fc44.x86_64.debug: Unknown debugging section .debug_addr
dwz: Too few files for multifile optimization
sepdebugcrcfix: Updated 0 CRC32s, 17 CRC32s did match.
Creating .debug symlinks for symlinks to ELF files
Copying sources found by 'debugedit -l' to /usr/src/debug/webkitgtk-2.50.1-1.fc44.x86_64
cpio: redhat-linux-build/webkit2gtk-4.1/CSSPropertyNames.gperf: Cannot stat: No such file or directory
cpio: redhat-linux-build/webkit2gtk-4.1/CSSValueKeywords.gperf: Cannot stat: No such file or directory
cpio: redhat-linux-build/webkit2gtk-4.1/HTTPHeaderNames.gperf: Cannot stat: No such file or directory
cpio: redhat-linux-build/webkit2gtk-4.1/SelectorPseudoClassAndCompatibilityElementMap.gperf: Cannot stat: No such file or directory
cpio: redhat-linux-build/webkit2gtk-4.1/SelectorPseudoElementMap.gperf: Cannot stat: No such file or directory
cpio: redhat-linux-build/webkit2gtk-4.1/XPathGrammar.cpp: Cannot stat: No such file or directory
cpio: redhat-linux-build/webkit2gtk-4.1/XPathGrammar.h: Cannot stat: No such file or directory
cpio: redhat-linux-build/webkit2gtk-4.1/XPathGrammar.y: Cannot stat: No such file or directory
cpio: redhat-linux-build/webkit2gtk-4.1/glslang.l: Cannot stat: No such file or directory
cpio: redhat-linux-build/webkit2gtk-4.1/preprocessor.l: Cannot stat: No such file or directory
cpio: redhat-linux-build/webkitgtk-6.0/CSSPropertyNames.gperf: Cannot stat: No such file or directory
cpio: redhat-linux-build/webkitgtk-6.0/CSSValueKeywords.gperf: Cannot stat: No such file or directory
cpio: redhat-linux-build/webkitgtk-6.0/HTTPHeaderNames.gperf: Cannot stat: No such file or directory
cpio: redhat-linux-build/webkitgtk-6.0/SelectorPseudoClassAndCompatibilityElementMap.gperf: Cannot stat: No such file or directory
cpio: redhat-linux-build/webkitgtk-6.0/SelectorPseudoElementMap.gperf: Cannot stat: No such file or directory
cpio: redhat-linux-build/webkitgtk-6.0/XPathGrammar.cpp: Cannot stat: No such file or directory
cpio: redhat-linux-build/webkitgtk-6.0/XPathGrammar.h: Cannot stat: No such file or directory
cpio: redhat-linux-build/webkitgtk-6.0/XPathGrammar.y: Cannot stat: No such file or directory
cpio: redhat-linux-build/webkitgtk-6.0/glslang.l: Cannot stat: No such file or directory
cpio: redhat-linux-build/webkitgtk-6.0/preprocessor.l: Cannot stat: No such file or directory
find-debuginfo: done
+ /usr/lib/rpm/check-buildroot
+ /usr/lib/rpm/redhat/brp-ldconfig
+ /usr/lib/rpm/brp-compress
+ /usr/lib/rpm/redhat/brp-strip-lto /usr/bin/strip
+ /usr/lib/rpm/check-rpaths
+ /usr/lib/rpm/redhat/brp-mangle-shebangs
+ /usr/lib/rpm/brp-remove-la-files
+ /usr/lib/rpm/redhat/brp-python-rpm-in-distinfo
+ env /usr/lib/rpm/redhat/brp-python-bytecompile '' 1 0 -j32
+ /usr/lib/rpm/redhat/brp-python-hardlink
+ /usr/bin/add-det --brp -j32 /builddir/build/BUILD/webkitgtk-2.50.1-build/BUILDROOT
Scanned 899 directories and 34824 files,
    processed 5173 inodes,
    0 modified (0 replaced + 0 rewritten),
    0 unsupported format, 0 errors
+ /usr/bin/linkdupes --brp /builddir/build/BUILD/webkitgtk-2.50.1-build/BUILDROOT/usr
Scanned 898 directories and 34824 files,
    considered 34816 files, read 22849 files, linked 6475 files, 0 errors
    sum of sizes of linked files: 107396745 bytes
Reading /builddir/build/BUILD/webkitgtk-2.50.1-build/SPECPARTS/rpm-debuginfo.specpart
Processing files: webkitgtk6.0-2.50.1-1.fc44.x86_64

The new, unsuccessful build https://kojipkgs.fedoraproject.org/work/tasks/3115/138543115/build.log contains the following:

+ /usr/bin/find-debuginfo -j192 --strict-build-id -m -i --build-id-seed 2.51.1-1.fc44 --unique-debug-suffix -2.51.1-1.fc44.x86_64 --unique-debug-src-base webkitgtk-2.51.1-1.fc44.x86_64 --run-dwz --dwz-low-mem-die-limit 10000000 --dwz-max-die-limit 250000000 -j7 -S debugsourcefiles.list /builddir/build/BUILD/webkitgtk-2.51.1-build/webkitgtk-2.51.1
find-debuginfo: starting
Extracting debug info from 17 files
DWARF-compressing 17 files
dwz: ./usr/bin/WebKitWebDriver-2.51.1-1.fc44.x86_64.debug: Unknown debugging section .debug_addr
dwz: ./usr/lib64/libjavascriptcoregtk-4.1.so.0.10.0-2.51.1-1.fc44.x86_64.debug: Unknown debugging section .debug_addr
dwz: ./usr/lib64/libjavascriptcoregtk-6.0.so.1.7.0-2.51.1-1.fc44.x86_64.debug: Unknown debugging section .debug_addr
dwz: ./usr/lib64/libwebkit2gtk-4.1.so.0.20.0-2.51.1-1.fc44.x86_64.debug: Unknown debugging section .debug_addr
dwz: ./usr/lib64/libwebkitgtk-6.0.so.4.14.0-2.51.1-1.fc44.x86_64.debug: Unknown debugging section .debug_addr
dwz: ./usr/lib64/webkit2gtk-4.1/injected-bundle/libwebkit2gtkinjectedbundle.so-2.51.1-1.fc44.x86_64.debug: Unknown debugging section .debug_addr
dwz: ./usr/lib64/webkitgtk-6.0/injected-bundle/libwebkitgtkinjectedbundle.so-2.51.1-1.fc44.x86_64.debug: Unknown debugging section .debug_addr
dwz: ./usr/libexec/webkit2gtk-4.1/MiniBrowser-2.51.1-1.fc44.x86_64.debug: Unknown debugging section .debug_addr
dwz: ./usr/libexec/webkit2gtk-4.1/WebKitGPUProcess-2.51.1-1.fc44.x86_64.debug: Unknown debugging section .debug_addr
dwz: ./usr/libexec/webkit2gtk-4.1/WebKitNetworkProcess-2.51.1-1.fc44.x86_64.debug: Unknown debugging section .debug_addr
dwz: ./usr/libexec/webkit2gtk-4.1/WebKitWebProcess-2.51.1-1.fc44.x86_64.debug: Unknown debugging section .debug_addr
dwz: ./usr/libexec/webkit2gtk-4.1/jsc-2.51.1-1.fc44.x86_64.debug: Unknown debugging section .debug_addr
dwz: ./usr/libexec/webkitgtk-6.0/MiniBrowser-2.51.1-1.fc44.x86_64.debug: Unknown debugging section .debug_addr
dwz: ./usr/libexec/webkitgtk-6.0/WebKitGPUProcess-2.51.1-1.fc44.x86_64.debug: Unknown debugging section .debug_addr
dwz: ./usr/libexec/webkitgtk-6.0/WebKitNetworkProcess-2.51.1-1.fc44.x86_64.debug: Unknown debugging section .debug_addr
dwz: ./usr/libexec/webkitgtk-6.0/WebKitWebProcess-2.51.1-1.fc44.x86_64.debug: Unknown debugging section .debug_addr
dwz: ./usr/libexec/webkitgtk-6.0/jsc-2.51.1-1.fc44.x86_64.debug: Unknown debugging section .debug_addr
dwz: Too few files for multifile optimization
sepdebugcrcfix: Updated 0 CRC32s, 17 CRC32s did match.
Creating .debug symlinks for symlinks to ELF files
find-debuginfo: done
+ /usr/lib/rpm/check-buildroot
+ /usr/lib/rpm/redhat/brp-ldconfig
+ /usr/lib/rpm/brp-compress
+ /usr/lib/rpm/redhat/brp-strip-lto /usr/bin/strip
+ /usr/lib/rpm/check-rpaths
+ /usr/lib/rpm/redhat/brp-mangle-shebangs
+ /usr/lib/rpm/brp-remove-la-files
+ /usr/lib/rpm/redhat/brp-python-rpm-in-distinfo
+ env /usr/lib/rpm/redhat/brp-python-bytecompile '' 1 0 -j192
+ /usr/lib/rpm/redhat/brp-python-hardlink
+ /usr/bin/add-det --brp -j192 /builddir/build/BUILD/webkitgtk-2.51.1-build/BUILDROOT
Scanned 147 directories and 5780 files,
    processed 5237 inodes,
    0 modified (0 replaced + 0 rewritten),
    0 unsupported format, 0 errors
+ /usr/bin/linkdupes --brp /builddir/build/BUILD/webkitgtk-2.51.1-build/BUILDROOT/usr
Scanned 146 directories and 5780 files,
    considered 5772 files, read 2945 files, linked 96 files, 0 errors
    sum of sizes of linked files: 2141034 bytes
Reading /builddir/build/BUILD/webkitgtk-2.51.1-build/SPECPARTS/rpm-debuginfo.specpart
Processing files: webkitgtk6.0-2.51.1-1.fc44.x86_64

The unsuccessful build skips this part:

Copying sources found by 'debugedit -l' to /usr/src/debug/webkitgtk-2.50.1-1.fc44.x86_64
cpio: redhat-linux-build/webkit2gtk-4.1/CSSPropertyNames.gperf: Cannot stat: No such file or directory
cpio: redhat-linux-build/webkit2gtk-4.1/CSSValueKeywords.gperf: Cannot stat: No such file or directory
cpio: redhat-linux-build/webkit2gtk-4.1/HTTPHeaderNames.gperf: Cannot stat: No such file or directory
cpio: redhat-linux-build/webkit2gtk-4.1/SelectorPseudoClassAndCompatibilityElementMap.gperf: Cannot stat: No such file or directory
cpio: redhat-linux-build/webkit2gtk-4.1/SelectorPseudoElementMap.gperf: Cannot stat: No such file or directory
cpio: redhat-linux-build/webkit2gtk-4.1/XPathGrammar.cpp: Cannot stat: No such file or directory
cpio: redhat-linux-build/webkit2gtk-4.1/XPathGrammar.h: Cannot stat: No such file or directory
cpio: redhat-linux-build/webkit2gtk-4.1/XPathGrammar.y: Cannot stat: No such file or directory
cpio: redhat-linux-build/webkit2gtk-4.1/glslang.l: Cannot stat: No such file or directory
cpio: redhat-linux-build/webkit2gtk-4.1/preprocessor.l: Cannot stat: No such file or directory
cpio: redhat-linux-build/webkitgtk-6.0/CSSPropertyNames.gperf: Cannot stat: No such file or directory
cpio: redhat-linux-build/webkitgtk-6.0/CSSValueKeywords.gperf: Cannot stat: No such file or directory
cpio: redhat-linux-build/webkitgtk-6.0/HTTPHeaderNames.gperf: Cannot stat: No such file or directory
cpio: redhat-linux-build/webkitgtk-6.0/SelectorPseudoClassAndCompatibilityElementMap.gperf: Cannot stat: No such file or directory
cpio: redhat-linux-build/webkitgtk-6.0/SelectorPseudoElementMap.gperf: Cannot stat: No such file or directory
cpio: redhat-linux-build/webkitgtk-6.0/XPathGrammar.cpp: Cannot stat: No such file or directory
cpio: redhat-linux-build/webkitgtk-6.0/XPathGrammar.h: Cannot stat: No such file or directory
cpio: redhat-linux-build/webkitgtk-6.0/XPathGrammar.y: Cannot stat: No such file or directory
cpio: redhat-linux-build/webkitgtk-6.0/glslang.l: Cannot stat: No such file or directory
cpio: redhat-linux-build/webkitgtk-6.0/preprocessor.l: Cannot stat: No such file or directory

Then the unsuccessful build fails at the very end:

error: Empty %files file /builddir/build/BUILD/webkitgtk-2.51.1-build/webkitgtk-2.51.1/debugsourcefiles.list
RPM build warnings:
RPM build errors:
    File listed twice: /usr/lib/.build-id/0d/7ae4473b5af7667f752b990c163b5c1fc73c51
    File listed twice: /usr/lib/.build-id/50/f4926f054b784d2e925d3175bcf5c5c1907700
    File listed twice: /usr/lib/.build-id/c7/f731f011ab5906bce1c6ee6cc5b9cea70a3622
    File listed twice: /usr/lib/.build-id/c9/27072d50034b125b6e6fe88706cbd188c494cf
    Empty %files file /builddir/build/BUILD/webkitgtk-2.51.1-build/webkitgtk-2.51.1/debugsourcefiles.list
Child return code was: 1

Notably, all of the "Unknown debugging section .debug_addr" warnings from dwz are printed in both the successful and failed build logs, so those seem to be harmless and unrelated to this problem. I tried building with -gdwarf-4 just to be certain it's not related, and that did not make any difference.

Comment 1 Michael Catanzaro 2025-10-30 21:35:14 UTC
Created attachment 2111534 [details]
dist-git patch

Comment 2 Mark Wielaard 2025-11-04 16:08:31 UTC
This is odd.

You are right that the dwz warnings are harmless. It looks like the package is using clang with -gdwarf5 which generates these .debug_addr sections dwz doesn't handle. But that just means the debuginfo isn't dwz compressed.

So the issue is that debugedit -l is supposed to find the debugsources in the debuginfo.
And as you can see from the cpio copying some of those source files cannot be found (in the successful build).
Those cpio warnings are also not really an issue (as you can see they are gperf or yacc files, there should be plenty of "real" source files. It would be nice to figure out why those generator source files cannot be found, but that is for another time).

The same file $BUILDDIR/debugsources.list is used for the %files directive.

So that we don't see "Copying sources found by 'debugedit -l' ..." (which is guarded by test -s) and do see "Empty %files file [...]/debugsourcefiles.list" has the same cause. The debugsourcefiles.list is empty. Which means debugedit -l couldn't find/extract any source files from the debug files.

I don't know why and couldn't quickly build this package (it is huge!).

Would you happen to have a full build.log for both?
Ideally generated with _find_debuginfo_opts --verbose

Comment 3 Mark Wielaard 2025-11-04 16:13:22 UTC
One cause could be that none of the object files are generated with -g (so nothing contains any debuginfo).
But that is unlikely given dwz is complaining about unrecognized .debug_addr section.

Another could be that the whole build is not actually done under the builddir (but in /tmp/ for example) so none of the source files would look like they come from the actual build (any source file referenced outside the builddir is assumed to to be a system/devel file, like /usr/include/...). Also not very likely, but has been seen with some builds.

Comment 4 Michael Catanzaro 2025-11-04 17:56:58 UTC
(In reply to Mark Wielaard from comment #2)
> Would you happen to have a full build.log for both?
> Ideally generated with _find_debuginfo_opts --verbose

Without --verbose, both logs are in my first comment. I think I've probably already pasted the relevant bits, though. I will do new builds later today to add --verbose.

(In reply to Mark Wielaard from comment #3)
> One cause could be that none of the object files are generated with -g (so
> nothing contains any debuginfo).
> But that is unlikely given dwz is complaining about unrecognized .debug_addr
> section.
> 
> Another could be that the whole build is not actually done under the
> builddir (but in /tmp/ for example) so none of the source files would look
> like they come from the actual build (any source file referenced outside the
> builddir is assumed to to be a system/devel file, like /usr/include/...).
> Also not very likely, but has been seen with some builds.

I doubt either of these is happening.

Comment 5 Michael Catanzaro 2025-11-04 23:14:58 UTC
Here are new build logs with the additional debugging you requested (%global _find_debuginfo_opts --verbose):

Good (WebKitGTK 2.50.1): https://kojipkgs.fedoraproject.org/work/tasks/307/138740307/build.log
Bad (WebKitGTK 2.51.1): https://kojipkgs.fedoraproject.org/work/tasks/306/138740306/build.log

This time I immediately spot the problem: the bad build uses `--file-prefix-map=.` (setting it to the current working directory), introduced by https://commits.webkit.org/301772@main. This was actually already evident in the build logs that I provided last week, and I simply did not notice it. Oh well.

I've never heard of this option before, but gcc(1) says:

       -ffile-prefix-map=old=new
           When compiling files residing in directory old, record any references to them in the result of the compilation as if the files
           resided in directory new instead.  Specifying this option is equivalent to specifying all the individual -f*-prefix-map options.
           This can be used to make reproducible builds that are location independent.  Directories referenced by directives are not
           affected by these options.  See also -fmacro-prefix-map, -fdebug-prefix-map, -fprofile-prefix-map and -fcanon-prefix-map.

The extra debugging shows us a little bit more of what is happening, all the source files present in the 2.50.1 build:

+ /usr/bin/find-debuginfo -j8 --strict-build-id -m -i --build-id-seed 2.50.1-2.fc44 --unique-debug-suffix -2.50.1-2.fc44.x86_64 --unique-debug-src-base webkitgtk-2.50.1-2.fc44.x86_64 --run-dwz --dwz-low-mem-die-limit 10000000 --dwz-max-die-limit 250000000 --verbose -j1 -S debugsourcefiles.list /builddir/build/BUILD/webkitgtk-2.50.1-build/webkitgtk-2.50.1
find-debuginfo: starting
Extracting debug info from 17 files
extracting debug info from /builddir/build/BUILD/webkitgtk-2.50.1-build/BUILDROOT/usr/bin/WebKitWebDriver
found 17810 source files
extracting debug info from /builddir/build/BUILD/webkitgtk-2.50.1-build/BUILDROOT/usr/lib64/libjavascriptcoregtk-4.1.so.0.9.6
found 132867 source files
extracting debug info from /builddir/build/BUILD/webkitgtk-2.50.1-build/BUILDROOT/usr/lib64/libjavascriptcoregtk-6.0.so.1.6.6
found 247917 source files
extracting debug info from /builddir/build/BUILD/webkitgtk-2.50.1-build/BUILDROOT/usr/lib64/libwebkit2gtk-4.1.so.0.19.4
found 839502 source files
extracting debug info from /builddir/build/BUILD/webkitgtk-2.50.1-build/BUILDROOT/usr/lib64/libwebkitgtk-6.0.so.4.13.4
found 1424300 source files
extracting debug info from /builddir/build/BUILD/webkitgtk-2.50.1-build/BUILDROOT/usr/lib64/webkit2gtk-4.1/injected-bundle/libwebkit2gtkinjectedbundle.so
found 1424408 source files
extracting debug info from /builddir/build/BUILD/webkitgtk-2.50.1-build/BUILDROOT/usr/lib64/webkitgtk-6.0/injected-bundle/libwebkitgtkinjectedbundle.so
found 1424516 source files
extracting debug info from /builddir/build/BUILD/webkitgtk-2.50.1-build/BUILDROOT/usr/libexec/webkit2gtk-4.1/MiniBrowser
found 1424635 source files
extracting debug info from /builddir/build/BUILD/webkitgtk-2.50.1-build/BUILDROOT/usr/libexec/webkit2gtk-4.1/WebKitGPUProcess
found 1424646 source files
extracting debug info from /builddir/build/BUILD/webkitgtk-2.50.1-build/BUILDROOT/usr/libexec/webkit2gtk-4.1/WebKitNetworkProcess
found 1424657 source files
extracting debug info from /builddir/build/BUILD/webkitgtk-2.50.1-build/BUILDROOT/usr/libexec/webkit2gtk-4.1/WebKitWebProcess
found 1424668 source files
extracting debug info from /builddir/build/BUILD/webkitgtk-2.50.1-build/BUILDROOT/usr/libexec/webkit2gtk-4.1/jsc
found 1425081 source files
extracting debug info from /builddir/build/BUILD/webkitgtk-2.50.1-build/BUILDROOT/usr/libexec/webkitgtk-6.0/MiniBrowser
found 1425187 source files
extracting debug info from /builddir/build/BUILD/webkitgtk-2.50.1-build/BUILDROOT/usr/libexec/webkitgtk-6.0/WebKitGPUProcess
found 1425198 source files
extracting debug info from /builddir/build/BUILD/webkitgtk-2.50.1-build/BUILDROOT/usr/libexec/webkitgtk-6.0/WebKitNetworkProcess
found 1425209 source files
extracting debug info from /builddir/build/BUILD/webkitgtk-2.50.1-build/BUILDROOT/usr/libexec/webkitgtk-6.0/WebKitWebProcess
found 1425220 source files
extracting debug info from /builddir/build/BUILD/webkitgtk-2.50.1-build/BUILDROOT/usr/libexec/webkitgtk-6.0/jsc
found 1425633 source files

And all gone in the 2.51.1 build:

+ /usr/bin/find-debuginfo -j8 --strict-build-id -m -i --build-id-seed 2.51.1-2.fc44 --unique-debug-suffix -2.51.1-2.fc44.x86_64 --unique-debug-src-base webkitgtk-2.51.1-2.fc44.x86_64 --run-dwz --dwz-low-mem-die-limit 10000000 --dwz-max-die-limit 250000000 --verbose -j1 -S debugsourcefiles.list /builddir/build/BUILD/webkitgtk-2.51.1-build/webkitgtk-2.51.1
find-debuginfo: starting
Extracting debug info from 17 files
extracting debug info from /builddir/build/BUILD/webkitgtk-2.51.1-build/BUILDROOT/usr/bin/WebKitWebDriver
found 0 source files
extracting debug info from /builddir/build/BUILD/webkitgtk-2.51.1-build/BUILDROOT/usr/lib64/libjavascriptcoregtk-4.1.so.0.10.0
found 0 source files
extracting debug info from /builddir/build/BUILD/webkitgtk-2.51.1-build/BUILDROOT/usr/lib64/libjavascriptcoregtk-6.0.so.1.7.0
found 0 source files
extracting debug info from /builddir/build/BUILD/webkitgtk-2.51.1-build/BUILDROOT/usr/lib64/libwebkit2gtk-4.1.so.0.20.0
found 0 source files
extracting debug info from /builddir/build/BUILD/webkitgtk-2.51.1-build/BUILDROOT/usr/lib64/libwebkitgtk-6.0.so.4.14.0
found 0 source files
extracting debug info from /builddir/build/BUILD/webkitgtk-2.51.1-build/BUILDROOT/usr/lib64/webkit2gtk-4.1/injected-bundle/libwebkit2gtkinjectedbundle.so
found 0 source files
extracting debug info from /builddir/build/BUILD/webkitgtk-2.51.1-build/BUILDROOT/usr/lib64/webkitgtk-6.0/injected-bundle/libwebkitgtkinjectedbundle.so
found 0 source files
extracting debug info from /builddir/build/BUILD/webkitgtk-2.51.1-build/BUILDROOT/usr/libexec/webkit2gtk-4.1/MiniBrowser
found 0 source files
extracting debug info from /builddir/build/BUILD/webkitgtk-2.51.1-build/BUILDROOT/usr/libexec/webkit2gtk-4.1/WebKitGPUProcess
found 0 source files
extracting debug info from /builddir/build/BUILD/webkitgtk-2.51.1-build/BUILDROOT/usr/libexec/webkit2gtk-4.1/WebKitNetworkProcess
found 0 source files
extracting debug info from /builddir/build/BUILD/webkitgtk-2.51.1-build/BUILDROOT/usr/libexec/webkit2gtk-4.1/WebKitWebProcess
found 0 source files
extracting debug info from /builddir/build/BUILD/webkitgtk-2.51.1-build/BUILDROOT/usr/libexec/webkit2gtk-4.1/jsc
found 0 source files
extracting debug info from /builddir/build/BUILD/webkitgtk-2.51.1-build/BUILDROOT/usr/libexec/webkitgtk-6.0/MiniBrowser
found 0 source files
extracting debug info from /builddir/build/BUILD/webkitgtk-2.51.1-build/BUILDROOT/usr/libexec/webkitgtk-6.0/WebKitGPUProcess
found 0 source files
extracting debug info from /builddir/build/BUILD/webkitgtk-2.51.1-build/BUILDROOT/usr/libexec/webkitgtk-6.0/WebKitNetworkProcess
found 0 source files
extracting debug info from /builddir/build/BUILD/webkitgtk-2.51.1-build/BUILDROOT/usr/libexec/webkitgtk-6.0/WebKitWebProcess
found 0 source files
extracting debug info from /builddir/build/BUILD/webkitgtk-2.51.1-build/BUILDROOT/usr/libexec/webkitgtk-6.0/jsc
found 0 source files

I have not yet confirmed for certain that this is really the problem, but it seems close enough to a smoking gun.

I'm not sure what to do about this other than stop using the flag. (I should also change it to be *prepended* to CXXFLAGS, rather than *appended*, so that we can override it without patching the CMake build.)

Comment 6 Michael Catanzaro 2025-11-04 23:18:02 UTC
Justification for adding the flag is to make remote ccache builds work, https://bugs.webkit.org/show_bug.cgi?id=301003, which is something we plainly do not need in distro builds. Maybe we could limit the flag to developer builds only.

Comment 7 Michael Catanzaro 2025-11-05 13:28:41 UTC
Apparently -ffile-prefix-map=. is also required for reproducibility in Debian. That's not needed in Fedora since we build in chroots with predictable paths.

For now, I will remove the flag in a downstream patch. I wonder whether `debugedit -l` can support this flag, or whether we need to just stop using it upstream (limit it to developer builds, ask Debian to add it manually in the Debian packaging).

Comment 8 Mark Wielaard 2025-11-06 14:14:25 UTC
Using -ffile-prefix-map=. will definitely confuse debugedit.
(Or actually -ffile-prefix-map=${CMAKE_SOURCE_DIR}=. in this case)
It will also confuse DWARF consumers (debuggers, profilers, tracers, etc.) which don't know what the "." is relative to.

In general it will produce broken/ambiguous paths because
a) we don't have any record of what the original (absolute) path was.
b) it can result in inconsistent paths between object files linked together, but build from different source/build directories.
   (so "." might refer to different absolute paths for different compile units)

I filed a bug against upstream debugedit to see if this can be supported, but it will need some "clever" heuristics to reconstruct the "." paths.
https://sourceware.org/bugzilla/show_bug.cgi?id=33602

Not sure how long that will take, or how much work it will be. So for now getting rid of -ffile-prefix-map is your best option.

BTW. debugedit does help with reproducibility in this case since it rewrites the paths to a fixed absolute dir (where we'll also put all sources).

Comment 9 Michael Catanzaro 2025-11-06 15:10:02 UTC
Thanks Mark! I will forward your feedback to WebKit Bugzilla.

And I'll close this, since I don't think we need the downstream bug report anymore now that you've forwarded it to upstream.

Comment 10 Michael Catanzaro 2025-11-06 16:09:57 UTC
Oops, yes, the log indeed uses `-ffile-prefix-map=/builddir/build/BUILD/webkitgtk-2.51.1-build/webkitgtk-2.51.1=.` not `-ffile-prefix-map=.` -- not sure how I managed to report that incorrectly.

Comment 11 Neal Gompa 2025-11-08 22:58:22 UTC
For what it's worth, it's probably better to have the flag dropped from upstream WebKit. Either Debian adds it themselves or they consider using debugedit to do smarter things for debug symbol extraction.


Note You need to log in before you can comment on or make changes to this bug.