Re: Libfuse interoperability/ABI broken.
- To: Andrea Bolognani <eof@kiyuko.org>
- Cc: Ashley Pittman <ashley@pittman.co.uk>, trapexit@spawn.link, "Laszlo Boszormenyi (GCS)" <gcs@debian.org>, debian-devel@lists.debian.org, ubuntu-devel-discuss@lists.ubuntu.com, "fuse-devel@lists.sourceforge.net" <fuse-devel@lists.sourceforge.net>, Miklos Szeredi <miklos@szeredi.hu>, Nikolaus Rath <Nikolaus@rath.org>, Amir Goldstein <amir73il@gmail.com>, Giulio Benetti <giulio.benetti@benettiengineering.com>, Dharmendra Singh <dsingh@ddn.com>
- Subject: Re: Libfuse interoperability/ABI broken.
- From: Bernd Schubert <bernd.schubert@fastmail.fm>
- Date: Wed, 13 Mar 2024 01:02:50 +0100
- Message-id: <[🔎] 6f9d74ca-dd74-49e7-bc1b-46ab322237b9@fastmail.fm>
- In-reply-to: <[🔎] Ze8H2GDrh2FfbE-7@meyneth>
- References: <76E4B0CB-E2B3-4A12-8EAB-868C15599F19@pittman.co.uk> <b1710d2c-9b82-4641-8264-37b0b4fb98b2@fastmail.fm> <ACA7CE7F-3A1D-4E23-90DA-4AB3CA67B8A1@pittman.co.uk> <[🔎] 50f50b57-7f02-46d2-a30d-5da1bf948700@fastmail.fm> <[🔎] Ze8H2GDrh2FfbE-7@meyneth>
On 3/11/24 14:32, Andrea Bolognani wrote:
> On Thu, Mar 07, 2024 at 07:47:23PM +0100, Bernd Schubert wrote:
>> Hi all,
>>
>> this is certainly not kind of the mail I was hoping for as a new libfuse
>> maintainer.
>>
>> As you can see from the title and from discussion below (sorry this is
>> not typical ML discussion style), we have a bit of of problem with
>> libfuse ABI compatibility.
>
> [...]
>
>>>> On 3/7/24 16:43, Ashley Pittman wrote:
>>>>> I’ve spotted an issue with the linked commit, the fuse_file_info struct should have been modified by adding new entries just before the padding, with this commit then members after the new entry will be moved creating a change in the ABI for members after this.
>>>>>
>>>>> https://github.com/libfuse/libfuse/commit/a5eb7f2a0117ab43119ef5724cf5f4f2f181804a
>>>>>
>>>>> This affects the flush, nonseekable, flock_release, cache_readdir and noflush flags, each one of which could be set or cleared accidentally with one of the flags before or after it depending on what version of libfuse the application is compiled and linked with.
>>>>>
>>>>> This isn’t a failure mode that I’ve experience before when using linux so I don’t have a playbook to work from in how to correct this but essentially fuse3 releases up to and including 3.13 have one ABI and 3.13 to 3.16 have a different ABI.
>
> Not strictly related to the change at hand, but since we're
> discussing recent-ish changes that negatively affected backwards
> compatibility in libfuse I will mention this too:
>
> https://bugs.debian.org/1031802
>
> It has been reported downstream a year ago, but I'm not sure if it
> ever got upstream's attention. Now it should have :)
>
Arg thanks, I don't think that was ever posted. Clearly my fault, I had
added that symbol when I noticed it is missing.
Going to follow up in the debian report.
Thanks,
Bernd
Reply to: