"inode mismatch" in Mutter/GS libraries in /usr/local
I'm trying to dig a bit into Mutter/GS with sysprof from the copr. Unfortunately I miss a lot of information as for all libraries build with GS/Mutter sysprof just shows "inode mismatch".
The offending line seems to be https://gitlab.gnome.org/GNOME/sysprof/blob/1c1301c0ba99b8ed884b5c49c557d9bb3eb810fd/src/libsysprof/sysprof-elf-symbol-resolver.c#L312
if G_UNLIKELY (map->inode && !bin_file_check_inode (bin_file, map->inode))
{
*name = g_strdup_printf ("%s: inode mismatch", map->filename);
return TRUE;
}
Any ideas what could be wrong here? gdb gives
Reading symbols from /usr/local/lib64/mutter-4/libmutter-clutter-4.so.0.0.0...
I build and install GS and Mutter directly via meson (buildtype debugoptimized) to /usr/local/...
On Fedora 30 (and, if that matters, on a BTRFS root partition with zstd file compression)
Edit: console output is
warning: Inode mismatch for /usr/local/lib64/mutter-4/libmutter-cogl-4.so.0.0.0 (disk: 4465758, memory: 4440554)
warning: Inode mismatch for /usr/local/lib64/libmutter-4.so.0.0.0 (disk: 4465790, memory: 4440586)
warning: Inode mismatch for /usr/local/lib64/mutter-4/libmutter-clutter-4.so.0.0.0 (disk: 4465779, memory: 4440575)
warning: Inode mismatch for /usr/local/lib64/gnome-shell/libst-1.0.so (disk: 4466172, memory: 4415543)
warning: Inode mismatch for /usr/local/lib64/mutter-4/libmutter-cogl-pango-4.so.0.0.0 (disk: 4465767, memory: 4440563)
warning: Inode mismatch for /usr/local/lib64/gnome-shell/libgnome-shell.so (disk: 4466176, memory: 4415547)
This suggest that the check in binfile.c
maybe does not account for filesystem compression?
Edited by Robert Mader