GNU bug report logs - #60096
29.0.60; Crash in format_mode_line_unwind_data

Previous Next

Package: emacs;

Reported by: Juri Linkov <juri <at> linkov.net>

Date: Thu, 15 Dec 2022 17:40:02 UTC

Severity: normal

Found in version 29.0.60

Done: Juri Linkov <juri <at> linkov.net>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Juri Linkov <juri <at> linkov.net>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#60096: closed (29.0.60; Crash in format_mode_line_unwind_data)
Date: Fri, 16 Dec 2022 07:34:02 +0000
[Message part 1 (text/plain, inline)]
Your message dated Fri, 16 Dec 2022 09:31:36 +0200
with message-id <86cz8jls87.fsf <at> mail.linkov.net>
and subject line Re: bug#60096: 29.0.60; Crash in format_mode_line_unwind_data
has caused the debbugs.gnu.org bug report #60096,
regarding 29.0.60; Crash in format_mode_line_unwind_data
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
60096: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=60096
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Juri Linkov <juri <at> linkov.net>
To: bug-gnu-emacs <at> gnu.org
Subject: 29.0.60; Crash in format_mode_line_unwind_data
Date: Thu, 15 Dec 2022 19:04:30 +0200
0. emacs -Q
1. Evaluate:

(add-hook 'kill-buffer-hook
          (lambda ()
            (run-with-timer 0 nil (lambda () (tab-bar-select-tab 1)))))

2. Type:

C-x t 2
C-x k RET

Thread 1 "emacs" received signal SIGSEGV, Segmentation fault.
format_mode_line_unwind_data (target_frame=target_frame <at> entry=0x5555563c3310, obuf=<optimized out>, owin=XIL(0x55555602562d), save_proptrans=save_proptrans <at> entry=false) at xdisp.c:13223
13223	      current_buffer = b;
(gdb) bt
#0  format_mode_line_unwind_data (target_frame=target_frame <at> entry=0x5555563c3310, obuf=<optimized out>, owin=XIL(0x55555602562d), save_proptrans=save_proptrans <at> entry=false) at xdisp.c:13223
#1  0x0000555555600752 in gui_consider_frame_title (frame=XIL(0x5555563c3315)) at xdisp.c:13417
#2  0x0000555555605219 in prepare_menu_bars () at xdisp.c:13544
#3  redisplay_internal () at xdisp.c:16462
#4  0x00005555556ea03a in read_char (commandflag=1, map=XIL(0x555556770ea3), prev_event=XIL(0), used_mouse_menu=0x7fffffffddcb, end_time=0x0) at keyboard.c:2627
#5  0x00005555556ec658 in read_key_sequence (keybuf=<optimized out>, prompt=XIL(0), dont_downcase_last=<optimized out>, can_return_switch_frame=true, fix_current_buffer=true, prevent_redisplay=<optimized out>) at keyboard.c:10074
#6  0x00005555556ee2c0 in command_loop_1 () at lisp.h:1171
#7  0x000055555576a1b7 in internal_condition_case (bfun=bfun <at> entry=0x5555556ee0e0 <command_loop_1>, handlers=handlers <at> entry=XIL(0x90), hfun=hfun <at> entry=0x5555556e11b0 <cmd_error>) at eval.c:1474
#8  0x00005555556d986a in command_loop_2 (handlers=handlers <at> entry=XIL(0x90)) at keyboard.c:1125
#9  0x000055555576a0f9 in internal_catch (tag=tag <at> entry=XIL(0xfa80), func=func <at> entry=0x5555556d9840 <command_loop_2>, arg=arg <at> entry=XIL(0x90)) at eval.c:1197
#10 0x00005555556d9806 in command_loop () at lisp.h:1171
#11 0x00005555556e0d08 in recursive_edit_1 () at keyboard.c:712
#12 0x00005555556e10b0 in Frecursive_edit () at keyboard.c:795
#13 0x00005555555b1a73 in main (argc=<optimized out>, argv=<optimized out>) at emacs.c:2529

Lisp Backtrace:
"redisplay_internal (C function)" (0x0)
(gdb) l
13218
13219	      /* If we select a window on another frame, make sure that that
13220		 selection does not leave its buffer's point modified when
13221		 unwinding (Bug#32777).  */
13222	      ASET (vector, 10, buffer);
13223	      current_buffer = b;
13224	      ASET (vector, 11, build_marker (current_buffer, PT, PT_BYTE));
13225	      current_buffer = cb;
13226	    }
13227
(gdb) p buffer
$3 = XIL(0)

This means that at this point the value of this is nil:

  XWINDOW (target_frame->selected_window)->contents;


[Message part 3 (message/rfc822, inline)]
From: Juri Linkov <juri <at> linkov.net>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 60096-done <at> debbugs.gnu.org
Subject: Re: bug#60096: 29.0.60; Crash in format_mode_line_unwind_data
Date: Fri, 16 Dec 2022 09:31:36 +0200
>> (add-hook 'kill-buffer-hook
>>           (lambda ()
>>             (run-with-timer 0 nil (lambda () (tab-bar-select-tab 1)))))
>> 
>> 2. Type:
>> 
>> C-x t 2
>> C-x k RET
>> 
>> Thread 1 "emacs" received signal SIGSEGV, Segmentation fault.
>> format_mode_line_unwind_data (target_frame=target_frame <at> entry=0x5555563c3310, obuf=<optimized out>, owin=XIL(0x55555602562d), save_proptrans=save_proptrans <at> entry=false) at xdisp.c:13223
>> 13223	      current_buffer = b;
>
> Thanks, should be fixed now on the release branch.

I confirm that it's fixed, so closing.

PS: I wonder why now *scratch* shows keybindings inside
non-standard quotation marks: "C-x C-f"?  Why not 'C-x C-f'?
Or `C-x C-f'?


This bug report was last modified 2 years and 215 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.