Hi! (Added nickc to the CC, see below) On Wed, Jan 15, 2025 at 01:52:24PM +0100, Miro Hrončok wrote: > On 15. 01. 25 10:18, Robin Jarry wrote: > >I found out that rpmlint errors out without producing any meaningful result when the analyzed RPMs contain binaries: > > > ><mock-chroot> sh-5.2# strace -f -e trace=execve -s 65536 rpmlint build/RPMS/aerc-*.rpm > >... > >[pid 107] execve("/usr/bin/readelf", ["readelf", "-W", "-l", "/tmp/rpmlint.aerc-debuginfo-0.19.0-1.fc42.x86_64.rpm.5obt7_7n/usr/lib/debug/usr/bin/aerc-0.19.0-1.fc42.x86_64.debug", "--debug-dump=no-follow-links"], 0x7fe85e1a3590 /* 27 vars */) = 0 > >... > >E: fatal error while reading aerc-debuginfo-0.19.0-1.fc42.x86_64.rpm: 'utf-8' codec can't decode byte 0xe4 in position 455: invalid continuation byte > > > >... > > > >Relevant package versions: > > > >binutils-2.43.50-9.fc42.x86_64 > >file-5.45-8.fc42.x86_64 > >gcc-14.2.1-6.fc42.x86_64 > >rpmlint-2.5.0-10.fc42.x86_64 > > > >I suspect this is a bug in binutils/files which should not print binary code in lieu of the interpreter name. But maybe the culprit is in gcc. > > > >If anyone has an idea, I'd like some help. > > This should be fixed in rpmlint 2.6 currently available in rawhide. > I see you actually use rawhide, so just updating rpmlint should do. > > https://github.com/rpm-software-management/rpmlint/issues/1147 I think that helps rpmlint not error out, so good! But I also think this is a bug in binutils readelf (CCing nickc). It really should not even try to print the "interpreter" of a separate debuginfo file. For elfutils eu-readelf we have the following comment (and code) to prevent printing gibberish for the interpreter when we see a PT_INTERP segment: /* If we are sure the file offset is valid then we can show the user the name of the interpreter. We check whether there is a section at the file offset. Normally there would be a section called ".interp". But in separate .debug files it is a NOBITS section (and so doesn't match with gelf_offscn). Which probably means the offset is not valid another reason could be because the ELF file just doesn't contain any section headers, in that case just play it safe and don't display anything. */ Cheers, Mark -- _______________________________________________ devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue