Bug 29413 - libabigail 2.3 self-compare metabug
Summary: libabigail 2.3 self-compare metabug
Status: NEW
Alias: None
Product: libabigail
Classification: Unclassified
Component: default (show other bugs)
Version: unspecified
: P2 normal
Target Milestone: ---
Assignee: Dodji Seketeli
URL:
Keywords:
Depends on: 29407 29673 29683 30280 30299 30309 30465 29299 29324 29406 29414 29670 29671 29684 29685 29693 29912 30307 30461 30463 30464 30466 30467
Blocks:
  Show dependency treegraph
 
Reported: 2022-07-26 19:46 UTC by Ben Woodard
Modified: 2023-05-18 22:38 UTC (History)
1 user (show)

See Also:
Host:
Target:
Build:
Last reconfirmed:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ben Woodard 2022-07-26 19:46:25 UTC
This is a tracking bug for self-compare bugs

The general command to reproduce these failures is:
$ fedabipkgdiff --self-compare -a --from fc36 $PACKAGE
Comment 1 Ben Woodard 2022-07-26 19:47:06 UTC
With trunk as of df28c220976f41620b0bd7b22000815e11f66b75

Test are still running but so far the packages which have self-compare bugs are:

389-ds-base
arm-none-eabi-gcc-cs
binutils
crash
darktable
eccodes
enlightenment
freefem++
gnumeric
gsoap
hercules
iaito
infinipath-psm
insight
kcov
kdepim-addons
kf5-libktorrent
kf5-mailcommon
kim-api
kscope
lammps
libcouchbase
libomp
libXt
llvm
nest
pocl
stratagus
wimlib
Comment 2 Ben Woodard 2022-07-26 20:04:25 UTC
29406 - 389-ds-base
29407 - arm-none-eabi-gcc-cs - 
29299 - binutils - which may also be the reason behind 
   crash
   infinipath-psm
   libXt
Comment 3 Ben Woodard 2022-07-26 20:23:58 UTC
The following seem new to me and so I think that they were likely introduced between 2b8b8bc5a8868d3ab9eae487fa64b4d4374e5297 and df28c220976f41620b0bd7b22000815e11f66b75

crash
darktable
eccodes
enlightenment
freefem++
gnumeric
gsoap
hercules
iaito
insight
kcov
kdepim-addons
kf5-libktorrent
kf5-mailcommon
kim-api
kscope
lammps
libcouchbase
nest
pocl
stratagus
wimlib
Comment 4 Ben Woodard 2022-07-27 00:23:46 UTC
some additional ones that have popped out while testing has continued to run:

v8-314 - this has both an assert and a self-compare error 29324

These were previously reported as part of the btrfs-progs self-compare problem but evidently they have a different root cause even though they have similar morphology:
qt6-qtbase 
zfs-fuse
openmpi

These are new:
lighttpd
redis
Comment 5 Ben Woodard 2022-07-28 13:45:10 UTC
I think from a morphological level, I’ve got basically 4 clumps

There are the ones which have no information like binutils and eccodes sometimes they are arch specific which makes me wonder if there are two things in there. The original bug which manifested this is the one for binutils 29299 however probably the best example is eccodes.

Then there are the ones like darktable 29414 which are confusion between typdefs and structs, template instantiations, or classes. I think that these are regressions from the past couple of patches.

Then there are the ones which are C++ related and show up as a rather large number of filtered errors and also vtable changes 29407

Finally there are ones which seem to be some size confusion in the types. One package that exhibits this is hercules. I want to see how the other fixes finally play out before I file that one.

With the 2.5 test run nearing completion we currently have 42 packages which have self-compare problems. Dodji is expecting rather significant changes to the C comparison engine when he lands the binutils fix. I'll do another test run at that point see how many of these were resolved.

Unsorted list of packages which have self-compare problems:
389-ds-base
arm-none-eabi-gcc-cs
binutils
crash
darktable
eccodes
enlightenment
freefem++
gsoap
hercules
iaito
infinipath-psm
insight
kcov
kdepim-addons
kf5-libktorrent
kf5-mailcommon
kim-api
kscope
lammps
libcouchbase
libomp
libXt
lighttpd
llvm
mono
nest
octave
OpenMolcas
openmpi
pocl
proxysql
qgis
qt6-qtbase
redis
smesh
stratagus
unicorn
v8-314
vsomeip3
wimlib
zfs-fuse
Comment 6 Ben Woodard 2022-10-11 17:52:36 UTC
2.1 has been released many of the bugs have been addressed.
I am currently testing all of F37 with trunk as of 4c5f44473e9f7c0a561174fdc6cc89f40dd9892a. When that test is done I will verify that 29299 29324 29406 29407 29414 have been taken care of.
Comment 7 Ben Woodard 2022-10-14 17:03:27 UTC
Another one that looks similar which is arch specific is:

Comparing the ABI of binaries between crash-8.0.1-3.fc37.s390x.rpm and crash-8.0.1-3.fc37.s390x.rpm:

======== comparing'crash' to itself wrongly yielded result: ===========
  Functions changes summary: 0 Removed, 1 Changed, 0 Added function
  Variables changes summary: 0 Removed, 0 Changed, 0 Added variable

  1 function with some indirect sub-type change:

    [C] 'function regcache* get_thread_regcache(thread_info*)' at regcache.c:408:1 has some indirect sub-type changes:

===SELF CHECK FAILED for 'crash'
Comment 8 Ben Woodard 2022-10-14 17:05:36 UTC
Posted to the wrong bug.
Comment 9 Ben Woodard 2022-10-14 17:26:51 UTC
Also kcov, nest, pocl.
Comment 10 Ben Woodard 2023-03-27 20:21:52 UTC
With the current trunk as of:

commit 7952a748de3578964b2c6b8d3bb94e0bbcfb653e (HEAD -> master, origin/master, origin/HEAD)
Author: Dodji Seketeli <dodji@redhat.com>
Date:   Mon Mar 27 00:10:21 2023 +0200

    Bug 29345 - abipkgdiff is confused by symlinked binaries in RPMs

The following packages continue to have self-compare bugs:

bpftrace btrfs-progs cppcheck-gui darktable enlightenment gdb-headless gdb-minimal getdns glibc groonga-libs insight kscope mono-complete mono-core mono-data mono-devel mono-extras mono-mvc mono-reactive mono-wcf mono-web mono-winforms mono-winfx nest-mpich nest-openmpi nest openldap-servers OpenMolcas pocl qt6-qtbase ruby-libs xorg-x11-server-Xdmx

They seem to be reasonably split amongst the still open self-compare bugs. The one exception is the Bug 29673 which is starting to look like there may be more than one problem in there.
Comment 11 Ben Woodard 2023-05-18 22:38:50 UTC
Results from first F38 run:
OpenMolcas - Bug 29683
dia - Bug 30463
darktable - Bug 30464
flang - Bug 30465
harfbuzz - Bug 30466
enlightenment - Bug 30467
qt6-qtbase - Bug 29603
kscope - Bug 29407
insight - Bug 30461

mono getdns unicorn btrfs-progs - no real data but I'm guessing it is a duplicate of something above
nest - no real data and so maybe a duplicate of something above but only happens on aarch64 and ppc64le