From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: =?UTF-8?Q?=D0=9F=D0=B5=D1=82=D1=80=D0=BE=D0=B2_?= =?UTF-8?Q?=D0=90=D0=BD=D0=B4=D1=80=D0=B5=D0=B9?= Newsgroups: gmane.emacs.bugs Subject: bug#52479: 27.2; EDebugging stops when breakpoint condition can not be printed Date: Tue, 14 Dec 2021 13:03:51 +0000 Message-ID: <62d5f9445730439e9d6b765f3d181c78@pay-lab.ru> Mime-Version: 1.0 Content-Type: text/plain; charset="windows-1251" Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="33192"; mail-complaints-to="usenet@ciao.gmane.io" To: 52479@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Tue Dec 14 14:08:30 2021 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 1mx7Xi-0008Sq-BS for geb-bug-gnu-emacs@m.gmane-mx.org; Tue, 14 Dec 2021 14:08:30 +0100 Original-Received: from localhost ([::1]:52190 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mx7Xg-0002vY-Hp for geb-bug-gnu-emacs@m.gmane-mx.org; Tue, 14 Dec 2021 08:08:28 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:48010) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mx7UN-0007IY-8f for bug-gnu-emacs@gnu.org; Tue, 14 Dec 2021 08:05:05 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]:46257) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mx7UL-0008Co-UK for bug-gnu-emacs@gnu.org; Tue, 14 Dec 2021 08:05:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1mx7UL-0001ri-Pq for bug-gnu-emacs@gnu.org; Tue, 14 Dec 2021 08:05:01 -0500 X-Loop: help-debbugs@gnu.org Resent-From: =?UTF-8?Q?=D0=9F=D0=B5=D1=82=D1=80=D0=BE=D0=B2_?= =?UTF-8?Q?=D0=90=D0=BD=D0=B4=D1=80=D0=B5=D0=B9?= Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 14 Dec 2021 13:05:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 52479 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.16394870447087 (code B ref -1); Tue, 14 Dec 2021 13:05:01 +0000 Original-Received: (at submit) by debbugs.gnu.org; 14 Dec 2021 13:04:04 +0000 Original-Received: from localhost ([127.0.0.1]:57799 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mx7TP-0001qF-Vs for submit@debbugs.gnu.org; Tue, 14 Dec 2021 08:04:04 -0500 Original-Received: from lists.gnu.org ([209.51.188.17]:47002) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mx7TO-0001q8-SX for submit@debbugs.gnu.org; Tue, 14 Dec 2021 08:04:03 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:47844) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mx7TO-0006cc-OO for bug-gnu-emacs@gnu.org; Tue, 14 Dec 2021 08:04:02 -0500 Original-Received: from mail2.itgrp.ru ([87.251.91.230]:3168) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mx7TL-00084p-7A for bug-gnu-emacs@gnu.org; Tue, 14 Dec 2021 08:04:02 -0500 IronPort-SDR: lB/ZTZ6QwzlLjW9gVByCwQwP33kKVX9w3y1etb6Uz8PBxToR8+sGSjD/I24wNRKLHFO8rc7L2V kFV7DnARoT6Q== X-IronPort-AV: E=Sophos;i="5.88,205,1635195600"; d="scan'208";a="153327850" Thread-Topic: 27.2; EDebugging stops when breakpoint condition can not be printed Thread-Index: AQHX8OdEDAdPpLnarEe/vOdhZHpiNg== Accept-Language: ru-RU, en-US Content-Language: ru-RU x-originating-ip: [192.168.88.210] Received-SPF: none client-ip=87.251.91.230; envelope-from=prvs=975ee7509=an.petrov@pay-lab.ru; helo=mail2.itgrp.ru X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_NONE=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" Xref: news.gmane.io gmane.emacs.bugs:222366 Archived-At: Hello, team! The following code can reproduce the bug: (require 'cl-lib) (require 'eieio) (defclass my-field () ((from-types :initform nil) (type :initform nil))) (defun test () "Demonstrates edebug condition printing bug. 1. evaluate the buffer 2. instrument `test' function for debugging 3. add conditional breakpoint inside lambda below (see comment) M-x edebug-set-conditional-breakpoint [RET] root [RET] 4. Start the function for debugging M-x (test) 5. Continue to the breakpoint c Now error: \"Apparently circular structure being printed\" is printed and no further debugging is possible. " (let* ((root (my-field)) (tmp root)) (dotimes (i 100) (let ((a (my-field))) (push a (oref tmp type)) (push tmp (oref a from-types)) (setf tmp a))) (push root (oref tmp type)) =20 (cl-remove root '(1 2 3 4) :test (lambda (a b) ;; <-- put cursor here a= nd set ;; conditional breakpoint with condition: root (=3D (length (oref a from-types))) b)) (cl-remove root '(1 2 3 4) :test (lambda (a b) (=3D (length (oref a fro= m-types))) b)) (cl-remove root '(1 2 3 4) :test (lambda (a b) (=3D (length (oref a fro= m-types))) b)) "Finished" )) It hard for me to get backtraces on the example but on other (complicated) code I got the following using recursive edit: Debugger entered--Lisp error: (error "Apparently circular structure being p= rinted") apply(debug error (error "Apparently circular structure being printed")) edebug(error (error "Apparently circular structure being printed")) signal(error ("Apparently circular structure being printed")) edebug-signal(error ("Apparently circular structure being printed")) message("Break: %s =3D> %s" filtered (#)) edebug--display-1(nil 0 before) edebug--display(nil 0 before) edebug-debugger(0 before nil) edebug-before(0) (edebug-after (edebug-before 0) 11 (find-inpas-paths (edebug-after 0 1 pa= rent) (edebug-after 0 2 stop-id) (edebug-after (edebug-before 3) 10 (if (ed= ebug-after 0 4 filtered) (edebug-after (edebug-before 5) 8 (cl-remove (edeb= ug-after 0 6 parent) (edebug-after 0 7 context) :count 1 :test (lambda (a b= ) (edebug-enter ... ... ...)))) (edebug-after 0 9 context))))) (lambda nil (edebug-after (edebug-before 0) 11 (find-inpas-paths (edebug-= after 0 1 parent) (edebug-after 0 2 stop-id) (edebug-after (edebug-before 3= ) 10 (if (edebug-after 0 4 filtered) (edebug-after (edebug-before 5) 8 (cl-= remove (edebug-after 0 6 parent) (edebug-after 0 7 context) :count 1 :test = (lambda ... ...))) (edebug-after 0 9 context))))))() edebug-default-enter(edebug-anon17 (#) (lambda = nil (edebug-after (edebug-before 0) 11 (find-inpas-paths (edebug-after 0 1 = parent) (edebug-after 0 2 stop-id) (edebug-after (edebug-before 3) 10 (if (= edebug-after 0 4 filtered) (edebug-after (edebug-before 5) 8 (cl-remove ...= ... :count 1 :test ...)) (edebug-after 0 9 context))))))) edebug-enter(edebug-anon17 (#) (lambda nil (ede= bug-after (edebug-before 0) 11 (find-inpas-paths (edebug-after 0 1 parent) = (edebug-after 0 2 stop-id) (edebug-after (edebug-before 3) 10 (if (edebug-a= fter 0 4 filtered) (edebug-after (edebug-before 5) 8 (cl-remove ... ... :co= unt 1 :test ...)) (edebug-after 0 9 context))))))) (lambda (parent) (edebug-enter 'edebug-anon17 (list parent) #'(lambda nil= (edebug-after (edebug-before 0) 11 (find-inpas-paths (edebug-after 0 1 par= ent) (edebug-after 0 2 stop-id) (edebug-after ... 10 ...))))))(#) mapcan((lambda (parent) (edebug-enter 'edebug-anon17 (list parent) #'(lam= bda nil (edebug-after (edebug-before 0) 11 (find-inpas-paths (edebug-after = 0 1 parent) (edebug-after 0 2 stop-id) (edebug-after ... 10 ...)))))) (#)) P.S. I could not copy the text from emacs with C-c M-i according to hint: While in the mail buffer: Type C-c C-c to send the bug report. Type C-x k RET to cancel (don=92t send it). Type C-c M-i to copy text to your preferred mail program. <---- Andrey Petrov.