From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Pip Cet via "Bug reports for GNU Emacs, the Swiss army knife of text editors" Newsgroups: gmane.emacs.bugs Subject: bug#71988: 31.0.50; ert-test-run-tests-batch-expensive runs out of memory if previous tests failed Date: Mon, 08 Jul 2024 04:49:54 +0000 Message-ID: Reply-To: Pip Cet Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="b1_zSKYbvc3qGge9nyFVYnxffM8Cg6iz8q7xeMH5pse4w" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="35065"; mail-complaints-to="usenet@ciao.gmane.io" To: 71988@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Mon Jul 08 06:51:19 2024 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1sQgLN-0008wp-Ke for geb-bug-gnu-emacs@m.gmane-mx.org; Mon, 08 Jul 2024 06:51:17 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sQgL7-0001zr-72; Mon, 08 Jul 2024 00:51:01 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sQgL4-0001zS-IP for bug-gnu-emacs@gnu.org; Mon, 08 Jul 2024 00:50:59 -0400 Original-Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1sQgL4-0005q5-9X for bug-gnu-emacs@gnu.org; Mon, 08 Jul 2024 00:50:58 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1sQgL8-0001KC-Jn for bug-gnu-emacs@gnu.org; Mon, 08 Jul 2024 00:51:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Pip Cet Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 08 Jul 2024 04:51:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 71988 X-GNU-PR-Package: emacs X-Debbugs-Original-To: "bug-gnu-emacs@gnu.org" Original-Received: via spool by submit@debbugs.gnu.org id=B.17204142155023 (code B ref -1); Mon, 08 Jul 2024 04:51:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 8 Jul 2024 04:50:15 +0000 Original-Received: from localhost ([127.0.0.1]:49432 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sQgKN-0001Ix-5t for submit@debbugs.gnu.org; Mon, 08 Jul 2024 00:50:15 -0400 Original-Received: from lists.gnu.org ([209.51.188.17]:47826) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sQgKI-0001Ig-61 for submit@debbugs.gnu.org; Mon, 08 Jul 2024 00:50:14 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sQgKD-0007UR-4b for bug-gnu-emacs@gnu.org; Mon, 08 Jul 2024 00:50:05 -0400 Original-Received: from mail-40134.protonmail.ch ([185.70.40.134]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sQgKB-0005Hr-12 for bug-gnu-emacs@gnu.org; Mon, 08 Jul 2024 00:50:04 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail3; t=1720414199; x=1720673399; bh=bYP0Bqf2rYXqh5HDI9cy2Z0QynYzxXXyaov2PNNKZoc=; h=Date:To:From:Subject:Message-ID:Feedback-ID:From:To:Cc:Date: Subject:Reply-To:Feedback-ID:Message-ID:BIMI-Selector; b=IQEFFwfac7AGfB5KBP5Sm2JTMEA4kT9/P1KbmkZwPDmx422wg4Iyh1RYZe04YO0Uf TeakBuzIHBaS7GedYGmANfn2FyYexkYWBIpADfrJ48ARyWIInBz4eULxD2VsvvMqht iia7sT13JjVB1oj85jKvYzcWP0qiqb1KESxzcJQw/cWxvHnmp8VinbH2bHzpscZaxB N+Rf55T2V76UCYQdHkZTGdE6S+v2x6CjMfqf7/euxPDjhxudv7HovUUocNS2+YGeHp 8eOUtMH2Ptcs7+wSP2+hd93Cs4lp71ffBHDGryiWyGd9Qm01Dye/+ceVeLotPJzTWz ntPNiCI/XT1qA== Feedback-ID: 112775352:user:proton X-Pm-Message-ID: c3bc2e178bc72cc98d90675c2902e047b333df0e Received-SPF: pass client-ip=185.70.40.134; envelope-from=pipcet@protonmail.com; helo=mail-40134.protonmail.ch X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:288580 Archived-At: This is a multi-part message in MIME format. --b1_zSKYbvc3qGge9nyFVYnxffM8Cg6iz8q7xeMH5pse4w Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable This bug report is mostly to get a bug number to put in the patch :-). The test `ert-test-run-tests-batch-expensive' overrides print settings and prints a full backtrace to a temporary buffer repeatedly. If a previous test, such as `ert-test-run-tests-batch', failed, this eventually runs out of memory even on a 64 GB system. For example, one can add "(should nil)" to ert-test-run-tests-batch and run: $ make -C test lisp/emacs-lisp/ert-tests The problem is the ert--stats structure's tests vector is being printed, which recursively prints all previous tests' data. A possible fix is to temporarily override cl-print-object for either vectors or the ert--stats object to print nothing. Unfortunately, we don't appear to have an official mechanism for temporarily calling cl-defmethod, such as a generalized variable one can cl-letf to. The patch does that by running cl-defmethod inside a (cl-letf* (((symbol-function 'cl-print-object) (symbol-function 'cl-print-object))) ...) form. As future changes to cl-generic might break that, an additional test is added to make sure our binding is undone and die loudly if it hasn't been. This also speeds up the test significantly and it might be possible to remove the :unstable tag. --b1_zSKYbvc3qGge9nyFVYnxffM8Cg6iz8q7xeMH5pse4w Content-Type: text/x-patch; name=0001-ert-tests-reproducer.patch Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=0001-ert-tests-reproducer.patch ZGlmZiAtLWdpdCBhL3Rlc3QvbGlzcC9lbWFjcy1saXNwL2VydC10ZXN0cy5lbCBiL3Rlc3QvbGlz cC9lbWFjcy1saXNwL2VydC10ZXN0cy5lbAppbmRleCAxYWZmNzNkNjZmNi4uMmY4ZTczODJiZWEg MTAwNjQ0Ci0tLSBhL3Rlc3QvbGlzcC9lbWFjcy1saXNwL2VydC10ZXN0cy5lbAorKysgYi90ZXN0 L2xpc3AvZW1hY3MtbGlzcC9lcnQtdGVzdHMuZWwKQEAgLTU4Myw2ICs1ODMsNyBAQCBlcnQtdGVz dC1ydW4tdGVzdHMtYmF0Y2gKIAkJICAgKHNldHEgZm91bmQtbG9uZyAoc3RyaW5nLW1hdGNoIGxv bmctdGV4dCBtc2cpKSkKIAkJICh1bmxlc3MgZm91bmQtY29tcGxleAogCQkgICAoc2V0cSBmb3Vu ZC1jb21wbGV4IChzdHJpbmctbWF0Y2ggY29tcGxleC10ZXh0IG1zZykpKSkKKyAgICAgICAgKHNo b3VsZCBuaWwpCiAJKHNob3VsZCBmb3VuZC1sb25nKQogCShzaG91bGQgZm91bmQtY29tcGxleCkp KSkpCiAK --b1_zSKYbvc3qGge9nyFVYnxffM8Cg6iz8q7xeMH5pse4w Content-Type: text/x-patch; name=0001-ert-tests.patch Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=0001-ert-tests.patch ZGlmZiAtLWdpdCBhL3Rlc3QvbGlzcC9lbWFjcy1saXNwL2VydC10ZXN0cy5lbCBiL3Rlc3QvbGlz cC9lbWFjcy1saXNwL2VydC10ZXN0cy5lbAppbmRleCAxYWZmNzNkNjZmNi4uNGNiNTIzZDJmZjEg MTAwNjQ0Ci0tLSBhL3Rlc3QvbGlzcC9lbWFjcy1saXNwL2VydC10ZXN0cy5lbAorKysgYi90ZXN0 L2xpc3AvZW1hY3MtbGlzcC9lcnQtdGVzdHMuZWwKQEAgLTU2OSw3ICs1NjksNyBAQCBlcnQtdGVz dC1ydW4tdGVzdHMtYmF0Y2gKICAgICAgICAgKHNhdmUtd2luZG93LWV4Y3Vyc2lvbgogICAgICAg ICAgIChsZXQgKChjYXNlLWZvbGQtc2VhcmNoIG5pbCkKICAgICAgICAgICAgICAgICAoZXJ0LWJh dGNoLWJhY2t0cmFjZS1yaWdodC1tYXJnaW4gbmlsKQotCQkoZXJ0LWJhdGNoLXByaW50LWxldmVs IDEwKQorCQkoZXJ0LWJhdGNoLXByaW50LWxldmVsIDEpCiAJCShlcnQtYmF0Y2gtcHJpbnQtbGVu Z3RoIDExKSkKICAgICAgICAgICAgIChlcnQtcnVuLXRlc3RzLWJhdGNoCiAgICAgICAgICAgICAg YChtZW1iZXIgLGZhaWxpbmctdGVzdC0xICxmYWlsaW5nLXRlc3QtMikpKSkpCg== --b1_zSKYbvc3qGge9nyFVYnxffM8Cg6iz8q7xeMH5pse4w--