Control: severity -1 grave Control: retitle -1 libsignatures-perl: broken by ABI change in libb-hooks-parser-perl Control: tag -1 stretch sid
On Wed, Aug 12, 2015 at 07:47:40PM +0200, gregor herrmann wrote: > Source: libsignatures-perl > Version: 0.12-1 > Severity: normal > > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA512 > > This package started to fail its autopktests recently, and I can > reproduce the problem locally: > > http://ci.debian.net/packages/libs/libsignatures-perl/unstable/amd64/ This looks bad. There seems to be a binary compatibility problem: signatures.pm is currently very broken, but just recompiling the package against current sid fixes it. % cat s.pl #!/usr/bin/perl -w use signatures; sub foo($x) {} % perl s.pl zsh: segmentation fault (core dumped) perl s.pl % sudo dpkg -i tmp/libsignatures-perl_0.12-1+b1_amd64.deb (Reading database ... 268292 files and directories currently installed.) Preparing to unpack .../libsignatures-perl_0.12-1+b1_amd64.deb ... Unpacking libsignatures-perl (0.12-1+b1) over (0.12-1) ... Setting up libsignatures-perl (0.12-1+b1) ... Processing triggers for man-db (2.7.3-1) ... % perl s.pl % The crash backtrace is #0 0x0000000000440c5c in Perl_gv_fetchpvn_flags () #1 0x00000000004bc296 in Perl_sv_upgrade () #2 0x0000000000448320 in Perl_filter_add () #3 0x00007fe70fd025b2 in hook_parser_setup () from /usr/lib/x86_64-linux-gnu/perl5/5.20/auto/B/Hooks/Parser/Parser.so #4 0x00007fe70f2e38c7 in ?? () from /usr/lib/x86_64-linux-gnu/perl5/5.20/auto/signatures/signatures.so #5 0x00000000004b2f6b in Perl_pp_entersub () #6 0x00000000004ab8a6 in Perl_runops_standard () #7 0x00000000004368d9 in Perl_call_sv () #8 0x0000000000438b9b in Perl_call_list () #9 0x000000000041c9ff in _start () and downgrading libb-hooks-parser-perl to 0.12-1+b2 from stable fixes it. So apparently signatures needs the same version of B::Hooks::Parser at runtime as at compile time. This is clearly due to https://github.com/karenetheridge/B-Hooks-Parser/commit/3a9c69e71bb5b0d0d2489a32a29509195577d157 https://github.com/karenetheridge/B-Hooks-Parser/commit/d62e1b58535d64d59f044397550ebe1f4eee1765 which changed the parameters of hook_parser_setup(), breaking the ABI. The API still stays the same, so a recompile is enough. Fortunately this seems like a one time thing, and libsignatures-perl is the only reverse dependency of libb-hooks-parser-perl, so we can probably manage with something like - upload libsignatures-perl 0.13 with a build + runtime dependency on libb-hooks-parser-perl (>= 0.16) - upload libb-hooks-parser-perl 0.16-2 with a Breaks: libsignatures-perl (<< 0.13) -- Niko Tyni [email protected]

