* [Bug default/29303] New: Unacceptable performance doing fedabipkgdiff on some packages
@ 2022-06-30 1:07 woodard at redhat dot com
2022-06-30 1:07 ` [Bug default/29303] " woodard at redhat dot com
` (8 more replies)
0 siblings, 9 replies; 10+ messages in thread
From: woodard at redhat dot com @ 2022-06-30 1:07 UTC (permalink / raw)
To: libabigail
https://sourceware.org/bugzilla/show_bug.cgi?id=29303
Bug ID: 29303
Summary: Unacceptable performance doing fedabipkgdiff on some
packages
Product: libabigail
Version: unspecified
Status: NEW
Severity: normal
Priority: P2
Component: default
Assignee: dodji at redhat dot com
Reporter: woodard at redhat dot com
CC: libabigail at sourceware dot org
Target Milestone: ---
Created attachment 14184
--> https://sourceware.org/bugzilla/attachment.cgi?id=14184&action=edit
backtraces from several of the processes
The run time for doing self-compare's for a few packages is unacceptable. These
were running for more than 11hrs. With the 2.0 version of libabigail their
runtimes are more reasonable.
1125479 pts/3 R 819:36 python
/home/ben/Shared/Work/test/libabigail-x86_64/bin//fedabipkgdiff --self-compare
-a --from fc36 dovecot
1196728 pts/3 R 787:03 python
/home/ben/Shared/Work/test/libabigail-x86_64/bin//fedabipkgdiff --self-compare
-a --from fc36 libdb
1259587 pts/3 R 884:13 python
/home/ben/Shared/Work/test/libabigail-x86_64/bin//fedabipkgdiff --self-compare
-a --from fc36 llvm11
1267329 pts/3 R 815:42 python
/home/ben/Shared/Work/test/libabigail-x86_64/bin//fedabipkgdiff --self-compare
-a --from fc36 lldb
1310898 pts/3 R 763:44 python
/home/ben/Shared/Work/test/libabigail-x86_64/bin//fedabipkgdiff --self-compare
-a --from fc36 mozjs91
1404655 pts/3 R 675:46 python
/home/ben/Shared/Work/test/libabigail-x86_64/bin//fedabipkgdiff --self-compare
-a --from fc36 webkit2gtk3
Attached are backtraces from the running processes.
These are hard to read and don't look immediately similar but one thing did
jump out at me looking at them was:
$ grep _M_erase backtraces.txt
#1 std::_Hashtable<abigail::ir::class_or_union const*,
abigail::ir::class_or_union const*, std::allocator<abigail::ir::class_or_union
const*>, std::__detail::_Identity, std::equal_to<abigail::ir::class_or_union
const*>, std::hash<abigail::ir::class_or_union const*>,
std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash,
std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false,
true, true> >::_M_erase (__n=0x7fb1df831c60, __prev_n=0x7fb354000cf8,
__bkt=<optimized out>, this=0x7fb354000ce8) at
/usr/include/c++/12/bits/hashtable.h:2316
#2 std::_Hashtable<abigail::ir::class_or_union const*,
abigail::ir::class_or_union const*, std::allocator<abigail::ir::class_or_union
const*>, std::__detail::_Identity, std::equal_to<abigail::ir::class_or_union
const*>, std::hash<abigail::ir::class_or_union const*>,
std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash,
std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false,
true, true> >::_M_erase(std::integral_constant<bool, true>,
abigail::ir::class_or_union const* const&) [clone .constprop.0] [clone .isra.0]
(this=0x7fb354000ce8, __k=@0x7fb3598b0460: 0x7fb31b0da190) at
/usr/include/c++/12/bits/hashtable.h:2370
#1 std::_Hashtable<abigail::ir::class_or_union const*,
abigail::ir::class_or_union const*, std::allocator<abigail::ir::class_or_union
const*>, std::__detail::_Identity, std::equal_to<abigail::ir::class_or_union
const*>, std::hash<abigail::ir::class_or_union const*>,
std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash,
std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false,
true, true> >::_M_erase (__n=0x7fb1df831c60, __prev_n=0x7fb354000cf8,
__bkt=<optimized out>, this=0x7fb354000ce8) at
/usr/include/c++/12/bits/hashtable.h:2316
#2 std::_Hashtable<abigail::ir::class_or_union const*,
abigail::ir::class_or_union const*, std::allocator<abigail::ir::class_or_union
const*>, std::__detail::_Identity, std::equal_to<abigail::ir::class_or_union
const*>, std::hash<abigail::ir::class_or_union const*>,
std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash,
std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false,
true, true> >::_M_erase(std::integral_constant<bool, true>,
abigail::ir::class_or_union const* const&) [clone .constprop.0] [clone .isra.0]
(this=0x7fb354000ce8, __k=@0x7fb3598b0460: 0x7fb31b0da190) at
/usr/include/c++/12/bits/hashtable.h:2370
4 out of 5 of them were in the process of some sort of hash table erase
function. That seems suspicious to me.
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug default/29303] Unacceptable performance doing fedabipkgdiff on some packages
2022-06-30 1:07 [Bug default/29303] New: Unacceptable performance doing fedabipkgdiff on some packages woodard at redhat dot com
@ 2022-06-30 1:07 ` woodard at redhat dot com
2022-06-30 12:44 ` dodji at redhat dot com
` (7 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: woodard at redhat dot com @ 2022-06-30 1:07 UTC (permalink / raw)
To: libabigail
https://sourceware.org/bugzilla/show_bug.cgi?id=29303
Ben Woodard <woodard at redhat dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Blocks| |27019
Referenced Bugs:
https://sourceware.org/bugzilla/show_bug.cgi?id=27019
[Bug 27019] BUILD metabug
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug default/29303] Unacceptable performance doing fedabipkgdiff on some packages
2022-06-30 1:07 [Bug default/29303] New: Unacceptable performance doing fedabipkgdiff on some packages woodard at redhat dot com
2022-06-30 1:07 ` [Bug default/29303] " woodard at redhat dot com
@ 2022-06-30 12:44 ` dodji at redhat dot com
2022-06-30 12:54 ` dodji at redhat dot com
` (6 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: dodji at redhat dot com @ 2022-06-30 12:44 UTC (permalink / raw)
To: libabigail
https://sourceware.org/bugzilla/show_bug.cgi?id=29303
dodji at redhat dot com changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |ASSIGNED
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug default/29303] Unacceptable performance doing fedabipkgdiff on some packages
2022-06-30 1:07 [Bug default/29303] New: Unacceptable performance doing fedabipkgdiff on some packages woodard at redhat dot com
2022-06-30 1:07 ` [Bug default/29303] " woodard at redhat dot com
2022-06-30 12:44 ` dodji at redhat dot com
@ 2022-06-30 12:54 ` dodji at redhat dot com
2022-07-05 23:15 ` woodard at redhat dot com
` (5 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: dodji at redhat dot com @ 2022-06-30 12:54 UTC (permalink / raw)
To: libabigail
https://sourceware.org/bugzilla/show_bug.cgi?id=29303
--- Comment #1 from dodji at redhat dot com ---
This should now be fixed by the patch
https://sourceware.org/git/?p=libabigail.git;a=commit;h=69795d1bf8af9663fb3188d3e70cd72bc0857457.
Thanks and sorry for the inconvenience.
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug default/29303] Unacceptable performance doing fedabipkgdiff on some packages
2022-06-30 1:07 [Bug default/29303] New: Unacceptable performance doing fedabipkgdiff on some packages woodard at redhat dot com
` (2 preceding siblings ...)
2022-06-30 12:54 ` dodji at redhat dot com
@ 2022-07-05 23:15 ` woodard at redhat dot com
2022-07-07 13:58 ` woodard at redhat dot com
` (4 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: woodard at redhat dot com @ 2022-07-05 23:15 UTC (permalink / raw)
To: libabigail
https://sourceware.org/bugzilla/show_bug.cgi?id=29303
--- Comment #2 from Ben Woodard <woodard at redhat dot com> ---
This greatly improved the performance for some packages but others continue to
take an unacceptable amount of time:
2084669 pts/3 R 227:05 python fedabipkgdiff --self-compare -a --from fc36
cmake
2162224 pts/3 R 226:40 python fedabipkgdiff --self-compare -a --from fc36
gcc
2267972 pts/3 R 292:05 python fedabipkgdiff --self-compare -a --from fc36
lldb
2269176 pts/3 R 291:14 python fedabipkgdiff --self-compare -a --from fc36
llvm11
2292442 pts/3 R 150:57 python fedabipkgdiff --self-compare -a --from fc36
mozjs68
2292459 pts/3 R 210:07 python fedabipkgdiff --self-compare -a --from fc36
mozjs78
2292732 pts/3 R 201:26 python fedabipkgdiff --self-compare -a --from fc36
mozjs91
2348051 pts/3 R 59:18 python fedabipkgdiff --self-compare -a --from fc36
qt6-qtdeclarative
2388701 pts/3 S 37:03 python fedabipkgdiff --self-compare -a --from fc36
vtk
2389651 pts/3 R 61:44 python fedabipkgdiff --self-compare -a --from fc36
webkit2gtk3
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug default/29303] Unacceptable performance doing fedabipkgdiff on some packages
2022-06-30 1:07 [Bug default/29303] New: Unacceptable performance doing fedabipkgdiff on some packages woodard at redhat dot com
` (3 preceding siblings ...)
2022-07-05 23:15 ` woodard at redhat dot com
@ 2022-07-07 13:58 ` woodard at redhat dot com
2022-07-12 15:55 ` dodji at redhat dot com
` (3 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: woodard at redhat dot com @ 2022-07-07 13:58 UTC (permalink / raw)
To: libabigail
https://sourceware.org/bugzilla/show_bug.cgi?id=29303
--- Comment #3 from Ben Woodard <woodard at redhat dot com> ---
Other packages that apparently got stuck over night. These include ones that
are not just C++
34212 pts/1 R 966:44 fedabipkgdiff --self-compare -a --from fc36
zlib-ada
54036 pts/1 R 1331:22 fedabipkgdiff --self-compare -a --from fc36
xorg-x11-server-Xorg
112666 pts/1 R 1182:30 fedabipkgdiff --self-compare -a --from fc36
webkit2gtk3
133157 pts/1 R 911:28 fedabipkgdiff --self-compare -a --from fc36
vim-minimal
152053 pts/1 R 1193:04 fedabipkgdiff --self-compare -a --from fc36
util-linux-core
240094 pts/1 R 818:36 fedabipkgdiff --self-compare -a --from fc36
systemd-udev
397285 pts/1 R 531:24 fedabipkgdiff --self-compare -a --from fc36
samba-winbind
397346 pts/1 R 732:20 fedabipkgdiff --self-compare -a --from fc36
samba-libs
398027 pts/1 R 730:44 fedabipkgdiff --self-compare -a --from fc36
samba-client
508636 pts/1 R 252:53 fedabipkgdiff --self-compare -a --from fc36 qt-x11
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug default/29303] Unacceptable performance doing fedabipkgdiff on some packages
2022-06-30 1:07 [Bug default/29303] New: Unacceptable performance doing fedabipkgdiff on some packages woodard at redhat dot com
` (4 preceding siblings ...)
2022-07-07 13:58 ` woodard at redhat dot com
@ 2022-07-12 15:55 ` dodji at redhat dot com
2022-07-12 15:56 ` dodji at redhat dot com
` (2 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: dodji at redhat dot com @ 2022-07-12 15:55 UTC (permalink / raw)
To: libabigail
https://sourceware.org/bugzilla/show_bug.cgi?id=29303
dodji at redhat dot com changed:
What |Removed |Added
----------------------------------------------------------------------------
Depends on| |29360
--- Comment #4 from dodji at redhat dot com ---
So, the fedabipkgdiff --self-compare -a --from fc36 zlib-ada one appears to be
due to a lack of support for the "range type", in Ada. That is what leads to
an infinite loop, sadly.
I have filed a separate tracking bug for it at #29360. Also, I have started
the work on that in the branch
https://sourceware.org/git/?p=libabigail.git;a=shortlog;h=refs/heads/free-range-types.
The current status of that branch transforms the infinite loop into an assert
now, at least. Maybe we could just merge it as is, for now, I am not sure.
As this is a lower priority, I'll move to looking into more pressing stuff.
This is however a nice little project of its own to work on, maybe for someone
who would like to get into libabigail hacking? ;-)
Referenced Bugs:
https://sourceware.org/bugzilla/show_bug.cgi?id=29360
[Bug 29360] Ada ranges emitting/reading/diffing are not supported in libabigail
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug default/29303] Unacceptable performance doing fedabipkgdiff on some packages
2022-06-30 1:07 [Bug default/29303] New: Unacceptable performance doing fedabipkgdiff on some packages woodard at redhat dot com
` (5 preceding siblings ...)
2022-07-12 15:55 ` dodji at redhat dot com
@ 2022-07-12 15:56 ` dodji at redhat dot com
2022-07-28 23:44 ` woodard at redhat dot com
2023-04-06 11:21 ` dodji at redhat dot com
8 siblings, 0 replies; 10+ messages in thread
From: dodji at redhat dot com @ 2022-07-12 15:56 UTC (permalink / raw)
To: libabigail
https://sourceware.org/bugzilla/show_bug.cgi?id=29303
--- Comment #5 from dodji at redhat dot com ---
(In reply to dodji from comment #4)
> So, the fedabipkgdiff --self-compare -a --from fc36 zlib-ada one appears to
> be due to a lack of support for the "range type", in Ada. That is what
> leads to an infinite loop, sadly.
>
> I have filed a separate tracking bug for it at #29360.
I meant this one: https://sourceware.org/bugzilla/show_bug.cgi?id=29360
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug default/29303] Unacceptable performance doing fedabipkgdiff on some packages
2022-06-30 1:07 [Bug default/29303] New: Unacceptable performance doing fedabipkgdiff on some packages woodard at redhat dot com
` (6 preceding siblings ...)
2022-07-12 15:56 ` dodji at redhat dot com
@ 2022-07-28 23:44 ` woodard at redhat dot com
2023-04-06 11:21 ` dodji at redhat dot com
8 siblings, 0 replies; 10+ messages in thread
From: woodard at redhat dot com @ 2022-07-28 23:44 UTC (permalink / raw)
To: libabigail
https://sourceware.org/bugzilla/show_bug.cgi?id=29303
--- Comment #6 from Ben Woodard <woodard at redhat dot com> ---
In my latest test run with trunk as of df28c220976f41620b0bd7b22000815e11f66b75
Testing the entirety of Fedora 36 took 2 days and 4 hours on 10 cores.
2d+4h=52hrs * 10 cores = 520 compute hrs
of those 169 timed out at 60 min so:
24029 jobs - 169 = 23860 jobs
520 hrs - 169 = 351 hrs
Therefore 23869 jobs took 351 hrs or 0.88s each on average while those 169 took
about 33% of the time.
These are the packages which took more than 1hr of runtime:
pcp-libs mozjs68 zlib-ada
sssd-idp aunit qemu-img
gprbuild percona-xtrabackup qemu-common
lldb pcb cbmc
glusterfs-fuse emacs-common python3-openmpi
lvm2 kea clang-devel
gmsh libvirt-daemon gimp-libs
vtk opencascade-modeling qwt5-qt5
mingw-binutils-generic mesa-libxatracker wesnoth
git-core boost-regex ceres-solver
iaito clang-libs Singular
qtwebkit lapack ghc9.4
kismet ghc-data-memocombinators systemd-libs
libreoffice-ure gnome-terminal-nautilus gcc-gfortran
opencascade-ocaf qt5-qtwebkit PragmARC
mesa-libglapi ghc-tar-conduit ompl
libreoffice-pdfimport flang freecad
libreoffice-core net-snmp-libs prusa-slicer
rstudio qpdf-libs smesh
ceph ghc-call-stack cmake
ugene openblas-threads64_ psblas3
tuxpaint ydotool pcp
opencryptoki ghc-mmap firebird
libreoffice-pyuno e2fsprogs-libs mesa-libOSMesa
gnome-builder opencascade-foundation vfrnav
hatari denemo llvm-libs
octave gstreamer1-plugins-good-gtk kdebase3
qemu-virtiofsd ghc-data-inttrie kvirc
qt5-qt3d ghc-x509-system matreshka
sundials ghc-typed-process
systemd-container
samba-client Agda llvm11
webkit2gtk3-jsc ghc-ConfigFile widelands
gedit kdeplasma-addons openmsx
llvm7.0 gnumeric qt3
opencascade-visualization ghc-lens-family-core boost
alliance gvfs-fuse mesa-libGL
florist ghc-filtrable webkit2gtk3
cross-gcc ghc-network-byte-order bind-utils
binutils-gold realtime-setup
libreoffice-xsltfilter
libblockdev-mdraid ghc-unliftio-core mlir
aws ghc-html-conduit frozen-bubble
systemd-udev ghc-gi-ostree ahven
blender gimp-dbp llvm11-libs
kf5-khtml ghc-prettyprinter-ansi-terminal samba-winbind
libreoffice-gtk3 java-17-openjdk-headless
arm-none-eabi-gcc-cs
samba-libs anet mine_detector
flexiblas-netlib64 llvm12 hpx
mesa-libEGL lvm2-libs vxl
MUMPS boost-wave llvm13-libs
xorg-x11-server-Xorg mozjs78 pingus
gcc-c++ cataclysm-dda qt5-qtbase-gui
lammps R-Biostrings mozjs91
qt-x11 paraview llvm8.0
mesa mscore psi4
libblockdev-fs java-11-openjdk-headless
qt6-qtdeclarative
gcc systemd-networkd
mesa-libgbm qgis
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug default/29303] Unacceptable performance doing fedabipkgdiff on some packages
2022-06-30 1:07 [Bug default/29303] New: Unacceptable performance doing fedabipkgdiff on some packages woodard at redhat dot com
` (7 preceding siblings ...)
2022-07-28 23:44 ` woodard at redhat dot com
@ 2023-04-06 11:21 ` dodji at redhat dot com
8 siblings, 0 replies; 10+ messages in thread
From: dodji at redhat dot com @ 2023-04-06 11:21 UTC (permalink / raw)
To: libabigail
https://sourceware.org/bugzilla/show_bug.cgi?id=29303
dodji at redhat dot com changed:
What |Removed |Added
----------------------------------------------------------------------------
Depends on|29360 |
Referenced Bugs:
https://sourceware.org/bugzilla/show_bug.cgi?id=29360
[Bug 29360] Ada ranges emitting/reading/diffing are not supported in libabigail
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2023-04-06 11:21 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-06-30 1:07 [Bug default/29303] New: Unacceptable performance doing fedabipkgdiff on some packages woodard at redhat dot com
2022-06-30 1:07 ` [Bug default/29303] " woodard at redhat dot com
2022-06-30 12:44 ` dodji at redhat dot com
2022-06-30 12:54 ` dodji at redhat dot com
2022-07-05 23:15 ` woodard at redhat dot com
2022-07-07 13:58 ` woodard at redhat dot com
2022-07-12 15:55 ` dodji at redhat dot com
2022-07-12 15:56 ` dodji at redhat dot com
2022-07-28 23:44 ` woodard at redhat dot com
2023-04-06 11:21 ` dodji at redhat dot com
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).