From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: "Basil L. Contovounesios" via "Bug reports for GNU Emacs, the Swiss army knife of text editors" Newsgroups: gmane.emacs.bugs Subject: bug#50571: 28.0.50; Redisplay segfaults with empty face cache Date: Tue, 14 Sep 2021 00:21:17 +0100 Message-ID: <87a6kggiz6.fsf@tcd.ie> References: <87ilz4msha.fsf@tcd.ie> <831r5sea46.fsf@gnu.org> Reply-To: "Basil L. Contovounesios" Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="25132"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) Cc: 50571@debbugs.gnu.org To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Tue Sep 14 01:22:18 2021 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 1mPvHF-0006Kl-0J for geb-bug-gnu-emacs@m.gmane-mx.org; Tue, 14 Sep 2021 01:22:18 +0200 Original-Received: from localhost ([::1]:39356 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mPvHD-0002YE-RB for geb-bug-gnu-emacs@m.gmane-mx.org; Mon, 13 Sep 2021 19:22:15 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:46658) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mPvH0-0002M6-6J for bug-gnu-emacs@gnu.org; Mon, 13 Sep 2021 19:22:02 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:35504) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mPvGz-00062X-Tz for bug-gnu-emacs@gnu.org; Mon, 13 Sep 2021 19:22:01 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1mPvGz-0004lg-J0 for bug-gnu-emacs@gnu.org; Mon, 13 Sep 2021 19:22:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: "Basil L. Contovounesios" Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 13 Sep 2021 23:22:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 50571 X-GNU-PR-Package: emacs Original-Received: via spool by 50571-submit@debbugs.gnu.org id=B50571.163157529018286 (code B ref 50571); Mon, 13 Sep 2021 23:22:01 +0000 Original-Received: (at 50571) by debbugs.gnu.org; 13 Sep 2021 23:21:30 +0000 Original-Received: from localhost ([127.0.0.1]:47050 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mPvGT-0004kr-Tr for submit@debbugs.gnu.org; Mon, 13 Sep 2021 19:21:30 -0400 Original-Received: from mail-wm1-f51.google.com ([209.85.128.51]:40581) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mPvGR-0004ke-E8 for 50571@debbugs.gnu.org; Mon, 13 Sep 2021 19:21:28 -0400 Original-Received: by mail-wm1-f51.google.com with SMTP id b21-20020a1c8015000000b003049690d882so529246wmd.5 for <50571@debbugs.gnu.org>; Mon, 13 Sep 2021 16:21:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tcd.ie; s=google21; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version; bh=58iAIdEzKjamq3sPOPXKFazMnMTtw8bbxOJAWIJdCXE=; b=V+KYz3UGGaZE9zesQIJlicgd9fTG5lEIH1t6mo2xm4sgLKFbrpMz+WffPzN8GVLmgF ffesVGv7tNsAD3t2ncygB/Cc5fZcEPoO/fMmYj6UxBIhWmyTvz2pbDAUx4djmAmFfaDT z97YmbcjpYqvDQXDzXlinUF0SqO86Ym+sZeV9+Vrg34Zlx0xLqj4goT5cfLNIrP6n4nR w/GFh94ItGSrllA4ml+wINfaEQ++yQEvcwtVAg9vDMm4ScP/+4Ekg+Kymg6WabmW3dzu kzee7r3XtVCNrSM7G2MdWsiLXgFyoZIPooQFM+DRA9LHZviDWxWTJAPvmWMk+eK7xMvI cZLQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version; bh=58iAIdEzKjamq3sPOPXKFazMnMTtw8bbxOJAWIJdCXE=; b=1A9cKI+GCGQ2V0v3tCxBxEfYYyyP6C8rMUHzmU4VtI3nPnFrDkh++c5JIDwV9nxm8f MqW6T0ZFNkOnwWtXKF4wikJPmtf8cTBKc/77WYlEEzqjktliQPM7Uet3TxMi9heJokUa q85RTf9UdD6VqcmvSkWtHaxJMakFk2g8PcAhaG82XKvA4Dje+2KZIgNi1MteXt50XS47 seBgT+Pc3OQf6+aZF8EXLvBIvbBTJeRSzhMj6xSipi6j9xvBa8IyMCdo9KdFJFCqZSzz WMeievgPaHtM5Xct66DXFp19VxmgIOTJDFHi3zpMWZOjSr9H/BBFTNQgBovZMwO0t1a1 hVLQ== X-Gm-Message-State: AOAM532pJLlzSD/ELHNQDUhqBHKfPTQdPMhPR9OwJbiCmFGyZoU5UfBI gjS+vCn/8P+A1uNcpiSF+bNRBg== X-Google-Smtp-Source: ABdhPJxBZ+PAvkN2rormGK3msdxuNrDmCNFTU3h7pL6/5CzSNhkb4B+eRCSzf26qG9vhJO/JydbNsQ== X-Received: by 2002:a1c:7906:: with SMTP id l6mr5402422wme.78.1631575280578; Mon, 13 Sep 2021 16:21:20 -0700 (PDT) Original-Received: from localhost ([2a02:8084:20e2:c380:d15:339e:aa10:60f1]) by smtp.gmail.com with ESMTPSA id p21sm4754015wmi.30.2021.09.13.16.21.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 13 Sep 2021 16:21:19 -0700 (PDT) In-Reply-To: <831r5sea46.fsf@gnu.org> (Eli Zaretskii's message of "Mon, 13 Sep 2021 19:03:21 +0300") 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" Xref: news.gmane.io gmane.emacs.bugs:214269 Archived-At: --=-=-= Content-Type: text/plain Eli Zaretskii [2021-09-13 19:03 +0300] wrote: >> #0 terminate_due_to_signal (sig=6, backtrace_limit=2147483647) at emacs.c:400 >> #1 0x00005555557d4f5f in die >> (msg=0x55555592d2e8 "0 <= id && id < FRAME_FACE_CACHE (f)->used", >> file=0x55555592d2da "frame.h", line=1433) at alloc.c:7479 >> #2 0x00005555556c89f1 in FACE_FROM_ID (f=0x5555562070b0, id=0) at frame.h:1433 >> #3 0x00005555556d9e57 in face_at_buffer_position >> (w=0x555556207318, pos=1, endptr=0x7fffffff7f70, limit=101, mouse=false, >> base_face_id=0, attr_filter=0) at xfaces.c:6425 >> #4 0x00005555555d41d0 in face_at_pos (it=0x7fffffff8170, attr_filter=0) at xdisp.c:4379 >> #5 0x00005555555d44cd in handle_face_prop (it=0x7fffffff8170) at xdisp.c:4480 >> #6 0x00005555555d2977 in handle_stop (it=0x7fffffff8170) at xdisp.c:3854 >> #7 0x00005555555dd96a in reseat (it=0x7fffffff8170, pos=..., force_p=true) at xdisp.c:7112 >> #8 0x00005555555d1abb in init_iterator >> (it=0x7fffffff8170, w=0x555556207318, charpos=1, bytepos=1, >> row=0x555557419f80, base_face_id=DEFAULT_FACE_ID) at xdisp.c:3455 > > init_iterator makes sure the frame's face cache includes all the basic > faces, around line 3220 of xdisp.c: > > /* If realized faces have been removed, e.g. because of face > attribute changes of named faces, recompute them. When running > in batch mode, the face cache of the initial frame is null. If > we happen to get called, make a dummy face cache. */ > if (FRAME_FACE_CACHE (it->f) == NULL) > init_frame_faces (it->f); > if (FRAME_FACE_CACHE (it->f)->used == 0) > recompute_basic_faces (it->f); > > The backtrace you sent starts at line 3455 of xdisp.c. So somewhere > between these two places, or maybe inside reseat and the functions it > calls, the frame's face cache gets cleared. Can you please put a > watchpoint on it->f->face_cache->used, after the above snippet makes > sure the cache is valid and the basic faces are cached in it, and see > where the cache gets cleared? Be sure to use the -l (ell) switch of > the "watch" command in GDB, so it's valid even when you are not in the > lexical scope of init_iterator. > > When the watchpoint breaks, please show both the C backtrace and the > Lisp backtrace (using the "xbacktrace" command if needed). For some reason, if I set a watch- or break-point with a condition that involves untagging a structure, e.g. XFRAME or XSTRING, GDB gives me something like the following: Error in testing breakpoint condition: Couldn't get registers: No such process. An error occurred while in a function called from GDB. Evaluation of the expression containing the function (SDATA) will be abandoned. When the function is done executing, GDB will silently stop. Selected thread is running. Where SDATA may also be XFRAME/XSTRING depending on the condition. Not sure what that's about. In any case, I was able to manually continue execution until init_iterator was dealing with the desired frame. If you know of a way to streamline this, please let me know. Note that, at the time that I issue 'bt full' in the attached log, the single visible *scratch* frame has the following in the echo area: Error during bug-reference-auto-setup: (no-catch sucess t) So there's an uncaught signal (presumably due to a typo) in the mix too. Thanks, -- Basil --=-=-= Content-Type: application/gzip Content-Disposition: attachment; filename=gdb-watch.txt.gz Content-Transfer-Encoding: base64 Content-Description: GDB log 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 CsGe7vEubj6a1lwACJfrxnTOAwA= --=-=-=--