From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Po Lu via "Bug reports for GNU Emacs, the Swiss army knife of text editors" Newsgroups: gmane.emacs.bugs Subject: bug#59794: 29.0.60; NSport segfaults when a fullscreen frame is being closed) Date: Sun, 04 Dec 2022 19:59:34 +0800 Message-ID: <87a643qt09.fsf@yahoo.com> References: <835yerd5gb.fsf@gnu.org> <87ilirr0uq.fsf@yahoo.com> <83ilirbh68.fsf@gnu.org> Reply-To: Po Lu Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="33599"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Cc: gerd.moellmann@gmail.com, 59794@debbugs.gnu.org, justksqsf@gmail.com To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sun Dec 04 13:00:19 2022 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 1p1nfO-0008av-VK for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 04 Dec 2022 13:00:19 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1p1nfB-0005vI-Rs; Sun, 04 Dec 2022 07:00:05 -0500 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 1p1nf9-0005ux-In for bug-gnu-emacs@gnu.org; Sun, 04 Dec 2022 07:00:03 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1p1nf8-000743-SO for bug-gnu-emacs@gnu.org; Sun, 04 Dec 2022 07:00:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1p1nf8-0002WD-9r for bug-gnu-emacs@gnu.org; Sun, 04 Dec 2022 07:00:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Po Lu Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 04 Dec 2022 12:00:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 59794 X-GNU-PR-Package: emacs Original-Received: via spool by 59794-submit@debbugs.gnu.org id=B59794.16701551979649 (code B ref 59794); Sun, 04 Dec 2022 12:00:02 +0000 Original-Received: (at 59794) by debbugs.gnu.org; 4 Dec 2022 11:59:57 +0000 Original-Received: from localhost ([127.0.0.1]:57155 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p1nf3-0002VZ-0b for submit@debbugs.gnu.org; Sun, 04 Dec 2022 06:59:57 -0500 Original-Received: from sonic317-34.consmr.mail.ne1.yahoo.com ([66.163.184.45]:32819) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p1nf1-0002VS-Bt for 59794@debbugs.gnu.org; Sun, 04 Dec 2022 06:59:56 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1670155189; bh=pQ0YFrZdlyznivM0UavxQ5Bwq+DwRASn7NrDHl8pgNo=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From:Subject:Reply-To; b=DhHj2fxYeZenaHWm/8nWmwQLZxvQU8hRxFtoVrJw8YA9TBBYns7M86d8VioTV2iTtHs+K76RuZyQlM/RTtGJAdjd+oBx/dpMIZVf5+zOFOu7indXoB/tO+D2Mgq7hIq/940ZHwnalbX/M088SgML2JOEE0BIaOU4nxjPfmmm5ptGcBVbNEhgEO1YYAm55v2xgKVSd3V1TXZHA59ddPFpFECnZ79uSdLPhy+ABc5xlZfr8uZ7Oq39IX4+v1ZeXgY/BNNvpQFiSc3VwlIXwOvuYvHnBVH6mnRZnRl3ORrzIpkIUDQiRzIzxmwy91F9kRchAYo+6OAgG1lD0KKnmqXtkA== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1670155189; bh=L9soHJ9mSawN1kpsYFPQx7K+L3POYCNnnVepD8mVS8F=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=HguHlanWQPHY/OcQA6jGulOhgnCsfgAAAG8pKCTvxELTHwIMN3guH0d+1cTpu6KqDX1jZUmnAK1DRIbL1XF/kI6Q3+bLqCoHKgnSbHonGiYzboEFqqXfwbZfOvBQCbY6votuJ0LXaZmZuRIUW+nviDls6tcX0RB3/6zTiyiTnvwhcDUEJOcma3SIIpwhansMNsIrlS13Nblpu3foiKBV0TNN9OARTgfa0rUTZQ1wgTUigKBUZMbCKEPkeSt9vaEixSsRplsPnN17AYFOALVwXkuHMeKyzguUek7hb4+oOUbY595VzFP7hFeyVHryG7K3ibA5wR8Iv9piX9Xc+CY2Hw== X-YMail-OSG: ra3ASiIVM1naokH8NvoP9Dcckrz8BuiwVyEL7QbEHpSw_vbsAjRpfQlswdxOwMq 8jvzHPSw9r9Y7C71PfSR1YnF8D9PWcStqZIeI.Lzic3A5F9bAagXwFukRzYAzwmO5.ZrBOmlfRPu 1usyRtTSszwZrX76ZsPfeHC7aNUO1drPH1wlq42tSv4.wmDbqYYE2_U7IESVh2BLlIi.QrQT4bUv Fgvft3l6HI3_lzCppqgp7u2wl3M1Mt1_WMsFZ3cna2V.FRI8fGMrPdmEOhXUnjBcyRadHhWex2Ay rnS9yjW0_3AN4Zr.YmY8bDgln_NQ8eFxte_0AzfhvqWh8nhKictpLrVz0TpcxHlLNSGnJPwLvurC MgUXHHKiulWkRfKro2ybD.x4f4FQic_zHEpRTWX0m_jkLJCz08yvzy2A4.yNKgy.afx3Laaw2E6v SHXybC.Q3VlZDB3QIipSRZQ8jpCdjfnd7wW_D3i7vzl8jsRcsy90Fy6rMNA1BcALq1iEmDUfqDw. 2JkOxqtwEm6oK_3mzS4nu16QvYzZlXAhe_ZKRgIVjCk__YmsfbaPBhRaa93gqSor1qnrrNZGlHpE qpEHix2ROsG7oTI9lTI8bIf00DkgN.TBozOlz67p.EzEeJPuyIc9qA7zXvJP1Yg1q36utFRDfeVH 6z3uLoVj4Jzb.bKfSns3Bu2QP_J4gCUCqlIzrnz5ysrBgaWBra7eZuGxzt_8ndIm_b7kg57JHk3x mKlETV.PXkK..OEzUT1gxJUJ5FF1YDNIMNkz.xxwm7JBuRr7pWGh7xKJpaD.FG0PJIVzkJuKZFEv dlyOyTizPZ3MeVg4FNpbxj8_ah7fecorh79Dbjiv5K X-Sonic-MF: Original-Received: from sonic.gate.mail.ne1.yahoo.com by sonic317.consmr.mail.ne1.yahoo.com with HTTP; Sun, 4 Dec 2022 11:59:49 +0000 Original-Received: by hermes--production-sg3-b666c6484-4bg7k (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 4197aaeee61e3931f2b3ff48e32943b4; Sun, 04 Dec 2022 11:59:42 +0000 (UTC) In-Reply-To: <83ilirbh68.fsf@gnu.org> (Eli Zaretskii's message of "Sun, 04 Dec 2022 12:24:15 +0200") X-Mailer: WebService/1.1.20926 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo 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:249921 Archived-At: Eli Zaretskii writes: > Why, cannot you access debbugs? debbugs-browse-ephemeral-emacs-bug-group only included your reply to this bug, and not the patch you replied to. That happens once in a while for me. > Anyway, attached below. > >>>From 8ea35a8099f34f482d090ea8068e89f52dcd29ac Mon Sep 17 00:00:00 2001 > From: Kai Ma > Date: Sat, 3 Dec 2022 18:17:26 +0800 > Subject: [PATCH] Prevent a segfault when deleting a fullscreen frame on > NextStep. > > * nsterm.m ([EmacsView resetCursorRects:]): Be defensive when > accessing FRAME_OUTPUT_DATA. > --- > src/nsterm.m | 12 ++++++++++-- > 1 file changed, 10 insertions(+), 2 deletions(-) > > diff --git a/src/nsterm.m b/src/nsterm.m > index 507f2a9e7d..c09f743ec7 100644 > --- a/src/nsterm.m > +++ b/src/nsterm.m > @@ -6703,8 +6703,16 @@ - (BOOL)acceptsFirstResponder > > - (void)resetCursorRects > { > - NSRect visible = [self visibleRect]; > - NSCursor *currentCursor = FRAME_POINTER_TYPE (emacsframe); > + NSRect visible; > + NSCursor *currentCursor; > + > + /* On macOS 13, [resetCursorRects:] could be called even after the > + window is closed. */ > + if (! emacsframe || ! FRAME_OUTPUT_DATA (emacsframe)) > + return; > + > + visible = [self visibleRect]; > + currentCursor = FRAME_POINTER_TYPE (emacsframe); > NSTRACE ("[EmacsView resetCursorRects]"); > > if (currentCursor == nil) Thanks. I'm fine with installing this on the release branch, but the comment should be modified to say: [resetCursorRects:] can be called from the event loop after the frame is deleted. When this happens, emacsframe is NULL. This means there is an underlying leak of the EmacsView object! also, perhaps it should be omitted on master, at least until before Emacs 30 is released, to motivate other (hopefully more knowledgeable) people to provide the necessary information to fix it.