From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.bugs Subject: bug#72692: Emacs 31.05 (40eecd594ac) get SIGSEGV on Linux (Linux 6.6.45 Kde Wayland) Date: Mon, 19 Aug 2024 19:49:03 +0300 Message-ID: <86wmkcwj9c.fsf@gnu.org> References: <8b1c8e1f-e0b9-4049-888c-3f723e0008a9@gmail.com> <87plq5g1fo.fsf@protonmail.com> <86v7zxy8ur.fsf@gnu.org> <87ttfhdo1e.fsf@protonmail.com> <86jzgcycla.fsf@gnu.org> <87frr0eiyy.fsf@protonmail.com> <868qwsy40c.fsf@gnu.org> <87y14sd07m.fsf@protonmail.com> <86zfp8wlrv.fsf@gnu.org> <87cym4cvyo.fsf@protonmail.com> Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="30429"; mail-complaints-to="usenet@ciao.gmane.io" Cc: execvy@gmail.com, 72692@debbugs.gnu.org To: Pip Cet Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Mon Aug 19 18:49:56 2024 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 1sg5Zs-0007jP-CJ for geb-bug-gnu-emacs@m.gmane-mx.org; Mon, 19 Aug 2024 18:49:56 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sg5ZN-00007X-62; Mon, 19 Aug 2024 12:49:25 -0400 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 1sg5ZL-0008WS-8I for bug-gnu-emacs@gnu.org; Mon, 19 Aug 2024 12:49:23 -0400 Original-Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1sg5ZJ-0003XM-GJ for bug-gnu-emacs@gnu.org; Mon, 19 Aug 2024 12:49:21 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=debbugs.gnu.org; s=debbugs-gnu-org; h=References:In-Reply-To:From:Date:To:Subject; bh=zr+lXYYZMnPdIbYiPPeNBhK9Rl/MDftHmhPWx5rISzE=; b=vPZGAsC9rHEczQrMfxcrUgSAnLqC/6rCDACt2Ra8xjHg1wjtbI+myejkcSfJxVAChpI4yAqhdhr64pljSZmDTxnhlFCIAEyJLQJVsejPSgdx/gRfHJWmRCVcpGaGbGFViXSmDxYS98gAXIE5mnB346QkB4+dtx4K9B2kVuZj2I2BESq/egK+qOsNCinpzJDi636Uk5cxeRXoaL2W1LCMZMSOVGiBJ6svvEwOsmlFJz76MpJzk8efsU/YEbNdKZRUV5tHqAJHA1UOj+BE7+GkPsohWN2sxCq2EmV0qhtDFjracBIwuFTCf5lkOs/N60YeJdqJp5yKP4V95k9QEJllDA==; Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1sg5Zx-0001pe-Op for bug-gnu-emacs@gnu.org; Mon, 19 Aug 2024 12:50:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 19 Aug 2024 16:50:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 72692 X-GNU-PR-Package: emacs Original-Received: via spool by 72692-submit@debbugs.gnu.org id=B72692.17240861987029 (code B ref 72692); Mon, 19 Aug 2024 16:50:01 +0000 Original-Received: (at 72692) by debbugs.gnu.org; 19 Aug 2024 16:49:58 +0000 Original-Received: from localhost ([127.0.0.1]:59014 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sg5Zt-0001pJ-R7 for submit@debbugs.gnu.org; Mon, 19 Aug 2024 12:49:58 -0400 Original-Received: from eggs.gnu.org ([209.51.188.92]:36220) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sg5Zr-0001ou-Cg for 72692@debbugs.gnu.org; Mon, 19 Aug 2024 12:49:56 -0400 Original-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 1sg5Z5-0003WS-4s; Mon, 19 Aug 2024 12:49:07 -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=zr+lXYYZMnPdIbYiPPeNBhK9Rl/MDftHmhPWx5rISzE=; b=PV9VULoZ14b0 Fsz5YV8YTJZEw9oXe96J+47LX5O8LMGxOdo0Cx0laUaFnluAPEeqDULb6+PxR3fu4rTGLivNWrjfh COXh3LJ042eO1FUOKhOefxJzca6HIXx9oqhe27CkVp2cj+ZS4UXUgPMnGseFiZRNltChEzqwyMzwh WiOkHhxKTveDkWJdTGXFr+tghX/6WUYcby+qQHiXY1bbPA7vEXiDCWQkirlFCNnpBTuZngQc6BA6D JkjwHtWHPQ2u0DeP1pFbZYixvvA3sWADM9brrP7L1O/X5Uw0o3xPuFPFiIL/fswV09qv+OnM3LeOi AZddWyiJcfAPSrv8Qk38RQ==; In-Reply-To: <87cym4cvyo.fsf@protonmail.com> (message from Pip Cet on Mon, 19 Aug 2024 16:34:59 +0000) 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:290404 Archived-At: > Date: Mon, 19 Aug 2024 16:34:59 +0000 > From: Pip Cet > Cc: execvy@gmail.com, 72692@debbugs.gnu.org > > "Eli Zaretskii" writes: > > > Thanks, but I'd also like to see the callers which call > > free_realized_face in a way that causes the latter to call > > free_face_fontset. That's why I asked for backtraces from those > > calls, but I don't think you sent such backtraces. What you sent was > > Just for the record, you asked: > > > So can you show a backtrace from the call to free_realized_faces > > (supposedly called by realize_basic_faces?) which causes these > > printfs: > > > fontset 103 used for face 0x117cca0 > > > fontset 103 used for face 0x2a7a3c0 > > > fontset 103 used for face 0x117cca0 > > > fontset 103 used for face 0x2a62860 > > ... which I misunderstood. Sorry. Sorry for being unclear. > Is this what you want? Yes, recompute_basic_faces was the prime suspect. I think we added several calls to it over the last years, to fix problems with face cache being emptied at some unexpected times. > Indeed, I can report that the bug doesn't seem to occur after this > simple change: > > diff --git a/src/xfaces.c b/src/xfaces.c > index 684b6ccfac7..a4ac9c0787a 100644 > --- a/src/xfaces.c > +++ b/src/xfaces.c > @@ -736,6 +736,7 @@ recompute_basic_faces (struct frame *f) > clear_face_cache (false); > if (!realize_basic_faces (f)) > emacs_abort (); > + f->face_change = true; > } > } > > > So something like that (though moving the call down into > realize_basic_faces or even further would be good) would probably work > for the OP, and emacs-30? I think setting the flag in recompute_basic_faces should be enough. Let me think about it some more.