Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ABI files may need a bump #12360

Closed
jonathonf opened this issue Jul 13, 2021 · 4 comments
Closed

ABI files may need a bump #12360

jonathonf opened this issue Jul 13, 2021 · 4 comments
Labels
Type: Defect Incorrect behavior (e.g. crash, hang)

Comments

@jonathonf
Copy link
Contributor

System information

Type Version/Name
Distribution Name Ubuntu
Distribution Version 21.04
Kernel Version 5.13.1
Architecture amd64
OpenZFS Version 2.1.0

Describe the problem you're observing

Attempting to build ZFS 2.1.0 with Debian packaging tools will fail at the make checkabi step. Possibly the .abi files need to be updated?

Describe how to reproduce the problem

./autogen.sh
./configure
make checkabi

Include any warning/errors/backtraces from the system logs

Example output:

# Upstream provides an ABI guarantee that we validate here                                                                                                 
/usr/bin/make checkabi
...
make[4]: Entering directory '/localnet/src/zfs/2.1/zfs-linux-2.1.0/lib/libzfs'
for lib in libzfs.la ; do \
abidiff --no-unreferenced-symbols \
   --headers-dir1 ../../include \
   --suppressions ${lib%.la}.suppr \
   ${lib%.la}.abi .libs/${lib%.la}.so ; \
done
Functions changes summary: 0 Removed, 74 Changed (250 filtered out), 0 Added functions
Variables changes summary: 0 Removed, 0 Changed (17 filtered out), 0 Added variables

74 functions with some indirect sub-type change:

  [C] 'function prop_changelist_t* changelist_gather(zfs_handle_t*, zfs_prop_t, int, int)' at libzfs_changelist.c:624:1 has some indirect sub-type changes:
    parameter 1 of type 'zfs_handle_t*' has sub-type changes:
      in pointed to type 'typedef zfs_handle_t' at libzfs.h:195:1:
        underlying type 'struct zfs_handle' at libzfs_impl.h:77:1 changed:
          type size hasn't changed
          1 data member changes (5 filtered):
            type of 'libzfs_handle_t* zfs_handle::zfs_hdl' changed:
              in pointed to type 'typedef libzfs_handle_t' at libzfs.h:197:1:
                underlying type 'struct libzfs_handle' at libzfs_impl.h:48:1 changed:
                  type size hasn't changed
                  no data member changes (4 filtered);

  [C] 'function int find_shares_object(differ_info_t*)' at libzfs_util_os.c:304:1 has some indirect sub-type changes:
    parameter 1 of type 'differ_info_t*' has sub-type changes:
      in pointed to type 'typedef differ_info_t' at libzfs_impl.h:240:1:
        underlying type 'struct differ_info' at libzfs_impl.h:221:1 changed:
          type size hasn't changed
          no data member changes (5 filtered);

...

Many more lines, snipped for brevity (I can upload fuller logs as needed).

@jonathonf jonathonf added the Type: Defect Incorrect behavior (e.g. crash, hang) label Jul 13, 2021
@l1k
Copy link
Contributor

l1k commented Aug 29, 2021

This only happens with abigail version 1.8 or newer. Version 1.7 is fine.

Thus, you'll only see this on Debian bullseye or Ubuntu 21.04, but not on Debian buster or Ubuntu 20.04.

I've just bisected the issue to commit 8a0825e319c3. Either we need to update the abi files or we need to bail out of "make checkabi" if abigail 1.8 is installed. Probably the latter because this looks like a bug. I'll get in touch with the libabigail devs.

Bugzilla #28289

@gmelikov
Copy link
Member

Hm, I've recently tested and got only 3 changes found.

I'll plan to use 1.8+ in our CI and add version check in make files, because of #12459

@behlendorf
Copy link
Contributor

@gmelikov thanks, that sounds like the best way to address this.

@gmelikov
Copy link
Member

gmelikov commented Sep 2, 2021

Closed in #12529

@gmelikov gmelikov closed this as completed Sep 2, 2021
l1k added a commit to l1k/zfs that referenced this issue Sep 5, 2021
abigail 1.8 and newer is incompatible with the *.abi files shipped by
upstream with zfs 2.1.0. It must be downgraded to an older version.
buster shipped with abigail 1.5, which works fine, whereas bullseye
ships with 1.8.  This will probably be resolved with 2.1.1.
See here for details:
openzfs#12360

Several manpages were renamed, added or removed.  Their copyright
entries are updated but many other copyright entries seem out of date
and would require updating as well.

Signed-off-by: Lukas Wunner <lukas@wunner.de>
l1k added a commit to l1k/zfs that referenced this issue Sep 5, 2021
abigail 1.8 and newer is incompatible with the *.abi files shipped by
upstream with zfs 2.1.0. It must be downgraded to an older version.
buster shipped with abigail 1.5, which works fine, whereas bullseye
ships with 1.8.  This will probably be resolved with 2.1.1.
See here for details:
openzfs#12360

Several manpages were renamed, added or removed.  Their copyright
entries are updated herein but many other copyright entries seem out of
date and require updating as well.

Signed-off-by: Lukas Wunner <lukas@wunner.de>
l1k added a commit to l1k/zfs that referenced this issue Sep 5, 2021
abigail 1.8 and newer is incompatible with the *.abi files shipped by
upstream with zfs 2.1.0. It must be downgraded to an older version.
buster shipped with abigail 1.5, which works fine, whereas bullseye
ships with 1.8.  This will probably be resolved with 2.1.1.
See here for details:
openzfs#12360

Several manpages were renamed, added or removed.  Their copyright
entries are updated herein but many other copyright entries seem
out of date and require updating as well.

Signed-off-by: Lukas Wunner <lukas@wunner.de>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Type: Defect Incorrect behavior (e.g. crash, hang)
Projects
None yet
Development

No branches or pull requests

4 participants