https://sourceware.org/bugzilla/show_bug.cgi?id=32218
Bug ID: 32218
Summary: Debuginfod fails with too large filename
Product: elfutils
Version: unspecified
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: debuginfod
Assignee: unassigned at sourceware dot org
Reporter: business.janrupf at gmail dot com
CC: elfutils-devel at sourceware dot org
Target Milestone: ---
Created attachment 15720
--> https://sourceware.org/bugzilla/attachment.cgi?id=15720&action=edit
strace of the described debuginfod command
In some cases the debug source paths embedded in the binaries can reach rather
unwieldy lengths.
For example, building the flutter engine using the Nix package manager
generates the following source file path embedded into the binary:
> /nix/store/wa3sj5nr8nn55sn08x0876b4y8kjaz9n-flutter-engine-debug-unopt-c9b9d5780da342eb3f0f5e439a7db06f7d112575/out/host_debug_unopt/../../../../../build/flutter-engine-source-c9b9d5780da342eb3f0f5e439a7db06f7d112575-x86_64-linux-x86_64-linux/src/flutter/shell/platform/embedder/embedder_engine.cc
(Yes, thats a single source file!)
Attempting to download the source file using debuginfod-find:
> debuginfod-find -vv source 1003192840738cee9883800e18a58452fdf72454
> /nix/store/wa3sj5nr8nn55sn08x0876b4y8kjaz9n-flutter-engine-debug-unopt-c9b9d5780da342eb3f0f5e439a7db06f7d112575/out/host_debug_unopt/../../../../../build/flutter-engine-source-c9b9d5780da342eb3f0f5e439a7db06f7d112575-x86_64-linux-x86_64-linux/src/flutter/shell/platform/embedder/embedder_engine.cc
This generates the following log:
> debuginfod_find_source 1003192840738cee9883800e18a58452fdf72454
> /nix/store/wa3sj5nr8nn55sn08x0876b4y8kjaz9n-flutter-engine-debug-unopt-c9b9d5780da342eb3f0f5e439a7db06f7d112575/out/host_debug_unopt/../../../../../build/flutter-engine-source-c9b9d5780da342eb3f0f5e439a7db06f7d112575-x86_64-linux-x86_64-linux/src/flutter/shell/platform/embedder/embedder_engine.cc
> server urls "http://127.0.0.1:1949"
> checking build-id
> checking filename
> suffix
> ##nix##store##wa3sj5nr8nn55sn08x0876b4y8kjaz9n-flutter-engine-debug-unopt-c9b9d5780da342eb3f0f5e439a7db06f7d112575##out##host_debug_unopt##..##..##..##..##..##build##flutter-engine-source-c9b9d5780da342eb3f0f5e439a7db06f7d112575-x86_64-linux-x86_64-linux##src##flutter##shell##platform##embedder##embedder_engine.cc
> checking cache dir /home/janrupf/.cache/debuginfod_client
> using timeout 90
> not found Invalid argument (err=-22)
> Server query failed: Invalid argument
(I have attached an strace of the command above)
The problem here seems to be that debuginfod attempts to create a file name
which includes essentially the entire path with / replaced with 2 #, which
ultimately ends up generating a filename longer than 255 characters, thus
creating the file fails.
--
You are receiving this mail because:
You are on the CC list for the bug.