develooper Front page | perl.perl5.porters | Postings from November 2021

v5.35.5 consumes significantly more memory than v5.35.4

Thread Next
From:
Andreas Koenig
Date:
November 7, 2021 08:16
Subject:
v5.35.5 consumes significantly more memory than v5.35.4
Message ID:
87bl2wpei2.fsf@k85.linux.bogus
Hi Nicholas,

I have a smoker that runs the cpan shell for about 10 days in a single
process. Its duty is simply to smoke all distros currently on the CPAN
in a random order. I have gathered experiences with this smoker for
about three years: up until v5.35.5 I never observed that it ran out of
memory. Now, with v5.35.5 it did run out of memory. This is
reproducable.

To provide an estimate of the scale of the impact: the VM that runs the
smoker is equipped with 12G memory plus 0.5G swap; for a smoke run with
v5.35.4 munin showed that it had reached an amount of memory committed
of 6G after having run for ten days; with v5.35.5 the smoker was killed
with OOM after about three days; that means in a third of the time we
consumed twice as much memory, so I estimate the scale impact to be
sixfold.

Bisect to the rescue:

  94ee6ed79dbca73d0345b745534477e4017fb990 is the first bad commit                                 
  commit 94ee6ed79dbca73d0345b745534477e4017fb990
  Author: Nicholas Clark <nick@ccl4.org>
  Date:   Fri Aug 20 15:20:13 2021 +0000
  
      Split the XPVHV body into two variants "normal" and "with aux"
      
      Default to the smaller body, and switch to the larger body if we need to
      allocate a C<struct xpvhv_aux> (eg need an iterator).
      
      This restores the previous small size optimisation for hashes used as
      objects.
  
  :100644 100644 ff3729fa5f176adffacb7d2088707fab601782a7 749ede6f5b5d2998a17d18bdabdadc5fb96fa638 M      embed.fnc
  :100644 100644 954eb493d651ab12dcafcf6d6df670b2ba19bcbd 7e8f286859f3cb04dbe2300c1a63d69cba7f56c6 M      hv.c
  :100644 100644 285a004a5f4c6be21370557ff03ac0fd0da5e9b2 c7aeb7de572631a42181ee2056ce6f815114129f M      hv.h
  :100644 100644 0fe96719b0252434423253fc432da2b5b1da1acc 7b65b1390cfe3742f05c2529b8b574e3aa5a39d2 M      proto.h
  :100644 100644 5dfe3d9c8911ff949aa7c75e301dab1910476dc6 989017d5abfb887b38eca28dd72f447ae4919b86 M      sv.c
  :100644 100644 83fa92380b757a38d068e014626f107994c1784c c4ee1529890d5217cbfd916f17fac8d22a8e4d43 M      sv.h

Let me know which other infos I should provide to give you a better
picture of the situation.

Greetings from Berlin,
-- 
andreas

Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About