Bug#1146517: libipc-shareable-perl: FTBFS on ppc64el and ppc64: shm_segments() reads the wrong field of struct shmid_ds
Niko Tyni
ntyni at debian.org
Sun Oct 18 15:31:44 BST 2026
On Wed, Sep 02, 2026 at 08:56:25PM +0200, Edmund Lodewijks wrote:
> Source: libipc-shareable-perl
> Version: 1.19-1
> Severity: serious
> Tags: ftbfs patch upstream
> Justification: fails to build from source
> Forwarded: https://github.com/stevieb9/ipc-shareable/issues/66
> X-Debbugs-Cc: gregoa at debian.org
>
>
> 1.19-1 fails to build on ppc64el and ppc64, and builds everywhere else:
>
> https://buildd.debian.org/status/package.php?p=libipc-shareable-perl
> https://buildd.debian.org/status/logs.php?pkg=libipc-shareable-perl&arch=ppc64el
>
> t/72-shm_segments.t (Wstat: 6912 Tests: 47 Failed: 27)
> t/74-seg_map.t (Wstat: 512 Tests: 12 Failed: 2)
>
> lib/IPC/Shareable.pm unpacks struct shmid_ds at a hard-coded offset for
> shm_segsz, assuming the asm-generic field order. PowerPC puts the three
> time fields first, so on ppc64el/ppc64 the offset lands on shm_atime;
> the oversized value makes the following shmread() fail and the segment
> never reaches %segments. IPC/Shareable/SharedMem.pm has the same bug in
> stat().
>
> Reported upstream as #66, together with an alternative that drops the
> offset tables entirely and reads the fields through IPC::SysV's XS
> instead. Upstream has not replied yet, so the attached minimal fix is
> what I would suggest for Debian; it is the least likely to conflict with
> whichever route upstream takes.
Hi, thanks for looking at these issues.
FWIW I think the IPC::SharedMem approach looks like the right thing to do here.
I also agree with Gregor that the 'IPC::SharedMem::stat'->new->unpack($data)
part in the patch looks a bit out of place and should probably be replaced
with a call to IPC::SharedMem::stat() that does the same thing.
Upstream would probably find it easier to untangle all this with
separate actual pull requests rather than a patch dump with two different
approaches.
Hope this helps a bit, sorry for just another drive by contribution.
--
Niko Tyni ntyni at debian.org
More information about the pkg-perl-maintainers
mailing list