Tested on apt-1.0.1ubuntu2.20 from trusty-proposed. Tried reproducing according to the test case from description, and verified that apt-cache does not crash:
ubuntu@apt-stress:~/stress-ng$ dpkg -l | grep apt ii apt 1.0.1ubuntu2.20 (while having stress-ng running) ubuntu@apt-stress:~/stress-ng$ for i in `seq 1 10000`;do apt-cache policy vsftpd;done E: Couldn't make mmap of 30021560 bytes - MMap-mmap (12: Cannot allocate memory) E: The package lists or status file could not be parsed or opened. ** Tags removed: verification-needed verification-needed-trusty ** Tags added: verification-done-trusty ** Tags added: verification-needed -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to apt in Ubuntu. https://bugs.launchpad.net/bugs/1815129 Title: apt segfaults when generating cache file Status in apt package in Ubuntu: Fix Released Status in apt source package in Trusty: Fix Committed Status in apt package in Debian: Fix Released Bug description: [Impact] apt crashes (core dump) during cache creation [Description] When executing apt-cache several times on a memory constrained system, apt-cache can sometimes crash with a core dump file. This is related to mmap() failing allocations during cache generation, according to an upstream bug report (803417). There is an upstream patch for this bug (6789e01e do not segfault in cache generation on mmap failure) and it's included in the apt package for other series (see below), so we only need to backport it to Trusty. Upstream commit: https://salsa.debian.org/apt- team/apt/commit/6789e01e9370b3b7f65d52138c5657eaa712b4d1 $ git describe --contains 6789e01e9370 1.1_exp16~5 $ rmadison apt apt | 1.0.1ubuntu2 | trusty | source, ... apt | 1.0.1ubuntu2.19 | trusty-security | source, ... apt | 1.0.1ubuntu2.19 | trusty-updates | source, ... apt | 1.2.10ubuntu1 | xenial | source, ... apt | 1.6.1 | bionic | source, ... apt | 1.7.0 | cosmic | source, ... apt | 1.8.0~rc2 | disco | source, ... [Test Case] 1) Deploy a Trusty (14.04 LTS) vm w/ 128M 2) Fetch latest stress-ng src code 2.1) git clone git://kernel.ubuntu.com/cking/stress-ng 2.2) cd stress-ng 2.3) make clean 2.4) make 3) Stress the mmap() with stress-ng 3.1) ./stress-ng --brk 2 --mmap 5 --vm 1 --mmap-bytes 90% 4) Disable swap (if any) 4.1) swapoff -a 5) for i in `seq 1 10000`;do apt-cache policy vsftpd;done ... vsftpd: Installed: (none) Candidate: 3.0.2-1ubuntu2.14.04.1 Version table: 3.0.2-1ubuntu2.14.04.1 0 500 http://us.archive.ubuntu.com/ubuntu/ trusty-updates/main amd64 Packages 3.0.2-1ubuntu2 0 500 http://us.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages Segmentation fault (core dumped) Segmentation fault (core dumped) Segmentation fault (core dumped) Segmentation fault (core dumped) Segmentation fault (core dumped) Segmentation fault (core dumped) ... [Regression Potential] The regression potential for this should be low, as it's a change in the failure path for memory allocations. This shouldn't be triggered during normal usage, and we'll thoroughly test the patched package with autopkgtests and perform scripted runs in memory-constrained systems with stress-ng. We also have a confirmation from an impacted user that the upstream patch fixes their issue without further problems. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/apt/+bug/1815129/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp