From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Keith David Bershatsky Newsgroups: gmane.emacs.bugs Subject: bug#27571: #27571; C stack overflow from `prin1' on deeply nested lisp object. Date: Mon, 08 Jan 2018 17:38:38 -0800 Message-ID: References: NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="Multipart_Mon_Jan__8_17:38:38_2018-1" X-Trace: blaine.gmane.org 1515461860 7032 195.159.176.226 (9 Jan 2018 01:37:40 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Tue, 9 Jan 2018 01:37:40 +0000 (UTC) Cc: 27571@debbugs.gnu.org To: Noam Postavsky , Paul Eggert Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Tue Jan 09 02:37:35 2018 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eYir4-0001C4-DP for geb-bug-gnu-emacs@m.gmane.org; Tue, 09 Jan 2018 02:37:30 +0100 Original-Received: from localhost ([::1]:44749 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eYit4-0005HB-2O for geb-bug-gnu-emacs@m.gmane.org; Mon, 08 Jan 2018 20:39:34 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:57386) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eYisc-000563-5F for bug-gnu-emacs@gnu.org; Mon, 08 Jan 2018 20:39:07 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eYisY-0001f9-Qb for bug-gnu-emacs@gnu.org; Mon, 08 Jan 2018 20:39:06 -0500 Original-Received: from debbugs.gnu.org ([208.118.235.43]:33251) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1eYisY-0001eq-IF for bug-gnu-emacs@gnu.org; Mon, 08 Jan 2018 20:39:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1eYisY-0005k3-63 for bug-gnu-emacs@gnu.org; Mon, 08 Jan 2018 20:39:02 -0500 X-Loop: help-debbugs@gnu.org In-Reply-To: Resent-From: Keith David Bershatsky Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 09 Jan 2018 01:39:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 27571 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: confirmed Original-Received: via spool by 27571-submit@debbugs.gnu.org id=B27571.151546192222044 (code B ref 27571); Tue, 09 Jan 2018 01:39:02 +0000 Original-Received: (at 27571) by debbugs.gnu.org; 9 Jan 2018 01:38:42 +0000 Original-Received: from localhost ([127.0.0.1]:41932 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eYisD-0005jT-Th for submit@debbugs.gnu.org; Mon, 08 Jan 2018 20:38:42 -0500 Original-Received: from gateway31.websitewelcome.com ([192.185.144.219]:38126) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eYisC-0005jJ-Ck for 27571@debbugs.gnu.org; Mon, 08 Jan 2018 20:38:40 -0500 Original-Received: from cm14.websitewelcome.com (cm14.websitewelcome.com [100.42.49.7]) by gateway31.websitewelcome.com (Postfix) with ESMTP id AB6992BF4B for <27571@debbugs.gnu.org>; Mon, 8 Jan 2018 19:38:39 -0600 (CST) Original-Received: from gator3053.hostgator.com ([50.87.144.69]) by cmsmtp with SMTP id YisBe6EbG0aRHYisBeVdX4; Mon, 08 Jan 2018 19:38:39 -0600 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lawlist.com ; s=default; h=Content-Type:MIME-Version:Subject:Cc:To:From:Message-ID:Date: Sender:Reply-To:Content-Transfer-Encoding:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: In-Reply-To:References:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=cCmwM3Pnp57o1hWXad1MBnwvmhrlKoVp2HZNzPmt6BE=; b=Am3SNqekWFPjFcKDgle9LSt4M6 b+GXr9cKYBZW5/GbVAFty6BRVEHnXoNkiXFxYOuKr5e72/J8SC3smVA/Gi1nYMIdR7Rmqiw5DcgTd OSMturJm80FAOb7L+obZtmQWQWOOmVDCcTRAIFnrvgZDzdSddelGYd9TzFGhsRGPylaNUNk3OvBMO j62WgrVfuiLBrIx+jtTD6ortKLh/VW/cd0Gzk3wII9/xWYKKd8v9goFNe5TuXkExKFY3QT/xkpuFl PJQ6faFqPgqC3UrCPD9QIOU7r65BzFxGuUInLmjqG+iaTVyxVsDQCsi2ka4gSkqBQJwlz/3b3yyaB hTwGZuOw==; Original-Received: from cpe-45-48-239-195.socal.res.rr.com ([45.48.239.195]:54558 helo=server.private) by gator3053.hostgator.com with esmtpsa (TLSv1:DHE-RSA-AES256-SHA:256) (Exim 4.89) (envelope-from ) id 1eYisA-003Cnt-N9; Mon, 08 Jan 2018 19:38:38 -0600 X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - gator3053.hostgator.com X-AntiAbuse: Original Domain - debbugs.gnu.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - lawlist.com X-BWhitelist: no X-Source-IP: 45.48.239.195 X-Source-L: No X-Exim-ID: 1eYisA-003Cnt-N9 X-Source: X-Source-Args: X-Source-Dir: X-Source-Sender: cpe-45-48-239-195.socal.res.rr.com (server.private) [45.48.239.195]:54558 X-Source-Auth: lawlist X-Email-Count: 4 X-Source-Cap: bGF3bGlzdDtsYXdsaXN0O2dhdG9yMzA1My5ob3N0Z2F0b3IuY29t X-Local-Domain: yes X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 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.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:141916 Archived-At: --Multipart_Mon_Jan__8_17:38:38_2018-1 Content-Type: text/plain; charset=US-ASCII Dear Paul and Noam: I have determined that bug #27571 was introduced on November 19, 2016 with commit c61ee94959ba96b2a327df0684593f7e569e30be. The following patch to the Emacs 26 branch as of today (01/08/2018) reverses the commit and enables the test below to be completed successfully. [FYI: I am on OSX 10.6.8 and am manually increasing the stack limit with `ulimit -S -s unlimited` so that I can have rather large custom undo-tree histories.] (require 'cl-lib) (defun make-deep-object (depth) (let ((obj 1)) (while (> (cl-decf depth) 0) (setq obj (vector (list obj)))) obj)) ;;; STACK OVERFLOW: problem with `prin1-to-string' ;;; The bug was introduced on November 19, 2016 with ;;; commit: c61ee94959ba96b2a327df0684593f7e569e30be (let* ((print-circle t) (max-lisp-eval-depth most-positive-fixnum) (max-specpdl-size most-positive-fixnum) (deep-object (make-deep-object 6000)) (string (prin1-to-string deep-object))) (when string (message "Bug #27571: Success! (%d)" (length string)))) --Multipart_Mon_Jan__8_17:38:38_2018-1 Content-Type: application/diff; type=patch Content-Disposition: attachment; filename="patch.diff" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL3NyYy9lbWFjcy5jIGIvc3JjL2VtYWNzLmMKaW5kZXggMDE3YzYyMy4uODkz ODBmNSAxMDA2NDQKLS0tIGEvc3JjL2VtYWNzLmMKKysrIGIvc3JjL2VtYWNzLmMKQEAgLTgyNiw2 OCArODI2LDU3IEBAIG1haW4gKGludCBhcmdjLCBjaGFyICoqYXJndikKICAgICAgICAgfQogICAg IH0KIAorLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqICovCisvKiBCRUdJTiBGSVhNRTogIzI3NTcxOyAx MS8xOS8yMDE2OyBjNjFlZTk0OTU5YmE5NmIyYTMyN2RmMDY4NDU5M2Y3ZTU2OWUzMGJlICovCisK ICNpZiBkZWZpbmVkIChIQVZFX1NFVFJMSU1JVCkgJiYgZGVmaW5lZCAoUkxJTUlUX1NUQUNLKSAm JiAhZGVmaW5lZCAoQ1lHV0lOKQorICBzdHJ1Y3QgcmxpbWl0IHJsaW07CisgIHNpemVfdCByZV9t YXhfZmFpbHVyZXMgPSA0MDAwMDsKICAgLyogRXh0ZW5kIHRoZSBzdGFjayBzcGFjZSBhdmFpbGFi bGUuICBEb24ndCBkbyB0aGF0IGlmIGR1bXBpbmcsCiAgICAgIHNpbmNlIHNvbWUgc3lzdGVtcyAo ZS5nLiBESkdQUCkgbWlnaHQgZGVmaW5lIGEgc21hbGxlciBzdGFjawogICAgICBsaW1pdCBhdCB0 aGF0IHRpbWUuICBBbmQgaXQncyBub3QgbmVlZGVkIG9uIEN5Z3dpbiwgc2luY2UgZW1hY3MKICAg ICAgaXMgYnVpbHQgd2l0aCBhbiA4TUIgc3RhY2suICBNb3Jlb3ZlciwgdGhlIHNldHJsaW1pdCBj YWxsIGNhbgogICAgICBjYXVzZSBwcm9ibGVtcyBvbiBDeWd3aW4KICAgICAgKGh0dHBzOi8vd3d3 LmN5Z3dpbi5jb20vbWwvY3lnd2luLzIwMTUtMDcvbXNnMDAwOTYuaHRtbCkuICAqLwotICBzdHJ1 Y3QgcmxpbWl0IHJsaW07Ci0gIGlmIChnZXRybGltaXQgKFJMSU1JVF9TVEFDSywgJnJsaW0pID09 IDAKLSAgICAgICYmIDAgPD0gcmxpbS5ybGltX2N1ciAmJiBybGltLnJsaW1fY3VyIDw9IExPTkdf TUFYKQotICAgIHsKLSAgICAgIHJsaW1fdCBsaW0gPSBybGltLnJsaW1fY3VyOwotCi0gICAgICAv KiBBcHByb3hpbWF0ZSB0aGUgYW1vdW50IHJlZ2V4LmMgbmVlZHMgcGVyIHVuaXQgb2YKLQkgZW1h Y3NfcmVfbWF4X2ZhaWx1cmVzLCB0aGVuIGFkZCAzMyUgdG8gY292ZXIgdGhlIHNpemUgb2YgdGhl Ci0JIHNtYWxsZXIgc3RhY2tzIHRoYXQgcmVnZXguYyBzdWNjZXNzaXZlbHkgYWxsb2NhdGVzIGFu ZAotCSBkaXNjYXJkcyBvbiBpdHMgd2F5IHRvIHRoZSBtYXhpbXVtLiAgKi8KLSAgICAgIGludCBt aW5fcmF0aW8gPSAyMCAqIHNpemVvZiAoY2hhciAqKTsKLSAgICAgIGludCByYXRpbyA9IG1pbl9y YXRpbyArIG1pbl9yYXRpbyAvIDM7Ci0KLSAgICAgIC8qIEV4dHJhIHNwYWNlIHRvIGNvdmVyIHdo YXQgd2UncmUgbGlrZWx5IHRvIHVzZSBmb3Igb3RoZXIKLSAgICAgICAgIHJlYXNvbnMuICBGb3Ig ZXhhbXBsZSwgYSB0eXBpY2FsIEdDIG1pZ2h0IHRha2UgMzBLIHN0YWNrCi0gICAgICAgICBmcmFt ZXMuICAqLwotICAgICAgaW50IGV4dHJhID0gKDMwICogMTAwMCkgKiA1MDsKLQotICAgICAgYm9v bCB0cnlfdG9fZ3Jvd19zdGFjayA9IHRydWU7CisgIGlmICgxCiAjaWZuZGVmIENBTk5PVF9EVU1Q Ci0gICAgICB0cnlfdG9fZ3Jvd19zdGFjayA9ICFub25pbnRlcmFjdGl2ZSB8fCBpbml0aWFsaXpl ZDsKKyAgICAgICYmICghbm9uaW50ZXJhY3RpdmUgfHwgaW5pdGlhbGl6ZWQpCiAjZW5kaWYKLQot ICAgICAgaWYgKHRyeV90b19ncm93X3N0YWNrKQorICAgICAgJiYgIWdldHJsaW1pdCAoUkxJTUlU X1NUQUNLLCAmcmxpbSkpCisgICAgeworICAgICAgbG9uZyBuZXdsaW07CisgICAgICAvKiBBcHBy b3hpbWF0ZSB0aGUgYW1vdW50IHJlZ2V4LmMgbmVlZHMgcGVyIHVuaXQgb2YgcmVfbWF4X2ZhaWx1 cmVzLiAgKi8KKyAgICAgIGludCByYXRpbyA9IDIwICogc2l6ZW9mIChjaGFyICopOworICAgICAg LyogVGhlbiBhZGQgMzMlIHRvIGNvdmVyIHRoZSBzaXplIG9mIHRoZSBzbWFsbGVyIHN0YWNrcyB0 aGF0IHJlZ2V4LmMKKwkgc3VjY2Vzc2l2ZWx5IGFsbG9jYXRlcyBhbmQgZGlzY2FyZHMsIG9uIGl0 cyB3YXkgdG8gdGhlIG1heGltdW0uICAqLworICAgICAgcmF0aW8gKz0gcmF0aW8gLyAzOworICAg ICAgLyogQWRkIGluIHNvbWUgZXh0cmEgdG8gY292ZXIKKwkgd2hhdCB3ZSdyZSBsaWtlbHkgdG8g dXNlIGZvciBvdGhlciByZWFzb25zLiAgKi8KKyAgICAgIG5ld2xpbSA9IHJlX21heF9mYWlsdXJl cyAqIHJhdGlvICsgMjAwMDAwOworI2lmZGVmIF9fTmV0QlNEX18KKyAgICAgIC8qIE5ldEJTRCAo YXQgbGVhc3QgTmV0QlNEIDEuMkcgYW5kIGZvcm1lcikgaGFzIGEgYnVnIGluIGl0cworICAgICAg IHN0YWNrIGFsbG9jYXRpb24gcm91dGluZSBmb3IgbmV3IHByb2Nlc3MgdGhhdCB0aGUgYWxsb2Nh dGlvbgorICAgICAgIGZhaWxzIGlmIHN0YWNrIGxpbWl0IGlzIG5vdCBvbiBwYWdlIGJvdW5kYXJ5 LiAgU28sIHJvdW5kIHVwIHRoZQorICAgICAgIG5ldyBsaW1pdCB0byBwYWdlIGJvdW5kYXJ5LiAg Ki8KKyAgICAgIG5ld2xpbSA9IChuZXdsaW0gKyBnZXRwYWdlc2l6ZSAoKSAtIDEpIC8gZ2V0cGFn ZXNpemUgKCkgKiBnZXRwYWdlc2l6ZSAoKTsKKyNlbmRpZgorICAgICAgaWYgKG5ld2xpbSA+IHJs aW0ucmxpbV9tYXgpCiAJewotCSAgcmxpbV90IG5ld2xpbSA9IGVtYWNzX3JlX21heF9mYWlsdXJl cyAqIHJhdGlvICsgZXh0cmE7Ci0KLQkgIC8qIFJvdW5kIHRoZSBuZXcgbGltaXQgdG8gYSBwYWdl IGJvdW5kYXJ5OyB0aGlzIGlzIG5lZWRlZAotCSAgICAgZm9yIERhcndpbiBrZXJuZWwgMTUuNC4w IChzZWUgQnVnIzIzNjIyKSBhbmQgcGVyaGFwcwotCSAgICAgb3RoZXIgc3lzdGVtcy4gIERvIG5v dCBzaHJpbmsgdGhlIHN0YWNrIGFuZCBkbyBub3QgZXhjZWVkCi0JICAgICBybGltX21heC4gIERv bid0IHdvcnJ5IGFib3V0IGV4YWN0IHZhbHVlcyBvZgotCSAgICAgUkxJTV9JTkZJTklUWSBldGMu IHNpbmNlIGluIHByYWN0aWNlIHdoZW4gdGhleSBhcmUKLQkgICAgIG5vbm5lZ2F0aXZlIHRoZXkg YXJlIHNvIGxhcmdlIHRoYXQgdGhlIGNvZGUgZG9lcyB0aGUKLQkgICAgIHJpZ2h0IHRoaW5nIGFu eXdheS4gICovCi0JICBsb25nIHBhZ2VzaXplID0gZ2V0cGFnZXNpemUgKCk7Ci0JICBuZXdsaW0g Kz0gcGFnZXNpemUgLSAxOwotCSAgaWYgKDAgPD0gcmxpbS5ybGltX21heCAmJiBybGltLnJsaW1f bWF4IDwgbmV3bGltKQotCSAgICBuZXdsaW0gPSBybGltLnJsaW1fbWF4OwotCSAgbmV3bGltIC09 IG5ld2xpbSAlIHBhZ2VzaXplOwotCi0JICBpZiAocGFnZXNpemUgPD0gbmV3bGltIC0gbGltKQot CSAgICB7Ci0JICAgICAgcmxpbS5ybGltX2N1ciA9IG5ld2xpbTsKLQkgICAgICBpZiAoc2V0cmxp bWl0IChSTElNSVRfU1RBQ0ssICZybGltKSA9PSAwKQotCQlsaW0gPSBuZXdsaW07Ci0JICAgIH0K KwkgIG5ld2xpbSA9IHJsaW0ucmxpbV9tYXg7CisJICAvKiBEb24ndCBsZXQgcmVnZXguYyBvdmVy ZmxvdyB0aGUgc3RhY2sgd2UgaGF2ZS4gICovCisJICByZV9tYXhfZmFpbHVyZXMgPSAobmV3bGlt IC0gMjAwMDAwKSAvIHJhdGlvOwogCX0KLSAgICAgIC8qIElmIHRoZSBzdGFjayBpcyBiaWcgZW5v dWdoLCBsZXQgcmVnZXguYyBtb3JlIG9mIGl0IGJlZm9yZQotICAgICAgICAgZmFsbGluZyBiYWNr IHRvIGhlYXAgYWxsb2NhdGlvbi4gICovCi0gICAgICBlbWFjc19yZV9zYWZlX2FsbG9jYSA9IG1h eAotICAgICAgICAobWluIChsaW0gLSBleHRyYSwgU0laRV9NQVgpICogKG1pbl9yYXRpbyAvIHJh dGlvKSwKLSAgICAgICAgIE1BWF9BTExPQ0EpOworICAgICAgaWYgKHJsaW0ucmxpbV9jdXIgPCBu ZXdsaW0pCisJcmxpbS5ybGltX2N1ciA9IG5ld2xpbTsKKworICAgICAgc2V0cmxpbWl0IChSTElN SVRfU1RBQ0ssICZybGltKTsKICAgICB9CiAjZW5kaWYgLyogSEFWRV9TRVRSTElNSVQgYW5kIFJM SU1JVF9TVEFDSyBhbmQgbm90IENZR1dJTiAqLwogCisvKiBFTkQgRklYTUU6ICMyNzU3MTsgMTEv MTkvMjAxNjsgYzYxZWU5NDk1OWJhOTZiMmEzMjdkZjA2ODQ1OTNmN2U1NjllMzBiZSAqLworLyog KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqICovCisKKwogICBjbGVhcmVycl91bmxvY2tlZCAoc3RkaW4pOwog CiAgIGVtYWNzX2JhY2t0cmFjZSAoLTEpOwo= --Multipart_Mon_Jan__8_17:38:38_2018-1--