Am 04.11.18 um 20:43 schrieb Niko Tyni: > On Sun, Nov 04, 2018 at 06:09:36PM +0100, Salvatore Bonaccorso wrote: > >> This is likely due to the perl upstream change around/with >> https://perl5.git.perl.org/perl.git/commitdiff/c0e3b4b51cabf15ed8fc5f564dfeea31c25f5239 >> . >> >> It can be workarounded by either setting higher limits for >> recursion_limit/recursion_limit_hash or disable it with -1 >> >> $Storable::recursion_limit=-1; >> $Storable::recursion_limit_hash=-1; >> >> but I'm not sure this will be the right solution. > > Thanks. I've filed #912900 about this on the Perl side. Christoph: > please use these workarounds at least for now. Apologies for the trouble. > > Also, please let us know at p...@packages.debian.org when a workaround > is in Debian. We can then add dependency metadata on the perl side to > make sure apt-show-versions gets always upgraded before perl.
I had a look into the Storable/Limit.pm files in the different Debian architectures: > /tmp/usr/lib/aarch64-linux-gnu/perl/5.28.0/Storable/Limit.pm:$Storable::recursion_limit_hash > = 7236 > /tmp/usr/lib/arm-linux-gnueabi/perl/5.28.0/Storable/Limit.pm:$Storable::recursion_limit_hash > = 13458 > /tmp/usr/lib/arm-linux-gnueabihf/perl/5.28.0/Storable/Limit.pm:$Storable::recursion_limit_hash > = 12991 > /tmp/usr/lib/i386-gnu/perl/5.28.0/Storable/Limit.pm:$Storable::recursion_limit_hash > = 10466 > /tmp/usr/lib/i386-kfreebsd-gnu/perl/5.28.0/Storable/Limit.pm:$Storable::recursion_limit_hash > = 10464 > /tmp/usr/lib/i386-linux-gnu/perl/5.28.0/Storable/Limit.pm:$Storable::recursion_limit_hash > = 10462 > /tmp/usr/lib/mips-linux-gnu/perl/5.28.0/Storable/Limit.pm:$Storable::recursion_limit_hash > = 8756 > /tmp/usr/lib/mips64el-linux-gnuabi64/perl/5.28.0/Storable/Limit.pm:$Storable::recursion_limit_hash > = 6718 > /tmp/usr/lib/mipsel-linux-gnu/perl/5.28.0/Storable/Limit.pm:$Storable::recursion_limit_hash > = 8750 > /tmp/usr/lib/powerpc64le-linux-gnu/perl/5.28.0/Storable/Limit.pm:$Storable::recursion_limit_hash > = 5061 > /tmp/usr/lib/s390x-linux-gnu/perl/5.28.0/Storable/Limit.pm:$Storable::recursion_limit_hash > = 4039 > /tmp/usr/lib/x86_64-kfreebsd-gnu/perl/5.28.0/Storable/Limit.pm:$Storable::recursion_limit_hash > = 8557 > /tmp/usr/lib/x86_64-linux-gnu/perl/5.28.0/Storable/Limit.pm:$Storable::recursion_limit_hash > = 8552 The limits were calculated on build time. So they are different on each architecture. I don't think this is the correct approach. For apt-show-version I experimented with different values of and succeded with the following: $Storable::recursion_limit_hash = 65536; > Longer term, I'm not sure Storable is the best tool for this (a cache > of apt list contents.) AFAICS you're reading the whole data structure > in memory even when you need just one entry? You might want to look at > the various Cache / CHI modules, or even just plain GDBM_File. apt-show-versions needs more optimizations and enhancements. Patches are welcome. Christoph -- ============================================================================ Christoph Martin, Leiter Unix-Systeme Zentrum für Datenverarbeitung, Uni-Mainz, Germany Anselm Franz von Bentzel-Weg 12, 55128 Mainz Telefon: +49(6131)3926337 Instant-Messaging: Jabber/XMPP: mar...@jabber.uni-mainz.de
signature.asc
Description: OpenPGP digital signature