From debbugs-submit-bounces@debbugs.gnu.org Sun Mar 17 14:03:54 2024 Received: (at submit) by debbugs.gnu.org; 17 Mar 2024 18:03:55 +0000 Received: from localhost ([127.0.0.1]:33092 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rlurS-0008Bh-CZ for submit@debbugs.gnu.org; Sun, 17 Mar 2024 14:03:54 -0400 Received: from lists.gnu.org ([209.51.188.17]:57372) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rlurQ-0008BU-DL for submit@debbugs.gnu.org; Sun, 17 Mar 2024 14:03:53 -0400 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 1rluqn-0007zI-Uy for bug-gnu-emacs@gnu.org; Sun, 17 Mar 2024 14:03:14 -0400 Received: from s.wrqvtbkv.outbound-mail.sendgrid.net ([149.72.123.24]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1rluqm-0001v3-5y for bug-gnu-emacs@gnu.org; Sun, 17 Mar 2024 14:03:13 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=catern.com; h=from:subject:mime-version:to:content-type:content-transfer-encoding: cc:content-type:from:subject:to; s=s1; bh=Fa0q26RKAG7y01vTTp+bpJJlTmLOfW9wWotru3ySAY8=; b=mnb1JwSeMx3m9dmIzl+k8onOHBHY7R+NHpOskp8BrVW+ziCx8H2wHTmCuMbaZ+B6LQb/ ntlny6TudJtddgoC1ufP9WomzQ2bZeIUAxwyHaOU0725N+Ib3JXDM+Zjg9moPoF5Eqt3Qd UHyKYYzsn2iLyrbm1YPC1RPoTKnR+bBNabaCKtxq923Sj3y3D9sIkr2CW1Xi8Boj2E8FYr 1dFd/6zDpVCXPn8af3Rt3vyswY2w943C7PmnA3ZZlLIZv/83RzT8H+JXBvjGHFSlsL8DyC CkHFJsK+gmP1Am6mZVzV2+WkQvLu4nBNE3CSmcfe1PBlLfIGI+ySPKWTYK+JNx/Q== Received: by recvd-c464bfb6d-lvtz6 with SMTP id recvd-c464bfb6d-lvtz6-1-65F7305D-37 2024-03-17 18:03:09.987160261 +0000 UTC m=+1541648.965972497 Received: from earth.catern.com (unknown) by geopod-ismtpd-32 (SG) with ESMTP id U1kdLlM0Qr6omr2gx9Dr2Q for ; Sun, 17 Mar 2024 18:03:09.815 +0000 (UTC) X-Comment: SPF check N/A for local connections - client-ip=127.0.0.1; helo=localhost; envelope-from=sbaugh@earth.mail-host-address-is-not-set; receiver=gnu.org Received: from localhost (localhost [127.0.0.1]) by earth.catern.com (Postfix) with ESMTPSA id 748746251F for ; Sun, 17 Mar 2024 14:03:09 -0400 (EDT) From: sbaugh@catern.com Subject: 30.0.50; elisp-flymake-byte-compile hangs forever if buffer contains circular list X-Debbugs-Cc: Date: Sun, 17 Mar 2024 18:03:10 +0000 (UTC) Message-ID: <87frwosplu.fsf@earth.mail-host-address-is-not-set> MIME-Version: 1.0 X-SG-EID: =?us-ascii?Q?u001=2Ev6RTqHFpv1T6krEot6UFAVAJmQ+4h1t8=2FTfqqE2B07NNV5uKEB55tiEvU?= =?us-ascii?Q?p0wVc6CwwKlZi7z2ImjgGXJO1mvP5CFR0rXJ8nN?= =?us-ascii?Q?wZx=2FdY4bZXYMvTfUp64s01VP0TtduvgmtcGfj=2F1?= =?us-ascii?Q?i3n8SIw+6oX1Yx1c6e4fG01TMtVDSlPvRbmMZJd?= =?us-ascii?Q?5HG0dCIivmOzwlmLJgZ2Lrbnp82=2FN2fCbm5QmO0?= =?us-ascii?Q?Q=3D=3D?= To: bug-gnu-emacs@gnu.org X-Entity-ID: u001.oW4JupFKOzCccZAQN2OOFQ== Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Received-SPF: pass client-ip=149.72.123.24; envelope-from=bounces+21787432-3678-bug-gnu-emacs=gnu.org@em8926.catern.com; helo=s.wrqvtbkv.outbound-mail.sendgrid.net 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, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, UNPARSEABLE_RELAY=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.3 (-) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) 1. emacs -Q 2. In *scratch*, M-x flymake-mode 3. In *scratch*, insert this text: #1=(1 . #1#) 4. M-x proced 5. Observe that there's a Emacs subprocess at 100% CPU which will never finish The subprocess is running byte-compile-file, which when it sees a circular list, runs forever at 100% CPU. In turn this is because macroexpand-all has that behavior when passed a circular list, e.g. (macroexpand-all '#1=(1 . #1#)) I'm not sure how this could be fixed, maybe elisp-flymake-byte-compile could have a timeout on its subprocess? Or maybe byte-compile-file could invoke read in such a way that it errors if it reads an infinite structure? Or maybe macroexpand-all should detect infinite structures and abort? In GNU Emacs 30.0.50 (build 3, x86_64-pc-linux-gnu, X toolkit, cairo version 1.16.0, Xaw3d scroll bars) of 2024-03-17 built on earth Repository revision: 39239982403f01a37d42d1cd8db0b2ed0b48b50c Repository branch: HEAD Windowing system distributor 'The X.Org Foundation', version 11.0.12101007 System Description: Debian GNU/Linux 12 (bookworm) Configured using: 'configure -C --with-x-toolkit=lucid' Configured features: ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG JSON LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 M17N_FLT MODULES NATIVE_COMP NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER WEBP X11 XAW3D XDBE XIM XINPUT2 XPM LUCID ZLIB Important settings: value of $LANG: en_US.UTF-8 locale-coding-system: utf-8-unix Major mode: Lisp Interaction Minor modes in effect: tooltip-mode: t global-eldoc-mode: t eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t tool-bar-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t minibuffer-regexp-mode: t line-number-mode: t indent-tabs-mode: t transient-mark-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t Load-path shadows: None found. Features: (shadow sort mail-extr pp flymake project comp-run emacsbug message mailcap yank-media puny dired dired-loaddefs rfc822 mml mml-sec password-cache epa derived epg rfc6068 epg-config gnus-util mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils cl-print debug backtrace cus-start cus-load find-func time-date subr-x cl-extra shortdoc comp-common rx help-fns radix-tree help-mode warnings icons compile text-property-search comint ansi-osc ansi-color ring vc-git diff-mode easy-mmode vc-dispatcher cl-loaddefs cl-lib bug-reference byte-opt gv bytecomp byte-compile thingatpt rmc iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/x-win x-win term/common-win x-dnd touch-screen tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors frame minibuffer nadvice seq simple cl-generic indonesian philippine cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite emoji-zwj charscript charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget keymap hashtable-print-readable backquote threads dbusbind inotify lcms2 dynamic-setting system-font-setting font-render-setting cairo x-toolkit xinput2 x multi-tty move-toolbar make-network-process native-compile emacs) Memory information: ((conses 16 136447 45220) (symbols 48 9286 0) (strings 32 35565 2968) (string-bytes 1 984707) (vectors 16 20041) (vector-slots 8 229862 11860) (floats 8 104 356) (intervals 56 1154 69) (buffers 984 22))