Created attachment 15320 [details] New library 1.22.8 ``` abidiff: ../../src/abg-dwarf-reader.cc:13213: abigail::ir::class_decl_sptr abigail::dwarf::add_or_update_class_type(reader&, Dwarf_Die*, abigail::ir::scope_decl*, bool, abigail::ir::class_decl_sptr, bool, size_t, bool): Assertion `__abg_cond__' failed. ``` See https://gitlab.com/freedesktop-sdk/freedesktop-sdk/-/merge_requests/16781#note_1737390894 I provided, below, the so and debug files for libgstqsv (old and new). Otherwise, the project can be built by cloning the repo and checking out the branch. Buildstream 2 needs to be installed, see https://buildstream.build/install.html Then `bst build components/gstreamer-plugins-bad.bst` will build the component that provides the library and `bst artifact checkout components/gstreamer-plugins-bad.bst` will produce a local copy of the build contents. To analyse the ABI `make check-abi` can be run, that effectively runs the following, through a python script: python script args: `check-abi --new /new-image --old /old-image --archive-on-core --forward-compatible --suppressions "/usr/share/check-abi/check-abi-suppressions.json" --abidiff-suppressions "/usr/share/check-abi/abidiff-suppressions.ini"` abidiff args: `abidiff --headers-dir1 /old-image/usr/include --headers-dir2 /new-image/usr/include --debug-info-dir1 /old-image/usr/lib/debug --debug-info-dir2 /new-image/usr/lib/debug /old-image/usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstqsv.so /new-image/usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstqsv.so --drop-private-types` Output can be seen by entering `l`: ``` ┌─────────────────────────┐ │ ABI Break: libgstqsv.so │ └─────────────────────────┘ abidiff: ../../src/abg-dwarf-reader.cc:13213: abigail::ir::class_decl_sptr abigail::dwarf::add_or_update_class_type(reader&, Dwarf_Die*, abigail::ir::scope_decl*, bool, abigail::ir::class_decl_sptr, bool, size_t, bool): Assertion `__abg_cond__' failed. abidiff core dumped, command was: abidiff --headers-dir1 /old-image/usr/include --headers-dir2 /new-image/usr/include --debug-info-dir1 /old-image/usr/lib/debug --debug-info-dir2 /new-image/usr/lib/debug /old-image/usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstqsv.so /new-image/usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstqsv.so --drop-private-types Skipping file libpipewire-module-vban-send.so Skipping file libpipewire-module-protocol-native.so Skipping file libpipewire-module-rt.so ```
Created attachment 15321 [details] New library debug file
Created attachment 15322 [details] libgstqsv 1.22.5
Created attachment 15323 [details] libgstqsv 1.22.5 debug file
Hello, Thank you for reporting this problem. I have tried to reproduce it, but I think there are two missing debug info files that should be located at ../../../../dwz/components/gstreamer-plugins-bad.bst/x86_64-unknown-linux-gnu. These debug info files are produced by the DWARF compression tool named "dwz". You should have one such file for each of the libgstqv.so file you provided. Could you please provide these missing debuginfo files too, so that I can reproduce and hopefully debug the problem? Thank you in advance and sorry for the inconvenience.
Created attachment 15330 [details] 1.22.5
Created attachment 15331 [details] 1.22.8
Uploaded, thanks for looking into it.
Branch https://sourceware.org/git/?p=libabigail.git;a=shortlog;h=refs/heads/users/dodji/PR31279 should have a tentative patch that should hopefully fix the issue. I am currently testing it.
The commit https://sourceware.org/git/?p=libabigail.git;a=commit;h=1053262eee8e5af9814b060aa67e56a0bcadbee5 on the master branch should fix this issue. The fix should be available in libabigail 2.5. Thanks for reporting this problem and sorry for the inconvenience.