From unknown Wed Jun 18 23:11:13 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#65193 <65193@debbugs.gnu.org> To: bug#65193 <65193@debbugs.gnu.org> Subject: Status: 29.1.50; SET_FRAME_ICONIFIED can cause Lisp evaluation inside read_socket_hook. Reply-To: bug#65193 <65193@debbugs.gnu.org> Date: Thu, 19 Jun 2025 06:11:13 +0000 retitle 65193 29.1.50; SET_FRAME_ICONIFIED can cause Lisp evaluation inside= read_socket_hook. reassign 65193 emacs submitter 65193 YAMAMOTO Mitsuharu severity 65193 normal thanks From debbugs-submit-bounces@debbugs.gnu.org Thu Aug 10 03:41:31 2023 Received: (at submit) by debbugs.gnu.org; 10 Aug 2023 07:41:31 +0000 Received: from localhost ([127.0.0.1]:41225 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qU0IV-0003Zs-4f for submit@debbugs.gnu.org; Thu, 10 Aug 2023 03:41:31 -0400 Received: from lists.gnu.org ([2001:470:142::17]:40534) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qU0IT-0003Zf-11 for submit@debbugs.gnu.org; Thu, 10 Aug 2023 03:41:29 -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 1qU0IN-0004zO-Bw for bug-gnu-emacs@gnu.org; Thu, 10 Aug 2023 03:41:23 -0400 Received: from mathmail.math.s.chiba-u.ac.jp ([133.82.132.2]) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qU0IL-0003Hz-DV for bug-gnu-emacs@gnu.org; Thu, 10 Aug 2023 03:41:23 -0400 Received: from mathent.math.s.chiba-u.ac.jp (mathent [192.168.32.5]) by mathmail.math.s.chiba-u.ac.jp (Postfix) with ESMTP id C9AE5F08EE for ; Thu, 10 Aug 2023 16:41:16 +0900 (JST) (envelope-from mituharu@math.s.chiba-u.ac.jp) Date: Thu, 10 Aug 2023 16:41:16 +0900 Message-ID: From: YAMAMOTO Mitsuharu To: bug-gnu-emacs@gnu.org Subject: 29.1.50; SET_FRAME_ICONIFIED can cause Lisp evaluation inside read_socket_hook. User-Agent: Wanderlust/2.15.9 (Almost Unreal) SEMI-EPG/1.14.7 (Harue) FLIM-LB/1.14.9 (=?ISO-8859-4?Q?Goj=F2?=) APEL-LB/10.8 EasyPG/1.0.0 Emacs/29.1 (x86_64-pc-linux-gnu) MULE/6.0 (HANACHIRUSATO) Organization: Faculty of Science, Chiba University MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Content-Type: text/plain; charset=US-ASCII Received-SPF: pass client-ip=133.82.132.2; envelope-from=mituharu@math.s.chiba-u.ac.jp; helo=mathmail.math.s.chiba-u.ac.jp 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_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 1.0 (+) 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: -0.0 (/) SET_FRAME_ICONIFIED has a call to gui_consider_frame_title and it can cause Lisp evaluation if icon-title-format or frame-title-format contains (:eval FORM). This is problematic because SET_FRAME_ICONIFIED can be called inside read_socket_hook. The call to gui_consider_frame_title was introduced by the following change: commit e99f41f03a97641ee05ba4a27f8b91c190f55df1 Author: Po Lu Date: Thu Jun 9 21:48:19 2022 +0800 Fix recalculation of `icon-title-format' after a frame is iconified Previously it would only happen upon the next mode line redisplay, meaning that just pressing C-z would not update the implicit title, since C-z doesn't cause a redisplay. * src/dispextern.h: Update prototypes. * src/frame.h (SET_FRAME_ICONIFIED): De-slugify. Call `gui_consider_frame_title', since `icon-title-format' might be different from the current frame title. * src/xdisp.c (gui_consider_frame_title): Export (also in dispextern.h). (bug#55850) YAMAMOTO Mitsuharu mituharu@math.s.chiba-u.ac.jp From debbugs-submit-bounces@debbugs.gnu.org Thu Aug 10 04:26:16 2023 Received: (at 65193) by debbugs.gnu.org; 10 Aug 2023 08:26:16 +0000 Received: from localhost ([127.0.0.1]:41306 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qU0zn-0004nO-SF for submit@debbugs.gnu.org; Thu, 10 Aug 2023 04:26:16 -0400 Received: from sonic316-22.consmr.mail.ne1.yahoo.com ([66.163.187.148]:46612) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qU0zm-0004nC-5Y for 65193@debbugs.gnu.org; Thu, 10 Aug 2023 04:26:14 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1691655968; bh=8w1naDVwDeokiW0rkiL8hHdsz2K21vBEDfo1VClZi+Q=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From:Subject:Reply-To; b=ALgm9+360uJV+dEqNT++R9wL29ess0PEjZQeC5a3dzxODBVYMW3ZuAKWf6+wJT2FYZEr7I+Dr2jeGzmRB11DHg3w7HaE5a04ru6m3OX5DQVO1umLU9miL5ZwjvcOFHjFPfHtjTtL1CIGW4MOQcFBOcNe2qQu3ajVLxFlPBB/cIpG3AjHsuEQtFsYtatl5Jy2yzHpZb3vYYHaTTZE2bq9+WLsE28hqg19OOP631OkapewkjI0v5Uq3ocBB9OP0ERi+lmRkPgD+xMQ4vyP4+SaexQ0VK+uu3cNtncSPECzCy9jsYCHaRDCDgc6ZxPAi+Ej5zoqwl1YRr/woMm3H1J3oA== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1691655968; bh=ya2b7keJB/cpFB+nYAKFyqLOtjQhvF/V1INhWaNxXPm=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=bCcqaXeYeW0y9KJxJ5qoLmEnFzTUE+rGfOITYwTxVCJyZ5BIcqgNN5I0kjYLvHm05Wn4V0DG5mCSgoePi8IpvfYNzkGzWrIxiY/FmD9LiylIqxN0IKff/wixsMIS76N6iqyh7cOMjCQFXwGscb6qJaFCEbTS4meKvAcI3A1DxusGLe2NF3RKZjVDwq3IAGqWW6fSTz14/9TRghq25VH1P42XQa2USKj19h97EDbwUmPIM0xmRCzL+MGj6qx3/Cmzpl9M+3MWTKF1i66rKjlSPS2OqKNUOfv5yLg7PJoAUTgEoy10tNiWAvWaotJK573hD4KxgqWcn1ElQY9Koi8DRw== X-YMail-OSG: ChfFUqUVM1nRJPPgGir_QQVdw2hBRl9CPh4wL7RNOfOFg_6IuBREZNIPifMDo_p g4VzCr5fHxoxmb2HvNUbUc8cwKlAtUQ9V_K3H9UhvaBYP71BR03.etu781SDnYTDdTuFmrtopzsx ZFPTMBfWjr0VI0.i1jar1VJs7S709IVENF3CX2obmEzbTQT3WsoGiFbdTDId5R6gO6G3Y.frPYqS 4zHZZZYY9zM105c_yPGcYjt8tgITVqt2niRWMGTyOUVUUdr8zxNgUrgV3kNsHKFvAU.MVwAxoLUP 08.jeTc0yGD7Z7J.I3iPZ8B_FBcdT_uVz2eTbbE7z3P2K5qeDqrvhEvJXc9JvGfHJtgb.SJUXadA MEtPACUtd3HGhntKM23X7xsKkSOXpQnoJQBzwg6VsclSBcNLtDbdfzcXxPXM99_ZqTq_syIztFvM VuMgjzizknLGSmTCMw57nKZy5yzNaUoyczJLPcnWb.XqqwDrWBCkilnf99dmJMvB986Q9WqS4Pia b9RscG8PRVexLBqSn82Q9aYYS.sKnD68m27zOr3WNlfmZ0Pvtg6kwC3n0SajbU7vNGRyouUIh.O1 NEZDQ1pAnVAPtzkcRpnnA0J.u2nEu.V2cFyHBMkvRJNX.tsh62QrxzuwIEYOf6paLtBH6hhX2oZ6 7aYhglgjTOQSbla3RrRjIQs9N7Lpuihto9AllqsoD50bozyBCek5EfugGD2RAm5EhX2BeXMZuXEP NthuCaWNjo9JWtCt4TUsf3b5TbfPn_vG5Er66C8POf.d.wiaWSNX09e3ah.0.5_bH3Qh6jblENSO B5F2KNO_Chip858MCXICUzvB3DLafBS5c4YvVsL99SuV5Is5r0qNo2a79kazZ6k2T7VRKEg3OvaC C6A67cxQQ.6zp0Ss6Dcy4LJmjhNWDjyCMqhk5854MAcxKEKijHbDBwgkBGFED.2shr6h9Pw9g.jR AIpxEMWWGgD1qE45WM4cW19Y1UW8sDTAKbe.tjBG.TLRF2l5NUH6wAaVGsAM3D8N7pG9KmlNMx8T UvfNuL7AewWKfF9GifPV6ywu7.wUmsOVpRAlgSz0ltFIcjo3s5ZjE.pxDN.pEEANsQscDPUKfIAu u7t1o5oPCrEFCd7ccjpLLPd1z5pg7GjOOnkd3coafgUEXe3Ji7Jq7FcTAkJ8lFdB2.I2kA.7k02H moufho8eCmRsU.VlAykyjZu.bAj14Wkn449TmlCt2wMIR8JKx721w_TsZMCh6otlhWnNMv6tI2qN pCJQGSeAeyA_7hmOank3nBoP2d1Rb8UZ6Ddwve_xjQ6sIRShMr2YlFkkrKgYEfS1rVvqWqGK.C_p GAUjUiRREhb0ubw0NWE53kEwoUWSGMckt2_jfRp78Dbv68iKKeul_Q9T54fiIJT6j6ITJlgbEUJU XkonBC2WYGGLuCqvL5c2PlAOPALcehYaq1lMfQ_IXIFxKfD3tgwir96Qnowe2VUaPv1bDWz5IP.A b.AP38Io87f6J0y4k1i14gpnSGrF0IhjeyXic._vx6AGpu_D_6gH9OMYzn6H5juosgTF1QamG_VW 8dvhlZKoqJPms.hgLKWJB.yJN4M6YSg08ATN6ff_s1qOvBW1_xGCnI62fQdHX1OFps1N5MKN_9J2 N_tBNVNy0w0nmOz5WsI2tu6y4SRZ5GZ2q5jgpSUYsUK14IQEFoLHOLo2gvGcGqHnEd.L2fHFg31H q7bH_PPOirXYHkLzscPIvOzASB6F9GQhUm1tQRuD7e8M1ekd1brw8VwbpHwYMq9WQFkrBNCiZFRd yIbgUaO9DOs0gIxSTK2WB_tK_matTl5lhGUdbGD5HELqFuZWR78ZdE.mGzyiar9FPLUclv6ChwvP 1ABv02AsbJsxuIX4vh2RKBfJt1Hk7g2foOJMpJ.hsGp1BoTJ1ow_NQFjWCFVsfj3rbESCFrh0.dM QDzvp8ciGms1rCdnp_C7rBLBL.wYa5BGtunja8yq9dza7zMQGIQ9Vxgd7hFBTzBXcXK3guPuOpst ZhGFmVTTxeWuBiHbphNxGg43NzjkMJtV.fI.1DWS8G6c46IXeA4X3hKtTD4g2Kq8FFnWGpZYzExB BG7tQEI9SBdteePB7HNH1PLbj_JqnJ1QVqLD.3SSrpgjN9IHzOJ2U.04ZtQiK1MujQyIxosCrkQl GOGh7usvCqky4j2GCge9G_wBNLMYmTeW5Xy4abrqKJHEyLALyDatKpJPN7P.tYufzSETrabn7_un hD2n2Lwg5jJMXv51CVe3C.puzmvRpqpBl79eIu9p3FtPtYxwXoJ9UvfCPApBWI.QYOPwmC64- X-Sonic-MF: X-Sonic-ID: 9e8f9d4c-4c60-4f50-a187-12e63bdc8a3f Received: from sonic.gate.mail.ne1.yahoo.com by sonic316.consmr.mail.ne1.yahoo.com with HTTP; Thu, 10 Aug 2023 08:26:08 +0000 Received: by hermes--production-sg3-69654d8bd-752gm (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 919a03edb6a322890c7ef7fb7b8ced11; Thu, 10 Aug 2023 08:26:05 +0000 (UTC) From: Po Lu To: YAMAMOTO Mitsuharu Subject: Re: bug#65193: 29.1.50; SET_FRAME_ICONIFIED can cause Lisp evaluation inside read_socket_hook. In-Reply-To: (YAMAMOTO Mitsuharu's message of "Thu, 10 Aug 2023 16:41:16 +0900") References: Date: Thu, 10 Aug 2023 16:26:00 +0800 Message-ID: <87pm3vs3qf.fsf@yahoo.com> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Mailer: WebService/1.1.21695 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo Content-Length: 649 X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 65193 Cc: 65193@debbugs.gnu.org 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: -1.0 (-) YAMAMOTO Mitsuharu writes: > SET_FRAME_ICONIFIED has a call to gui_consider_frame_title and it can > cause Lisp evaluation if icon-title-format or frame-title-format > contains (:eval FORM). This is problematic because > SET_FRAME_ICONIFIED can be called inside read_socket_hook. > > The call to gui_consider_frame_title was introduced by the following > change: What practical problems have resulted from this change? There are already several situations under which Lisp can be called inside read_socket_hook. And in principle, anything that performs GC can in turn call finalizers that subsequently run Lisp. From debbugs-submit-bounces@debbugs.gnu.org Thu Aug 10 05:21:30 2023 Received: (at 65193) by debbugs.gnu.org; 10 Aug 2023 09:21:30 +0000 Received: from localhost ([127.0.0.1]:41392 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qU1rG-0006LA-2D for submit@debbugs.gnu.org; Thu, 10 Aug 2023 05:21:30 -0400 Received: from mathmail.math.s.chiba-u.ac.jp ([133.82.132.2]:57782) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qU1rE-0006Ky-22 for 65193@debbugs.gnu.org; Thu, 10 Aug 2023 05:21:28 -0400 Received: from mathent.math.s.chiba-u.ac.jp (mathent [192.168.32.5]) by mathmail.math.s.chiba-u.ac.jp (Postfix) with ESMTP id 16DFDF08F8; Thu, 10 Aug 2023 18:21:26 +0900 (JST) (envelope-from mituharu@math.s.chiba-u.ac.jp) Date: Thu, 10 Aug 2023 18:21:26 +0900 Message-ID: From: YAMAMOTO Mitsuharu To: Po Lu Subject: Re: bug#65193: 29.1.50; SET_FRAME_ICONIFIED can cause Lisp evaluation inside read_socket_hook. In-Reply-To: <87pm3vs3qf.fsf@yahoo.com> References: <87pm3vs3qf.fsf@yahoo.com> User-Agent: Wanderlust/2.15.9 (Almost Unreal) SEMI-EPG/1.14.7 (Harue) FLIM-LB/1.14.9 (=?ISO-8859-4?Q?Goj=F2?=) APEL-LB/10.8 EasyPG/1.0.0 Emacs/29.1 (x86_64-pc-linux-gnu) MULE/6.0 (HANACHIRUSATO) Organization: Faculty of Science, Chiba University MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Content-Type: text/plain; charset=US-ASCII X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 65193 Cc: 65193@debbugs.gnu.org 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: -1.0 (-) On Thu, 10 Aug 2023 17:26:00 +0900, Po Lu wrote: > > YAMAMOTO Mitsuharu writes: > > > SET_FRAME_ICONIFIED has a call to gui_consider_frame_title and it can > > cause Lisp evaluation if icon-title-format or frame-title-format > > contains (:eval FORM). This is problematic because > > SET_FRAME_ICONIFIED can be called inside read_socket_hook. > > > > The call to gui_consider_frame_title was introduced by the following > > change: > > What practical problems have resulted from this change? To my understanding, the Lisp evaluator is not reentrant, and thus Lisp evaluation inside read_socket_hook, which can be called from fairly arbitrary places via unblock_input/maybe_quit, causes hard-to-reproduce, spontaneous crashes. > There are already several situations under which Lisp can be called > inside read_socket_hook. That's really surprising. I've once heard we shouldn't do that. Is that changed? > And in principle, anything that performs GC can in turn call > finalizers that subsequently run Lisp. My understanding is that GC can only be triggered by eval_sub or Ffuncall calls (except explicit garbage_collect calls), but not by Lisp object allocations, for example. Avoiding Lisp evaluation inside read_socket_hook also means avoiding GC inside read_socket_hook. YAMAMOTO Mitsuharu mituharu@math.s.chiba-u.ac.jp From debbugs-submit-bounces@debbugs.gnu.org Thu Aug 10 09:03:50 2023 Received: (at 65193) by debbugs.gnu.org; 10 Aug 2023 13:03:50 +0000 Received: from localhost ([127.0.0.1]:41671 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qU5KQ-0000pa-7K for submit@debbugs.gnu.org; Thu, 10 Aug 2023 09:03:50 -0400 Received: from sonic313-56.consmr.mail.ne1.yahoo.com ([66.163.185.31]:35571) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qU5KM-0000pL-Vk for 65193@debbugs.gnu.org; Thu, 10 Aug 2023 09:03:48 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1691672621; bh=PG9urr07TalLtztmzeJh8BlXFuf4bwhzB4y/5dw3v9g=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From:Subject:Reply-To; b=Amz25MDEbAvAxBmSoNe6Y+yBdHsETPXf54yW5GSZf5nnxRq6XB1eyAJm0lTxi3SX5QO7AYnf1jZZJFbByA1GSJPSg/je8WyO6l5UuLW8cl7NVmZAsAGuJCGqH6+nOCVHw/TzdUS97Z64QXkQenmDhWZK+FWMOWbux7v+M9KiTaLIWiKCc7l+URQ5vaZI9cemShBCf+7Z40YdiZ4DL2W4W7ELVWHdh0zTMiNv7V/XNd95mr/QbrSe+1CO5ODV2fpDGa/lUEYcwW3qMOu8nqfUF2KBimu8E+Bp4yuo/MeL5fDOuKmKFe/IlrcLcO5HwVBz9uPVtTRA90THNjuvlJXCtw== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1691672621; bh=KzFoPVcxDffkliGNc0L/o1ZlZuS2Vh2mhqmlfYyRiOz=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=tFDclWf6Ia0ZtH4OYpC7ebV/ct4saf7MQcfKNl1iDbI7NpkBk3XxshLSKv/SwCPOzX6EQnROEXR5y8WTwMV/mW4o1POK5RxkV3IANLdCStN/LvPzQURc3HYPfjTR4apuyxttFpHyk9v4o1pWNPAVUrueGFivR4cEYMmlckYWA0WQzHsBWZnCaGvRawRzdcbj4nInXScH7CyzJxmSH/3vTRal2mfE7gkWSAUrQQDN+fIiNACYF+0Xw6T/TFXsIOutb0HTy1Cit8HWuh/TySoMFdZ9BD6elZxfWZJH7hRvLjcMl4KDHhwm6kKe/qAVAuJLyNB1ER4AO2Tue3B3Xkx/9A== X-YMail-OSG: hZCwV2UVM1kPLdArFMZRkK1iwW.SmaWaQmGLqm7Q_MNKxAWGn1VS1mJzHrM1KMF T2y2JynIVJDOocW5gtXBuTaBwHMIKJMvMqvAjKXYNnl64Kvoy_ppbj.5Cj0T6EDveOXm5VAXyYGu oj15uS2lidBJaUdyLPiFNA2RMKCQgjctiYMPmAZKsDA8vwMkqzfNpS1NB6M0Q6bbNYJZ.vmFiyhe F_s3wrsOkSBQz7A7YgiE_mMfmIGmRLy5joqSPqBIPogLRuwbFkBXhnXWQd.e6ZdhM_p9xtYkFex8 L_vu4eXWVJtzK5IDEJitMmkABM5tQ92ASxxUmo.MswS4dcjqzepnkqrPlLdFeCApB262ZrDotmSJ jRkqVSJZ0tZ9dWslJqCl7sTtnOq.okS3y6ay5efLGww.begVG.GoMxB8NY06WgxAPq2SIY8moXaM 1Dvu7bm5e9jEHskOnh65bS77lb_Vvbd48.fVHlBamv4ZongfRck_RDslbnSSyno_W08N1WO15NDI pc6g61kRVaOEusf2nS0OmDrXkT24mI47UR8B1.F7SARgCNfn7WGjjVCAJSe_8IfzOBp__IZ69uqU xmvgXi7wTXn.CVqaDriyWDx1s61NcD99Hrr70MY3TCkBPPmo3ZKPN_LnTbyhQZr1vvJtPyX536KU 3ClwQqkThb5oD_tkdFkz8rt0UadiGp_2faTxJ43Npn8gaMWvSdALdxuVmOBhRzf_.1RRvn28ELqY owsPfpksaJmNjCAc0zr4ZWHwkrDqMOJswzkcrFx1yg6iJ4PW4aqVjWMqBKzJzWsvUWRFrn5nsjpU fgGzpsbBd1B.x_PJBxEANVgQNrnWFPsJBRX20HWi0AeoOsGhM9oMBPmU.6m5RM139QnQ_UFxt64L xLxCoJV4z6xp4HFwJGplaw0jN62DQJ5ed8CZ87t9i7fvFx5emtFZnx.o4NCzpsDIBGZKxxNLH4JW FLfEorczmYjTuqk8h78A_rnlM3nrKx2et1d3lmrEFFPC0a2UWUxPK.VX4bjI8RAKTE.k0SmquwIE cPKKDokBSTwquZ5QiReNpihNFp4J6Aju_ozsW.eAR_iSRN0ZpICyY4FA3BpsUKAaWN_uqyp0eQWY 7ODcYUpPfJ_rLOL2s3WTE4HeHfyfFCyUHeqFHO4ITuhtXY.SZWrXSGaX6.lI78hO0Fvjb6JFUZx3 molsJZnySiB88A_o2JpxKsvUbmrpzyoJlau7YQQ2t.QsSs5sTyqkm_A3793Q0d3RstDVa4h6qACg GcKkWw4Capw24pATOCAbPtWUCuLOllhn7skwffLojTwrkJ.tOPIVAlxePGXXc7Btwd2VTmR6.k_g EOpsndtKU1dAiqx5DYY.QvbcyzB2cRYr9wHHs_ke7V2MLgw9ukzC2CUkYyPrV64kyc6U1Cz.qHQL 0Q5y8QGpC_37jyb.Ij0jvpLxb9XDdwpuNDoleTQtC6vX6ZDV8rawTIuJuFa2MwQVRSr5eaP5I2XP vR2InSSiJ6r7EgxQTT_zTq1B5rjCVWTYoOj.Jydnfl9bpqmZ2m84NAwg9Ef_J6O48U6nVrS0GdMG 9HqIKODLhutylVj.uLAKKS3ykN1CWuRQ6Z6kjE8D8ISVfaTtuCcv_x4aQzYfJEZm53eGbOuNvIF. agY4jCUOPqBnN1rKoHVNFjdPQmjioHA0QFQcxWJX4.q83RzUHg4OzTwlfX8H8XpXM8xnSiEZwdvA jwqmaHPcyOFeTusFWOVuLspcLqikZxCwY.24gm.XhIxoFxVluwPxVeblBpTcs7PLym6BzcTjzLJM ufwufqBAuMOf8RP_74nLSwS1DHCCmW76LoN5BZhQnso4wb56uTn8CYaPGV2l5icS1BnvDcTVVMlY ZAPWcCdrrH1v7tu5u4xa3hSIIi9Sk7cO6RKQUGmJtWa65qm9RXs.jwmIoNVcomgpjHMqs4g94TjY bmTbF6MMcHqDWL6znjlZOSKTGGopItglvVpzkOnAzL70CBkBRdknZBvHnV.5rbFYVLGzOp45aCGu fJiK9.Ks.Tg9j9ZT6T0n7MYIOqgqO4YYoA.kI5iKJQyx4t0APKvwIkU0ZCEqlCYitXZTsyrZLVV2 xtBJZAFBU8NWDl9g00IwuQ_61eQHI2CTTLauGT95cYoQnFuKAeXhm7X4She_r6MoLMwXeEQiiIez QCvfKAKWiCQPkRe38IM_xCWvHObNm2.hH13snYVA5jPytzkwVvRpw_Gj9HQXMIOaD44T8GyaANRm w2jkeWrqnH.HaLAIUomc_y1L.6pyFnekeUhPo_q5tOdttE3VXj3CSY4WzxSzqUWFMjpRn6FWhow- - X-Sonic-MF: X-Sonic-ID: fc0a4d8f-cc1e-481f-a7b5-065da9fecf71 Received: from sonic.gate.mail.ne1.yahoo.com by sonic313.consmr.mail.ne1.yahoo.com with HTTP; Thu, 10 Aug 2023 13:03:41 +0000 Received: by hermes--production-sg3-69654d8bd-d8v2r (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 9936c7bc3d8c88a8f5b670d5b4775060; Thu, 10 Aug 2023 13:03:35 +0000 (UTC) From: Po Lu To: YAMAMOTO Mitsuharu Subject: Re: bug#65193: 29.1.50; SET_FRAME_ICONIFIED can cause Lisp evaluation inside read_socket_hook. In-Reply-To: (YAMAMOTO Mitsuharu's message of "Thu, 10 Aug 2023 18:21:26 +0900") References: <87pm3vs3qf.fsf@yahoo.com> Date: Thu, 10 Aug 2023 21:03:31 +0800 Message-ID: <87zg2zqcbg.fsf@yahoo.com> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Mailer: WebService/1.1.21695 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo Content-Length: 1027 X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 65193 Cc: 65193@debbugs.gnu.org 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: -1.0 (-) YAMAMOTO Mitsuharu writes: > To my understanding, the Lisp evaluator is not reentrant, and thus > Lisp evaluation inside read_socket_hook, which can be called from > fairly arbitrary places via unblock_input/maybe_quit, causes > hard-to-reproduce, spontaneous crashes. Only if that Lisp is permitted to signal out of those arbitrary places, since we no longer call read_socket_hook directly from signal handlers. Mode line format evaluation catches all non-local exits, AFAIK. > That's really surprising. I've once heard we shouldn't do that. Is > that changed? I think so, see above. > My understanding is that GC can only be triggered by eval_sub or > Ffuncall calls (except explicit garbage_collect calls), but not by > Lisp object allocations, for example. Avoiding Lisp evaluation inside > read_socket_hook also means avoiding GC inside read_socket_hook. Hmm. But given that we haven't avoided Lisp evaluation within read_socket_hook for some time now, that's still a moot point. From debbugs-submit-bounces@debbugs.gnu.org Thu Aug 10 12:32:53 2023 Received: (at 65193) by debbugs.gnu.org; 10 Aug 2023 16:32:54 +0000 Received: from localhost ([127.0.0.1]:43924 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qU8aj-0001LD-IK for submit@debbugs.gnu.org; Thu, 10 Aug 2023 12:32:53 -0400 Received: from mathmail.math.s.chiba-u.ac.jp ([133.82.132.2]:57484) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qU8ag-0001L2-8v for 65193@debbugs.gnu.org; Thu, 10 Aug 2023 12:32:52 -0400 Received: from mathent.math.s.chiba-u.ac.jp (mathent [192.168.32.5]) by mathmail.math.s.chiba-u.ac.jp (Postfix) with ESMTP id 46F1BF08EA; Fri, 11 Aug 2023 01:32:47 +0900 (JST) (envelope-from mituharu@math.s.chiba-u.ac.jp) Date: Fri, 11 Aug 2023 01:32:47 +0900 Message-ID: From: YAMAMOTO Mitsuharu To: Po Lu Subject: Re: bug#65193: 29.1.50; SET_FRAME_ICONIFIED can cause Lisp evaluation inside read_socket_hook. In-Reply-To: <87zg2zqcbg.fsf@yahoo.com> References: <87pm3vs3qf.fsf@yahoo.com> <87zg2zqcbg.fsf@yahoo.com> User-Agent: Wanderlust/2.15.9 (Almost Unreal) SEMI-EPG/1.14.7 (Harue) FLIM-LB/1.14.9 (=?ISO-8859-4?Q?Goj=F2?=) APEL-LB/10.8 EasyPG/1.0.0 Emacs/29.1 (x86_64-pc-linux-gnu) MULE/6.0 (HANACHIRUSATO) Organization: Faculty of Science, Chiba University MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Content-Type: text/plain; charset=US-ASCII X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 65193 Cc: 65193@debbugs.gnu.org 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: -1.0 (-) On Thu, 10 Aug 2023 22:03:31 +0900, Po Lu wrote: > > YAMAMOTO Mitsuharu writes: > > > To my understanding, the Lisp evaluator is not reentrant, and thus > > Lisp evaluation inside read_socket_hook, which can be called from > > fairly arbitrary places via unblock_input/maybe_quit, causes > > hard-to-reproduce, spontaneous crashes. > > Only if that Lisp is permitted to signal out of those arbitrary places, > since we no longer call read_socket_hook directly from signal handlers. > Mode line format evaluation catches all non-local exits, AFAIK. > > > That's really surprising. I've once heard we shouldn't do that. Is > > that changed? > > I think so, see above. I quote an old post by Stefan Monnier (author of SYNC_INPUT) below: > SYNC_INPUT doesn't make much difference here: indeed the code is not > executed from the signal handler any more, but it's still handled at > fairly arbitrary points in the code, many of whom do not allow execution > of elisp code. So w.r.t execution of elisp code from read_socket_hook, > it's still a big no-no. (https://lists.gnu.org/r/emacs-devel/2008-03/msg01090.html) What made Lisp evaluation inside read_socket_hook possible since then? At least it can cause some corruption/inconsistency unless every unblock_input/maybe_quit takes account of potential GC (including string compaction). Long-standing code would originally be written without such a consideration. Is it already audited thoroughly? > > My understanding is that GC can only be triggered by eval_sub or > > Ffuncall calls (except explicit garbage_collect calls), but not by > > Lisp object allocations, for example. Avoiding Lisp evaluation inside > > read_socket_hook also means avoiding GC inside read_socket_hook. > > Hmm. But given that we haven't avoided Lisp evaluation within > read_socket_hook for some time now, that's still a moot point. Since which version? Probably the possibility of encountering the problem would be quite low and even if it happens, it is really difficult to reproduce, let alone to identify the root cause. YAMAMOTO Mitsuharu mituharu@math.s.chiba-u.ac.jp From debbugs-submit-bounces@debbugs.gnu.org Thu Aug 10 12:33:45 2023 Received: (at 65193) by debbugs.gnu.org; 10 Aug 2023 16:33:45 +0000 Received: from localhost ([127.0.0.1]:43928 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qU8bZ-0001Mg-0Q for submit@debbugs.gnu.org; Thu, 10 Aug 2023 12:33:45 -0400 Received: from mathmail.math.s.chiba-u.ac.jp ([133.82.132.2]:57481) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qU8bW-0001MX-Ci for 65193@debbugs.gnu.org; Thu, 10 Aug 2023 12:33:42 -0400 Received: from mathent.math.s.chiba-u.ac.jp (mathent [192.168.32.5]) by mathmail.math.s.chiba-u.ac.jp (Postfix) with ESMTP id 5D141F08EA; Fri, 11 Aug 2023 01:33:41 +0900 (JST) (envelope-from mituharu@math.s.chiba-u.ac.jp) Date: Fri, 11 Aug 2023 01:33:41 +0900 Message-ID: From: YAMAMOTO Mitsuharu To: Po Lu Subject: Re: bug#65193: 29.1.50; SET_FRAME_ICONIFIED can cause Lisp evaluation inside read_socket_hook. In-Reply-To: <87zg2zqcbg.fsf@yahoo.com> References: <87pm3vs3qf.fsf@yahoo.com> <87zg2zqcbg.fsf@yahoo.com> User-Agent: Wanderlust/2.15.9 (Almost Unreal) SEMI-EPG/1.14.7 (Harue) FLIM-LB/1.14.9 (=?ISO-8859-4?Q?Goj=F2?=) APEL-LB/10.8 EasyPG/1.0.0 Emacs/29.1 (x86_64-pc-linux-gnu) MULE/6.0 (HANACHIRUSATO) Organization: Faculty of Science, Chiba University MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Content-Type: text/plain; charset=US-ASCII X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 65193 Cc: 65193@debbugs.gnu.org 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: -1.0 (-) Another problem specific to the NS port w.r.t. the call to gui_consider_frame_title from SET_FRAME_ICONIFIED is that it can also be called inside the select emulation via -[EmacsView windowDidDeminiaturize:] for example. With multiple Lisp threads, select causes thread switching. So, Lisp evaluations can simultaneously happen both on the main thread (via -[EmacsView windowDidDeminiaturize:]) and on another Lisp thread. This breaks the cooperative nature of the Emacs threads. YAMAMOTO Mitsuharu mituharu@math.s.chiba-u.ac.jp From debbugs-submit-bounces@debbugs.gnu.org Thu Aug 10 13:58:45 2023 Received: (at 65193) by debbugs.gnu.org; 10 Aug 2023 17:58:45 +0000 Received: from localhost ([127.0.0.1]:43994 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qU9vp-0003aw-0b for submit@debbugs.gnu.org; Thu, 10 Aug 2023 13:58:45 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40338) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qU9vl-0003ah-51 for 65193@debbugs.gnu.org; Thu, 10 Aug 2023 13:58:43 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qU9vV-0007an-MQ; Thu, 10 Aug 2023 13:58:33 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=bcC+Ge6EneRN2VSI3gJIosvUVFBjtqSdkgdVfrzYKh0=; b=dq9/FBQMR6B+ xHPASOJ5rrSXTU8AZMw69KPNsH3kIYd1w9lbFqHUcmRZE1ku9X1iG6POnQWUS3Bcwtuacx/I8SF2G 5GQ53LHMc9LEHx46KpCqNPN9U1fLs/C2OulS0ADCybq5eIBZbSJ9Ek0f2iug3C7anhUfrjWYDOalH 4UivaJRjMt76jscBdP2se0kV1fKkuWLj63CQSEa4wlMrrdT/eMMm8ZPipiGE0XM/3cg1NQQUhw+H6 MGRNkAv2dPfZ+M3p7JUqE/2h2PiBO1rXee8HNXLZdXOtciSKedcSVCOHlb41T/Yeg2pGM0O3Jf3qL lH7GhtEaIAc8/d70hKdZgg==; Date: Thu, 10 Aug 2023 20:58:50 +0300 Message-Id: <83350qixt1.fsf@gnu.org> From: Eli Zaretskii To: YAMAMOTO Mitsuharu In-Reply-To: (message from YAMAMOTO Mitsuharu on Fri, 11 Aug 2023 01:33:41 +0900) Subject: Re: bug#65193: 29.1.50; SET_FRAME_ICONIFIED can cause Lisp evaluation inside read_socket_hook. References: <87pm3vs3qf.fsf@yahoo.com> <87zg2zqcbg.fsf@yahoo.com> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 65193 Cc: luangruo@yahoo.com, 65193@debbugs.gnu.org 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: -3.3 (---) > Cc: 65193@debbugs.gnu.org > Date: Fri, 11 Aug 2023 01:33:41 +0900 > From: YAMAMOTO Mitsuharu > > Another problem specific to the NS port w.r.t. the call to > gui_consider_frame_title from SET_FRAME_ICONIFIED is that it can > also be called inside the select emulation via -[EmacsView > windowDidDeminiaturize:] for example. Please describe in more detail how such a call could happen, including the sequence of calls which could call SET_FRAME_ICONIFIED from the select emulation. This situation, if it can happen, should be investigated. Thanks. From debbugs-submit-bounces@debbugs.gnu.org Thu Aug 10 19:29:40 2023 Received: (at 65193) by debbugs.gnu.org; 10 Aug 2023 23:29:40 +0000 Received: from localhost ([127.0.0.1]:44286 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qUF61-0005CO-R5 for submit@debbugs.gnu.org; Thu, 10 Aug 2023 19:29:40 -0400 Received: from mathmail.math.s.chiba-u.ac.jp ([133.82.132.2]:57195) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qUF5w-0005CB-Ic for 65193@debbugs.gnu.org; Thu, 10 Aug 2023 19:29:36 -0400 Received: from mathent.math.s.chiba-u.ac.jp (mathent [192.168.32.5]) by mathmail.math.s.chiba-u.ac.jp (Postfix) with ESMTP id 785C9F08EC; Fri, 11 Aug 2023 08:29:30 +0900 (JST) (envelope-from mituharu@math.s.chiba-u.ac.jp) Date: Fri, 11 Aug 2023 08:29:30 +0900 Message-ID: From: YAMAMOTO Mitsuharu To: Eli Zaretskii Subject: Re: bug#65193: 29.1.50; SET_FRAME_ICONIFIED can cause Lisp evaluation inside read_socket_hook. In-Reply-To: <83350qixt1.fsf@gnu.org> References: <87pm3vs3qf.fsf@yahoo.com> <87zg2zqcbg.fsf@yahoo.com> <83350qixt1.fsf@gnu.org> User-Agent: Wanderlust/2.15.9 (Almost Unreal) SEMI-EPG/1.14.7 (Harue) FLIM-LB/1.14.9 (=?ISO-8859-4?Q?Goj=F2?=) APEL-LB/10.8 EasyPG/1.0.0 Emacs/29.1 (x86_64-pc-linux-gnu) MULE/6.0 (HANACHIRUSATO) Organization: Faculty of Science, Chiba University MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Content-Type: text/plain; charset=US-ASCII X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 65193 Cc: luangruo@yahoo.com, 65193@debbugs.gnu.org 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: -1.0 (-) On Fri, 11 Aug 2023 02:58:50 +0900, Eli Zaretskii wrote: > > > Cc: 65193@debbugs.gnu.org > > Date: Fri, 11 Aug 2023 01:33:41 +0900 > > From: YAMAMOTO Mitsuharu > > > > Another problem specific to the NS port w.r.t. the call to > > gui_consider_frame_title from SET_FRAME_ICONIFIED is that it can > > also be called inside the select emulation via -[EmacsView > > windowDidDeminiaturize:] for example. > > Please describe in more detail how such a call could happen, including > the sequence of calls which could call SET_FRAME_ICONIFIED from the > select emulation. This situation, if it can happen, should be > investigated. Sorry, I thought the NS port can run another Lisp thread while one thread is waiting for inputs with (emulated) select as in other platforms (including the Mac port). But actually that's not the case, so the situation I said does not happen with the current NS select emulation. Of course, once the NS port obtains such ability, the problem I described will happen. Below is the stacktrace that leads to SET_FRAME_ICONIFIED from the NS select emulation (ns_select): * thread #1, queue = 'com.apple.main-thread', stop reason = breakpoint 2.1 * frame #0: 0x0000000100f06f40 Emacs`SET_FRAME_ICONIFIED(f=0x0000000123904aa0, i=0) at frame.h:1300:3 frame #1: 0x0000000100f3eae0 Emacs`-[EmacsView windowDidDeminiaturize:](self=0x0000000107891800, _cmd="windowDidDeminiaturize:", sender=@"NSWindowDidDeminiaturizeNotification") at nsterm.m:8140:3 frame #2: 0x000000018d8b25c4 CoreFoundation`__CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ + 28 frame #3: 0x000000018d9545a0 CoreFoundation`___CFXRegistrationPost_block_invoke + 52 frame #4: 0x000000018d95450c CoreFoundation`_CFXRegistrationPost + 456 frame #5: 0x000000018d88107c CoreFoundation`_CFXNotificationPost + 720 frame #6: 0x000000018e60e370 Foundation`-[NSNotificationCenter postNotificationName:object:userInfo:] + 64 frame #7: 0x000000019045724c AppKit`-[NSWindow(NSWindow_Theme) showDeminiaturizedWindow] + 164 frame #8: 0x000000019096aecc AppKit`___NSWindowAddDockMessageHandlers_block_invoke_3 + 256 frame #9: 0x000000019023879c AppKit`_NSCGSDockMessageReceive + 1616 frame #10: 0x00000001958104f0 HIToolbox`DockCallback(unsigned int, unsigned int, void*, void*) + 1532 frame #11: 0x0000000192af7484 HIServices`_DCXMaximizedWindows + 56 frame #12: 0x0000000192af7444 HIServices`_XMaximizedWindows + 128 frame #13: 0x0000000192ae8354 HIServices`mshMIGPerform + 200 frame #14: 0x000000018d8be5e8 CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 60 frame #15: 0x000000018d8be4a4 CoreFoundation`__CFRunLoopDoSource1 + 596 frame #16: 0x000000018d8bc924 CoreFoundation`__CFRunLoopRun + 2372 frame #17: 0x000000018d8bb868 CoreFoundation`CFRunLoopRunSpecific + 600 frame #18: 0x00000001957e8b40 HIToolbox`RunCurrentEventLoopInMode + 292 frame #19: 0x00000001957e88b4 HIToolbox`ReceiveNextEventCommon + 552 frame #20: 0x00000001957e8674 HIToolbox`_BlockUntilNextEventMatchingListInModeWithFilter + 72 frame #21: 0x00000001900b2028 AppKit`_DPSNextEvent + 836 frame #22: 0x00000001900b09c8 AppKit`-[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1292 frame #23: 0x00000001900a2814 AppKit`-[NSApplication run] + 596 frame #24: 0x0000000100f17fd8 Emacs`-[EmacsApp run](self=0x0000000107700040, _cmd="run") at nsterm.m:5823:7 frame #25: 0x0000000100f115ac Emacs`ns_select_1(nfds=0, readfds=0x000000016fdf24e0, writefds=0x000000016fdf2580, exceptfds=0x0000000000000000, timeout=0x000000016fdf2650, sigmask=0x0000000000000000, run_loop_only=NO) at nsterm.m:4838:3 frame #26: 0x0000000100f10e74 Emacs`ns_select(nfds=0, readfds=0x000000016fdf24e0, writefds=0x000000016fdf2580, exceptfds=0x0000000000000000, timeout=0x000000016fdf2650, sigmask=0x0000000000000000) at nsterm.m:4890:10 frame #27: 0x0000000100d029ac Emacs`wait_reading_process_output(time_limit=30, nsecs=0, read_kbd=-1, do_display=true, wait_for_cell=(i = 0x0000000000000000), wait_proc=0x0000000000000000, just_wait_proc=0) at process.c:5689:18 frame #28: 0x0000000100027654 Emacs`sit_for(timeout=(i = 0x000000000000007a), reading=true, display_option=1) at dispnew.c:6264:7 frame #29: 0x00000001006327b4 Emacs`read_char(commandflag=1, map=(i = 0x0000000106fdd243), prev_event=(i = 0x0000000000000000), used_mouse_menu=0x000000016fdf8ae0, end_time=0x0000000000000000) at keyboard.c:2881:11 frame #30: 0x00000001006214ac Emacs`read_key_sequence(keybuf=0x000000016fdfb580, prompt=(i = 0x0000000000000000), dont_downcase_last=false, can_return_switch_frame=true, fix_current_buffer=true, prevent_redisplay=false) at keyboard.c:10083:12 frame #31: 0x00000001006195fc Emacs`command_loop_1 at keyboard.c:1384:15 frame #32: 0x0000000100aa1a50 Emacs`internal_condition_case(bfun=(Emacs`command_loop_1 at keyboard.c:1278), handlers=(i = 0x0000000000000090), hfun=(Emacs`cmd_error at keyboard.c:936)) at eval.c:1474:25 frame #33: 0x000000010061789c Emacs`command_loop_2(handlers=(i = 0x0000000000000090)) at keyboard.c:1133:11 frame #34: 0x0000000100a9e27c Emacs`internal_catch(tag=(i = 0x000000000000eac0), func=(Emacs`command_loop_2 at keyboard.c:1129), arg=(i = 0x0000000000000090)) at eval.c:1197:25 frame #35: 0x0000000100612cdc Emacs`command_loop at keyboard.c:1111:2 frame #36: 0x0000000100612060 Emacs`recursive_edit_1 at keyboard.c:720:9 frame #37: 0x0000000100613f74 Emacs`Frecursive_edit at keyboard.c:803:3 frame #38: 0x0000000100605848 Emacs`main(argc=2, argv=0x000000016fdff6a8) at emacs.c:2521:3 frame #39: 0x000000018d7dd430 libdyld.dylib`start + 4 YAMAMOTO Mitsuharu mituharu@math.s.chiba-u.ac.jp From debbugs-submit-bounces@debbugs.gnu.org Thu Aug 10 20:02:52 2023 Received: (at 65193) by debbugs.gnu.org; 11 Aug 2023 00:02:52 +0000 Received: from localhost ([127.0.0.1]:44295 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qUFcC-00066K-EZ for submit@debbugs.gnu.org; Thu, 10 Aug 2023 20:02:52 -0400 Received: from sonic317-33.consmr.mail.ne1.yahoo.com ([66.163.184.44]:43116) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qUFc9-000666-Ew for 65193@debbugs.gnu.org; Thu, 10 Aug 2023 20:02:50 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1691712163; bh=oo18n5RyOjIo9bfe8DSs1Kx758Z3sIDeUWIx2dwahIw=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From:Subject:Reply-To; b=kyLQJiP9eDk5RdHo1WL7K1Bg84nN6EiwNni8YIT4w1B/EHiLMv3usvaoWjmfEkvWafoAZ4eIg/19xspIE3BQ3JRSNGFMP8YAOXLNxOo7dVyYyZysMM67hytwOmyXmvawZuEMIbN1soiwzS9ECbsYkMSM+Qao4ZDG0FEE0amRdrQdRWM8mAeo6dFO3hOhFLuAZiH5wP+EbSy/aWMnyIWRsDsY4i38/BwEpqWeAao8hbU/4+1kiv/BEpWeYdouQjO338Tve967sCuwvdY0jnLIsVoDT7tYESn+3BJCj+hMll2SWnJYzhaH+ayouZRXcZ/OtDIR1jPZQG1WoBAMbzHdxQ== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1691712163; bh=5DpJNvzTVBl9IFNPPpE3hspBSVCwr+w9dco7Z/0JJPt=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=MdZJQI8wlqSo0P6w3j0i6WA3BRURrGDO8hSOXMJ1v0Y6fon9BUJb8YmDtLXVCO/dUnceeREtBSBu6n/RAOIJRXavLoZPKnhFoyFbULHHidU0pvHIcfUWRezIUU886oPxFoultPPWTPZrVQNPds0NQImkGKEEy9UrXX+6qM5iJa7ZpkeRHrZMiZogytWPMBgw7wahwG41SCD0ssFHXVIgWtwHz2dUdcdZYA7D+/dnNc9Eax9/yYF6LrectGiiZ96S7O8Vgk7NIK+HtDci1ao2p/Km1Q+4fpS79OHfP0IZzCOvQvAMU6Q6ymrwxY2SZw+3d4k7t91w4WYZNlwwQ2t4lQ== X-YMail-OSG: iYfJBGoVM1n1fZbHw1asXWKZuis3o.roBd6sFTZMuNdA7bOnLhdGUc3aEb7ww2o IoEOl_KwOrG8UdcjhxJXTU_LCHfXgOQQ4BS2_DtYtHGJoLtwZJkyejpsH9Ywz2VrwqpPoJc.kONz hDGnfPV06Lz.edbSyFHH6b0wo2lhmdVR9ccYlZvpOEIjPID61aQPxm6kCY1w3PEPNvbpkpTiRrbB C4EonwMjxpEBKFP108NJZZiMrObxBqdbI8xRAirfAjhLLvcpPysvF7gewryC2O9HxFn88lGdrJG. MB4Kj1.VNI_vaUQcBoYzPPHmRL3V7vi43KYb6uCXHb9V99tGZpHQpcIfg4dVZPERJUoYm_O4bekL QEnxjTCKmQH02Nxt4cNNljvro.kLj4myIbHza__.5iRIu6CtcfUzazpe3yMFsKI14fqh0zovaZHr I7_h9DZk31xXKOtfjB3vD6FzA0bihfyarY6h4Jz1D4MxsWsW5N58E3Ux1UPBCuKaL43soiJdY9mk 2i28cH9k3skImk1aUL4f0nUqscgQxPTeW9bVXDJGJ74PHDDQw_wPCqHA2CCjWUfjwY34gJRNk_5p cZWN5D9sDKGtY8l4SIFiZEAiOUsvM68mHs_Rl7qMACYwJ1c9sQCUbP7m4TtHf0wdep1YJRDzkVlq 6JEmeknAdrTc8JZjkbtPZyle2g1W2u5qbEOf9O2ZWKpPI3b6WiID9HZszWKXpLutKZNTaOPY9C8G ccCVXs4NEoWYEQ4hvfUlRsUmMQQi3Be0PzwN6sT_AlykClHOnLisM60kmev574opzbVQR8peEUU5 cs_ijGPJpjR_HwUAWTGZrvyj28wailevJ8ycuenbkorTfVjlo8T_W9ZX5O6ovoTKQw1drvhpHnMM gk9DYGtFGoSGA4wkhaNdvA.9vQoDzvu1TY_Md5ujdRSgrn7Oulmh1Dnc.dRuWSuKK1dp1bWznH9r R9JlK26VWpzd6foZM8XGuSlXuUEqcc5NfRkHiHj0LGCU03pGwuyQ1ng9DyTa17I930C7iN4uhdT7 sUsqJPqr1FbJzE.QvQjVyG2Y0p2VRsUiO0Fv9xpZnniHtIP6BDe2ci1qUz0EvleBsaJJQUEi1AcF VefvhR49rkdIkpGZV7dcxFZNEF7e3KHSkPCTxGECv.5Sb9NcEy7GyyRE69.NouegVYatSju4petP zNz9mj02Ig8g6BtC19ZgjpJUCYSO.VV4jlmZMdQvSU4gPXmzL0MuKIoUMX9Uf20p76KSasw07KJx 9dhv3JbQGXd3GagGwfvPTM2Q01PbP80YOtpjgwPLRzhMX612upwD7PNGYmFZlErm03RMaLDvkPt1 DSUk7gZOA6.uvRlvtd06qYkpFFyqiUqj6uZ7rq00JGPoMJsfAHauHSyRc7yNJeZ7HND8XwQGq83Q 4GN65LqS7Ya9woLly.OjT7yfK45c0bDdbv8HzoyJSYfOlY_uc1nvWL94TQFiwc1rcdbG1gSwDEkD FHquKzjl2xUZ6Uw3dqLt2GaI2UD3ZzxTbz8zv63DGhbRnGVVnE6mUcU4H6st94FhmLgk40EsGlVJ m1xofHxjWGJdSEWNzgqzm0Jif.Y6bwtTiTGJ7bQ9wxnCUQnBJtARz7KEX4koo_TyUXEtEXwfdofS 8JxOQPAuGJkSsKKjds37EGDeRCCo_972KCEkoRr50OO0B6Ys5zqXIr2uH68rXOtvVhQBlU6rG7pI pjURYaVmJ62gx0LB.lnoMZqZPUK7rIuOarHtf1NWsCqdbHvg4UAMjPZL4XB.nr1Expa8zb_q52xF EP43.l8slAECh7hJYawLMw1.eIht.amboSZMJ5o7Y2GpB1_XofBi5jpCq3MA_XAhcHGDobuWAF73 fsSf2wi07Uvs9bhBIwhTgY4e1W5jSPt_BpoKXxuo2FznzraqhAhxss2mV_bSV_cRLl533GJUysiA g2scdu7.wyx6JquCR4uPiigjnmhtPFpAY0xgn_uUqJpOKc4MNe1nSdQN2mSbFwTWpZPcU.B44_4t CdpYS3s2tbw23.y3A2o0mc8F3dC5MNpU5QddHndN07pXwMQ6ks1qgWwzU54Vp3QwYKc7rdPxqUYW K9Rn3w4ktOKQ6wzpKLBIBvkdBZQv51JyTexdsdrKS5XL4xr.tfH7aS3CXASW4Yr6uCOljOMwBhxi lGmj1loh0FLf9CrSpRBmbZYqXgcuFJ5BlColYNB0B5Ybk2xHLjBh6OnrlZJrYVQnoV1b82NTlStd 4ixO5dfBS4pnmABlrYrl08McIm7Xr0pL08Bs_p85tW4qyhkczswpm3g-- X-Sonic-MF: X-Sonic-ID: a2490dbc-36d9-4261-9b9d-a597e84bffaa Received: from sonic.gate.mail.ne1.yahoo.com by sonic317.consmr.mail.ne1.yahoo.com with HTTP; Fri, 11 Aug 2023 00:02:43 +0000 Received: by hermes--production-sg3-69654d8bd-sbrjf (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 963282e6395d49c9165aeeb68ce95793; Fri, 11 Aug 2023 00:02:38 +0000 (UTC) From: Po Lu To: YAMAMOTO Mitsuharu Subject: Re: bug#65193: 29.1.50; SET_FRAME_ICONIFIED can cause Lisp evaluation inside read_socket_hook. In-Reply-To: (YAMAMOTO Mitsuharu's message of "Fri, 11 Aug 2023 01:32:47 +0900") References: <87pm3vs3qf.fsf@yahoo.com> <87zg2zqcbg.fsf@yahoo.com> Date: Fri, 11 Aug 2023 08:02:28 +0800 Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Mailer: WebService/1.1.21695 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo Content-Length: 1100 X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 65193 Cc: 65193@debbugs.gnu.org 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: -1.0 (-) YAMAMOTO Mitsuharu writes: > What made Lisp evaluation inside read_socket_hook possible since then? I don't know, but we've done it since then without problems. > At least it can cause some corruption/inconsistency unless every > unblock_input/maybe_quit takes account of potential GC (including > string compaction). Long-standing code would originally be written > without such a consideration. Is it already audited thoroughly? Can you find any code which saves pointers to string data or buffer text around calls to functions that might read input? > Since which version? I don't know. > Probably the possibility of encountering the problem would be quite > low and even if it happens, it is really difficult to reproduce, let > alone to identify the root cause. To the best of my knowledge, this is only a problem for the NS port. Since other ports don't read input from their select emulations. That is no great loss, given that the toolkit aborts after the first call to redisplay from outside the main thread, so threads don't work under NS anyway. From debbugs-submit-bounces@debbugs.gnu.org Sat Aug 12 03:30:20 2023 Received: (at 65193) by debbugs.gnu.org; 12 Aug 2023 07:30:20 +0000 Received: from localhost ([127.0.0.1]:48653 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qUj4l-00057k-Nn for submit@debbugs.gnu.org; Sat, 12 Aug 2023 03:30:20 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:39218) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qUj4i-00057M-Jp for 65193@debbugs.gnu.org; Sat, 12 Aug 2023 03:30:17 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qUj4c-0005fV-Rr; Sat, 12 Aug 2023 03:30:11 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=Bjd03Hl47cOuKLPjUq1al9jrNFPhDQDK5UHN7xRmUko=; b=I54XiwZ/saGU K05p3tCbGIihRfz7nwCQv0nCSkUle87E21/Ao0GgXbbao8Q5mFqZYoHhJ4WaDWdg7VxKKwEDBchF7 BUqz+Io092SpvJtDdK5L1wJLXoABxsNigH/vUQtuWDG6FQfjYJZ5pvygBo2ROFqOAoI23yw6HKIWO 55q+Qwp0AXQrgLTkdFZX1mBdukiFXd1LAGgdIDFpFsB380QzTUXHTvOhVbSpG61t3ibr921ZA18H6 /tA+g2XW7SvadwPLM4t+pRBsIPsHclvQVimqD89/3zoIpX81OuvYUJIpa99h8fi53AuUgcZFyfxW5 a5fjXM0cJ7qeu2pVHH12ow==; Date: Sat, 12 Aug 2023 10:30:40 +0300 Message-Id: <83r0o8emzj.fsf@gnu.org> From: Eli Zaretskii To: YAMAMOTO Mitsuharu In-Reply-To: (message from YAMAMOTO Mitsuharu on Fri, 11 Aug 2023 08:29:30 +0900) Subject: Re: bug#65193: 29.1.50; SET_FRAME_ICONIFIED can cause Lisp evaluation inside read_socket_hook. References: <87pm3vs3qf.fsf@yahoo.com> <87zg2zqcbg.fsf@yahoo.com> <83350qixt1.fsf@gnu.org> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 65193 Cc: luangruo@yahoo.com, 65193@debbugs.gnu.org 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: -3.3 (---) > Date: Fri, 11 Aug 2023 08:29:30 +0900 > From: YAMAMOTO Mitsuharu > Cc: luangruo@yahoo.com, > 65193@debbugs.gnu.org > > On Fri, 11 Aug 2023 02:58:50 +0900, > Eli Zaretskii wrote: > > > > > Cc: 65193@debbugs.gnu.org > > > Date: Fri, 11 Aug 2023 01:33:41 +0900 > > > From: YAMAMOTO Mitsuharu > > > > > > Another problem specific to the NS port w.r.t. the call to > > > gui_consider_frame_title from SET_FRAME_ICONIFIED is that it can > > > also be called inside the select emulation via -[EmacsView > > > windowDidDeminiaturize:] for example. > > > > Please describe in more detail how such a call could happen, including > > the sequence of calls which could call SET_FRAME_ICONIFIED from the > > select emulation. This situation, if it can happen, should be > > investigated. > > Sorry, I thought the NS port can run another Lisp thread while one > thread is waiting for inputs with (emulated) select as in other > platforms (including the Mac port). But actually that's not the case, > so the situation I said does not happen with the current NS select > emulation. Of course, once the NS port obtains such ability, the > problem I described will happen. > > Below is the stacktrace that leads to SET_FRAME_ICONIFIED from the NS > select emulation (ns_select): OK, thanks.