From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Daniel Clemente Newsgroups: gmane.emacs.bugs Subject: bug#71274: 30.0.50; assertion failed: w->window_end_valid, in find_first_unchanged_at_end_row Date: Mon, 3 Jun 2024 17:50:47 +0000 Message-ID: References: <86le3rr0lm.fsf@gnu.org> <86plt2p762.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="32697"; mail-complaints-to="usenet@ciao.gmane.io" Cc: 71274@debbugs.gnu.org To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Mon Jun 03 20:00:14 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 1sEByg-0008M3-Mo for geb-bug-gnu-emacs@m.gmane-mx.org; Mon, 03 Jun 2024 20:00:14 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sEByK-0001Vh-Mo; Mon, 03 Jun 2024 13:59:52 -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 1sEByI-0001VX-A1 for bug-gnu-emacs@gnu.org; Mon, 03 Jun 2024 13:59:50 -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 1sEByI-0001It-1D for bug-gnu-emacs@gnu.org; Mon, 03 Jun 2024 13:59:50 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1sEByU-0004BY-MD for bug-gnu-emacs@gnu.org; Mon, 03 Jun 2024 14:00:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Daniel Clemente Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 03 Jun 2024 18:00:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 71274 X-GNU-PR-Package: emacs Original-Received: via spool by 71274-submit@debbugs.gnu.org id=B71274.171743756715960 (code B ref 71274); Mon, 03 Jun 2024 18:00:02 +0000 Original-Received: (at 71274) by debbugs.gnu.org; 3 Jun 2024 17:59:27 +0000 Original-Received: from localhost ([127.0.0.1]:54535 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sEBxv-00049J-FG for submit@debbugs.gnu.org; Mon, 03 Jun 2024 13:59:27 -0400 Original-Received: from mail-oo1-f52.google.com ([209.85.161.52]:59601) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sEBxt-00048t-Bs for 71274@debbugs.gnu.org; Mon, 03 Jun 2024 13:59:26 -0400 Original-Received: by mail-oo1-f52.google.com with SMTP id 006d021491bc7-5b3241a69f4so2206449eaf.2 for <71274@debbugs.gnu.org>; Mon, 03 Jun 2024 10:59:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1717437487; x=1718042287; darn=debbugs.gnu.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=klTGLiZ1A4l5nXwHV8SkJ9umADB+ZGXAuQ76j9Q8quA=; b=GD6cQCqcqRJ7p92oSeh5MtbsBQLD0g1YAbOkFZt0DMomEEYhVEaqYzE4ZX4twWlGoL SZ8wk67sRo7vysJ2oTdI4ontOFHGOyy4udp/x2fKCqJe/WDAQ66FtOtEBynvLWpi1ECR XWEbP30rO7ku9t4ZxUpnMJnavSS5pNY/7gEX3idM/ilKAaXjl+iR7W12Xbm9eHzpUvyN Zh8onIM9/6Uxo+fVrPHvfCtsQtkjyjWqzjji0Cto5OacMkygBjomZ7UUMv5SNGrXlYWf OZu1mcjDYDfTXIs5UC8ZQQEi0fSk/X9cE4XJy3GWiFA0yRh99bHTcL3LY1CMWeKx9oBA sMGA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1717437487; x=1718042287; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=klTGLiZ1A4l5nXwHV8SkJ9umADB+ZGXAuQ76j9Q8quA=; b=loLoFuNvADGx2z+x/0Ib5x9+HIRR5M7bv4Epxuxl0i2cl3ryeMT4k+Xl3RPXt1T+s+ /EPUAVkvGvJxEWFN1yDLXFIfe2wDCGi9ErUxVP/s+F3E0DVkSY5PMK9DFOS2JWTsuYs9 9KC8G/dYvvKJ0OduNrSMsKBgB3iEwSW0teeN/Fl8fMDbBJEsMK+cD1gya+rqRvFJAdUM IcHaBHwjIFVlH0AHSsrT15RI4V5QM0BIEWgFRpHK3ySZNDszxs/cyLks6x0njGD7zEro qg1TAvJ7VrkWgn7F8QgMxH92XQpO4GvBAVWI5L82e+nOkq5oJWXu4r/z4W3cVwZXJkYu 8wqQ== X-Gm-Message-State: AOJu0YxotvsDHlwXogKeF+vGJUqFeSJ2opQ6UIV5rDpTf7FS9t4DyrRj 9lpc7Qw4O0bYfPNEUTrKPcSQoA4fpO7MnFo6/hASNpGWQmW18V7TMwEwPweqe4+UTl6GZt2OuCw M5uxSG/MGiuxCcIMp4pHJOiKBG9puDv8d X-Google-Smtp-Source: AGHT+IGPlCF+skQ0FQjBgqTSyCfy0reCKNiS+i7fgjsPcfIp9RPuNDV/6Tp1VBwydgLVX0U2lw264ANL7eNo+HRW/Os= X-Received: by 2002:a67:bc03:0:b0:485:d96e:d18a with SMTP id ada2fe7eead31-48bc2422e41mr7634716137.29.1717437076109; Mon, 03 Jun 2024 10:51:16 -0700 (PDT) In-Reply-To: <86plt2p762.fsf@gnu.org> 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:286481 Archived-At: > Thanks, but please find where it changes inside the call to > init_to_row_end, because I couldn't see anything obvious in the code > involved in that call. There's some factor at work here that we need > to identify and understand. It happens (window_end_valid becoming false) inside init_iterator, in init_from_display_pos (called init_to_row_end). Here: /* Keep in mind: the call to reseat in init_iterator skips invisible text, so we might end up at a position different from POS. This is only a problem when POS is a row start after a newline and an overlay starts there with an after-string, and the overlay has an invisible property. Since we don't skip invisible text in display_line and elsewhere immediately after consuming the newline before the row start, such a POS will not be in a string, but the call to init_iterator below will move us to the after-string. */ init_iterator (it, w, charpos, bytepos, NULL, DEFAULT_FACE_ID); Inside init_iterator, window_end_valid becomes false during this code (i.e. it was true just before, and false just after): /* If face attributes have been changed since the last redisplay, free realized faces now because they depend on face definitions that might have changed. Don't free faces while there might be desired matrices pending which reference these faces. */ if (!inhibit_free_realized_faces) { if (face_change) { face_change =3D false; XFRAME (w->frame)->face_change =3D 0; free_all_realized_faces (Qnil); } else if (XFRAME (w->frame)->face_change) { XFRAME (w->frame)->face_change =3D 0; free_all_realized_faces (w->frame); } } I don't know yet which branch runs or what happens inside free_all_realized_faces, since I didn't see this crash recently. Does this give any hint about how window_end_valid could become false? In next tests I'll run with the latest git version, including your recent commit eb9afd558ec (which I know is for something different =E2=80=94SIGWINCH=E2=80=94 but who knows, maybe it was related to this bug)= .