From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on sa.local.altlinux.org X-Spam-Level: X-Spam-Status: No, score=-2.9 required=5.0 tests=ALL_TRUSTED,BAYES_00 autolearn=unavailable autolearn_force=no version=3.4.1 From: Aleksei Nikiforov To: devel@lists.altlinux.org Date: Fri, 6 Dec 2019 16:16:05 +0300 Message-Id: <20191206131606.83061-1-darktemplar@altlinux.org> X-Mailer: git-send-email 2.24.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Cc: Aleksei Nikiforov Subject: [devel] [PATCH for apt 1/2] Add option for debugging DynamicMMap::Allocate X-BeenThere: devel@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: ALT Linux Team development discussions List-Id: ALT Linux Team development discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Dec 2019 13:16:34 -0000 Archived-At: List-Archive: List-Post: --- apt/apt-pkg/contrib/mmap.cc | 15 +++++++++++++++ apt/doc/apt.conf.5.sgml | 2 +- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/apt/apt-pkg/contrib/mmap.cc b/apt/apt-pkg/contrib/mmap.cc index a3b06cc..cf01be9 100644 --- a/apt/apt-pkg/contrib/mmap.cc +++ b/apt/apt-pkg/contrib/mmap.cc @@ -265,6 +265,21 @@ std::experimental::optional DynamicMMap::Allocate(unsigned long Item // No pool is allocated, use an unallocated one if (I == Pools + PoolCount) { + static const bool debug_grow = _config->FindB("Debug::DynamicMMap::Allocate", false); + + if (debug_grow) + { + Pool *pool_iter = Pools; + size_t pool_idx = 0; + + _error->Warning(_("DynamicMMap::Allocate: allocating item of size %lu"), ItemSize); + + for (; pool_idx < PoolCount; ++pool_iter, ++pool_idx) + { + _error->Warning(_("DynamicMMap::Allocate: Pool %zu, item size: %lu, start: %lu, count: %lu"), pool_idx, pool_iter->ItemSize, pool_iter->Start, pool_iter->Count); + } + } + // Woops, we ran out, the calling code should allocate more. if (Empty == 0) { diff --git a/apt/doc/apt.conf.5.sgml b/apt/doc/apt.conf.5.sgml index 0a72e45..72fc0c3 100644 --- a/apt/doc/apt.conf.5.sgml +++ b/apt/doc/apt.conf.5.sgml @@ -526,7 +526,7 @@ DPkg::Pre-Install-Pkgs {"/usr/sbin/dpkg-preconfigure --apt";}; disable the inclusion of statfs data in CDROM IDs. To debug issues related to dynamic memory allocation, an option - -- 2.24.0