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#71224: 30.0.50; SIGSEGV in start_display Date: Thu, 30 May 2024 09:55:20 +0000 Message-ID: References: <86o78rv499.fsf@gnu.org> <86msoaszgj.fsf@gnu.org> <86jzjdu7iq.fsf@gnu.org> <86cyp5u4o5.fsf@gnu.org> <86mso8shj2.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="19526"; mail-complaints-to="usenet@ciao.gmane.io" Cc: 71224@debbugs.gnu.org To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Thu May 30 11:58:17 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 1sCcY5-0004wH-4l for geb-bug-gnu-emacs@m.gmane-mx.org; Thu, 30 May 2024 11:58:17 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sCcXh-0002DX-LX; Thu, 30 May 2024 05:57:53 -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 1sCcXg-0002Cy-9J for bug-gnu-emacs@gnu.org; Thu, 30 May 2024 05:57:52 -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 1sCcXg-0002pQ-0z for bug-gnu-emacs@gnu.org; Thu, 30 May 2024 05:57:52 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1sCcXq-0002oq-Bl for bug-gnu-emacs@gnu.org; Thu, 30 May 2024 05:58: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: Thu, 30 May 2024 09:58:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 71224 X-GNU-PR-Package: emacs Original-Received: via spool by 71224-submit@debbugs.gnu.org id=B71224.171706302810660 (code B ref 71224); Thu, 30 May 2024 09:58:02 +0000 Original-Received: (at 71224) by debbugs.gnu.org; 30 May 2024 09:57:08 +0000 Original-Received: from localhost ([127.0.0.1]:55526 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sCcWx-0002lo-6j for submit@debbugs.gnu.org; Thu, 30 May 2024 05:57:07 -0400 Original-Received: from mail-vs1-f42.google.com ([209.85.217.42]:46422) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sCcWv-0002kf-CX for 71224@debbugs.gnu.org; Thu, 30 May 2024 05:57:06 -0400 Original-Received: by mail-vs1-f42.google.com with SMTP id ada2fe7eead31-48a3995c90fso258379137.1 for <71224@debbugs.gnu.org>; Thu, 30 May 2024 02:56:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1717062949; x=1717667749; 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=u7hCtXJ2+kJ94R9hgt1SjabC93ZnBZWOv8VgaYhpcmQ=; b=ato12KFqrs5ELnvBiL0SuIgdDQxDwdqxM7cM98pjbrkpeNXv5GMnYA/mLSZV8fRNTj pmtailG7o3bB0SSLlQVAJ7JCqjlfDjp8doDN9hXW2XYp491+CymP+02JfQvIVbdnta8i jw1Nu2JTHDiaBpjcg3ZD+9dwD+/rpoBG7lXxoqL3V37v1T0LDMNWRapEDpndpfPyHiZm GVBgsyMvq9mYit8O+2sYN+1ybyvTcMWLuOsaVCXaEX7CAwmerjbf/hS3930C61vZC62U O9w0myWmIthtT4XLYnrftejS7v0OtW1m6mO+egE8Mn2rAYRS8A5DAD4MCEe0vEMgZ9eB n2iw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1717062949; x=1717667749; 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=u7hCtXJ2+kJ94R9hgt1SjabC93ZnBZWOv8VgaYhpcmQ=; b=vYON98hNO7XOqsoBcI2d4DOTSsWb9ISAq8Qj8YtfpZZFbqYFcB9AdAmNIBIY18ZHzB aaxbn2u71gs72insMp3lE4YI7sug1F8+uJEB/R5MJFokiInUv77P4ddlOgSA4dkJAHcb fy/on8GMGdI+zR7cOWAGIZnjn/ouQjyA/uaJy83SppQXdwBGKhlM/FnzO8N56tvlGGEs CTMhnXYI284lXAoME62vCGUI0XUvLq3fKu/lzbYgDpXmkrR683W/bbRVzrj6IWCzqGiF mYYjxaakoa3CIJZfVRPexoINMwu5RRVw98BhuEO6tz1sGfl3IPmv2vE4DR9aDW6eeFUr W9Bw== X-Gm-Message-State: AOJu0Yxzit3I9C7ntKUX4HUbUh4IjBzywnqirnWvGn8cHpnBxNh7rO3w PN0eex3xFIRFKMcrlqqgShWU85AZFiemttqEDCG6tfBcxtFeY8D4+IujzrJAbF7LgdbbvtaHYWK hAjnHsnhLgu4loNTpc9CmlIoxi0M= X-Google-Smtp-Source: AGHT+IFw8laMVeQ3Lai3xo8dqNf+O29Ub6xIA08iC5VBzBNXM612laPgSiX2MDGqlgG+50bb+IRmovF/lRbXbq4eiZ0= X-Received: by 2002:a05:6102:1245:b0:48b:a1c4:40c6 with SMTP id ada2fe7eead31-48bae9b39fdmr1890417137.4.1717062949160; Thu, 30 May 2024 02:55:49 -0700 (PDT) In-Reply-To: <86mso8shj2.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:286209 Archived-At: > Can you please reconfigure with --enable-checking=3D'yes,glyphs' and > with CFLAGS=3D'-O0 -g3', then rebuild and try reproducing? I'm curious > if you get SIGABRT instead because some assertion is violated. If so, > the assertion could tell us where and how this calamity started. I did a clean rebuild and am running with glyph debug. I found another crash related to glyph matrices, reported as bug #71274. But about this one: Even with glyph debug it causes a SIGSEGV due to a no glyph matrix, but this time it's the GLYPH_DEBUG code crashing early in redisplay_window. process server <955> no longer connected to pipe; closed it process server <956> no longer connected to pipe; closed it process server <957> no longer connected to pipe; closed it Lisp nesting exceeds =E2=80=98max-lisp-eval-depth=E2=80=99: 1601 Lisp nesting exceeds =E2=80=98max-lisp-eval-depth=E2=80=99 Lisp nesting exceeds =E2=80=98max-lisp-eval-depth=E2=80=99: 1601 Lisp nesting exceeds =E2=80=98max-lisp-eval-depth=E2=80=99: 1601 Lisp nesting exceeds =E2=80=98max-lisp-eval-depth=E2=80=99: 1601 Lisp nesting exceeds =E2=80=98max-lisp-eval-depth=E2=80=99: 1601 Lisp nesting exceeds =E2=80=98max-lisp-eval-depth=E2=80=99 Lisp nesting exceeds =E2=80=98max-lisp-eval-depth=E2=80=99: 1601 Lisp nesting exceeds =E2=80=98max-lisp-eval-depth=E2=80=99: 1601 Lisp nesting exceeds =E2=80=98max-lisp-eval-depth=E2=80=99: 1601 Lisp nesting exceeds =E2=80=98max-lisp-eval-depth=E2=80=99: 1601 Lisp nesting exceeds =E2=80=98max-lisp-eval-depth=E2=80=99: 1601 Lisp nesting exceeds =E2=80=98max-lisp-eval-depth=E2=80=99: 1601 Lisp nesting exceeds =E2=80=98max-lisp-eval-depth=E2=80=99: 1601 Lisp nesting exceeds =E2=80=98max-lisp-eval-depth=E2=80=99 Lisp nesting exceeds =E2=80=98max-lisp-eval-depth=E2=80=99: 1601 Lisp nesting exceeds =E2=80=98max-lisp-eval-depth=E2=80=99 Lisp nesting exceeds =E2=80=98max-lisp-eval-depth=E2=80=99: 1601 Lisp nesting exceeds =E2=80=98max-lisp-eval-depth=E2=80=99: 1601 Lisp nesting exceeds =E2=80=98max-lisp-eval-depth=E2=80=99 Garbage collecting... Garbage collecting...done Lisp nesting exceeds =E2=80=98max-lisp-eval-depth=E2=80=99: 1601 Lisp nesting exceeds =E2=80=98max-lisp-eval-depth=E2=80=99: 1601 Lisp nesting exceeds =E2=80=98max-lisp-eval-depth=E2=80=99 Lisp nesting exceeds =E2=80=98max-lisp-eval-depth=E2=80=99 Lisp nesting exceeds =E2=80=98max-lisp-eval-depth=E2=80=99: 1601 Program received signal SIGSEGV, Segmentation fault. 0x00005555555d772f in redisplay_window (window=3DXIL(0x555556d13e05), just_this_one_p=3Dfalse) at xdisp.c:19961 19961 *w->desired_matrix->method =3D 0; (gdb) pp window # (gdb) list 19961 19956 19957 SET_TEXT_POS (lpoint, PT, PT_BYTE); 19958 opoint =3D lpoint; 19959 19960 #ifdef GLYPH_DEBUG 19961 *w->desired_matrix->method =3D 0; 19962 #endif 19963 19964 if (!just_this_one_p && needs_no_redisplay (w)) 19965 return; Maybe we need more GLYPH_DEBUG assertions to catch null glyph matrices soon= er? I see similar checks in dispnew.c, e.g.: eassert (current_matrix && desired_matrix); I have reproduced this bug with emacs --fg-daemon -Q No need for the 2 lines I mentioned earlier (garbage-collection-messages, set-face-foreground). A next step for me could be setting up a breakpoint (or message) in the place where the glyph matrix is defined, to see if it's ever being defined, vs. it's defined and then cleared. But I'm still learning about glyph matrices and I don't know where they're expected vs. where null. I'm also trying to get better at gdb to detect when a variable (e.g. w->desired_matrix) changes. More debug info follows. (gdb) p *w $3 =3D { header =3D { size =3D 4611686018612097049 }, frame =3D XIL(0x555556b317a5), next =3D XIL(0x555556b31d5d), prev =3D XIL(0), parent =3D XIL(0), normal_lines =3D XIL(0x7ffff2ba7bf7), normal_cols =3D XIL(0x7ffff2ba7bef), new_total =3D make_fixnum(0), new_normal =3D make_fixnum(0), new_pixel =3D make_fixnum(0), contents =3D XIL(0x7ffff1ca065d), old_buffer =3D XIL(0), start =3D XIL(0x555556b31ccd), pointm =3D XIL(0x555556b31cfd), old_pointm =3D XIL(0x555556b31d2d), temslot =3D XIL(0), vertical_scroll_bar =3D XIL(0), vertical_scroll_bar_type =3D XIL(0x30), horizontal_scroll_bar =3D XIL(0), horizontal_scroll_bar_type =3D XIL(0x30), display_table =3D XIL(0), dedicated =3D XIL(0), combination_limit =3D XIL(0), window_parameters =3D XIL(0), cursor_type =3D XIL(0x30), mode_line_help_echo =3D XIL(0), current_matrix =3D 0x0, desired_matrix =3D 0x0, prev_buffers =3D XIL(0), next_buffers =3D XIL(0), use_time =3D 872, sequence_number =3D 533, change_stamp =3D 0, pixel_left =3D 0, pixel_top =3D 0, left_col =3D 0, top_line =3D 0, --Type for more, q to quit, c to continue without paging-- pixel_width =3D 80, pixel_height =3D 24, old_pixel_width =3D 0, old_pixel_height =3D 0, old_body_pixel_width =3D 0, old_body_pixel_height =3D 0, total_cols =3D 80, total_lines =3D 24, hscroll =3D 0, min_hscroll =3D 0, hscroll_whole =3D 0, last_modified =3D 0, last_overlay_modified =3D 0, last_point =3D 0, last_mark =3D 0, base_line_number =3D 0, base_line_pos =3D 0, column_number_displayed =3D -1, nrows_scale_factor =3D 1, ncols_scale_factor =3D 1, cursor =3D { x =3D 0, y =3D 0, hpos =3D 0, vpos =3D 0 }, phys_cursor =3D { x =3D 0, y =3D 0, hpos =3D 0, vpos =3D 0 }, output_cursor =3D { x =3D 0, y =3D 0, hpos =3D 0, vpos =3D 0 }, last_cursor_vpos =3D 0, left_fringe_width =3D -1, --Type for more, q to quit, c to continue without paging-- right_fringe_width =3D -1, left_margin_cols =3D 0, right_margin_cols =3D 0, scroll_bar_width =3D -1, scroll_bar_height =3D -1, mode_line_height =3D -1, header_line_height =3D -1, tab_line_height =3D -1, window_end_pos =3D 0, window_end_vpos =3D 0, mini =3D false, horizontal =3D false, update_mode_line =3D true, last_had_star =3D false, start_at_line_beg =3D false, force_start =3D false, optional_new_start =3D false, phys_cursor_on_p =3D false, cursor_off_p =3D false, last_cursor_off_p =3D false, must_be_updated_p =3D false, pseudo_window_p =3D false, fringes_outside_margins =3D false, fringes_persistent =3D false, scroll_bars_persistent =3D false, window_end_valid =3D false, redisplay =3D true, suspend_auto_hscroll =3D false, preserve_vscroll_p =3D false, vscroll =3D 0, window_end_bytepos =3D 0 } #0 0x00005555555d772f in redisplay_window (window=3DXIL(0x555556b31ac5), just_this_one_p=3Dfalse) at xdisp.c:19961 #1 0x00005555555d0991 in redisplay_window_0 (window=3DXIL(0x555556b31ac5)) at xdisp.c:18016 #2 0x000055555576c7b0 in internal_condition_case_1 ( bfun=3D0x5555555d094f , arg=3DXIL(0x555556b31ac5), handlers=3DXIL(0x7ffff1f56cdb), hfun=3D0x5555555d082d ) at eval.c:1637 #3 0x00005555555d0803 in redisplay_windows (window=3DXIL(0x555556b31ac5)) at xdisp.c:17985 #4 0x00005555555cf382 in redisplay_internal () at xdisp.c:17384 #5 0x00005555555cfec8 in redisplay_preserve_echo_area (from_where=3D2) at xdisp.c:17743 #6 0x0000555555594fe2 in Fredisplay (force=3DXIL(0)) at dispnew.c:6352 #7 0x00007ffff17a4e3d in F7369742d666f72_sit_for_0 () from /opt/dc/emacs/bin/../lib/emacs/30.0.50/native-lisp/30.0.50-3670981c= /preloaded/subr-13adf6a6-0e73955f.eln #8 0x0000555555770850 in funcall_subr (subr=3D0x7ffff18f3a10, numargs=3D1, args=3D0x7fffffb6e068) at eval.c:3163 #9 0x00005555557701f0 in funcall_general (fun=3DXIL(0x7ffff18f3a15), numar= gs=3D1, args=3D0x7fffffb6e068) at eval.c:3040 #10 0x00005555557704f9 in Ffuncall (nargs=3D2, args=3D0x7fffffb6e060) at ev= al.c:3093 #11 0x00007ffff1070163 in F7365727665722d72657475726e2d6572726f72_server_return_error_0 () from /home/dc/.emacs.d/eln-cache/30.0.50-3670981c/server-0cc44189-48d76b= ed.eln [=E2=80=A6] #12745 0x00005555556a67ff in read_key_sequence (keybuf=3D0x7fffffffd8e0, prompt=3DXIL(0), dont_downcase_last=3Dfalse, can_return_switch_frame=3D= true, fix_current_buffer=3Dtrue, prevent_redisplay=3Dfalse, disable_text_conversion_p=3Dfalse) at keyboard.c:10728 #12746 0x0000555555690ee7 in command_loop_1 () at keyboard.c:1429 #12747 0x000055555576c6cf in internal_condition_case ( bfun=3D0x555555690ab8 , handlers=3DXIL(0x90), hfun=3D0x55555568ff63 ) at eval.c:1613 #12748 0x0000555555690696 in command_loop_2 (handlers=3DXIL(0x90)) at keyboard.c:1168 #12749 0x000055555576bafc in internal_catch (tag=3DXIL(0xfc60), func=3D0x55555569066c , arg=3DXIL(0x90)) at eval.c:1292 #12750 0x0000555555690628 in command_loop () at keyboard.c:1146 #12751 0x000055555568fa05 in recursive_edit_1 () at keyboard.c:754 #12752 0x000055555568fc31 in Frecursive_edit () at keyboard.c:837 #12753 0x000055555568b698 in main (argc=3D3, argv=3D0x7fffffffdf08) at emac= s.c:2621