GNU bug report logs - #13012
Assertion failure in xdisp.c:window_outdated

Previous Next

Package: emacs;

Reported by: Juanma Barranquero <lekktu <at> gmail.com>

Date: Tue, 27 Nov 2012 16:36:02 UTC

Severity: normal

Merged with 13007, 13020

Found in version 24.3.50

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 13012 in the body.
You can then email your comments to 13012 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#13012; Package emacs. (Tue, 27 Nov 2012 16:36:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Juanma Barranquero <lekktu <at> gmail.com>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Tue, 27 Nov 2012 16:36:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Juanma Barranquero <lekktu <at> gmail.com>
To: Bug-Gnu-Emacs <bug-gnu-emacs <at> gnu.org>
Subject: Assertion failure in xdisp.c:window_outdated
Date: Tue, 27 Nov 2012 17:32:18 +0100
Package: emacs
Version: 24.3.50


emacs -Q --eval "(setq mode-line-position '(:propertize \"%l/%c\" face
default))" -f server-mode
emacsclient -n some-file

xdisp.c:10906: Emacs fatal error: assertion failed: XBUFFER
(w->buffer) == current_buffer

Breakpoint 1, terminate_due_to_signal (sig=22,
backtrace_limit=2147483647) at emacs.c:314
314       signal (sig, SIG_DFL);
(gdb) bt
#0  terminate_due_to_signal (sig=22, backtrace_limit=2147483647) at emacs.c:314
#1  0x010218da in die (msg=0x15c5930 "assertion failed: XBUFFER
(w->buffer) == current_buffer", file=0x15bdfb0 "xdisp.c", line=10906)
    at alloc.c:6487
#2  0x011fe645 in window_outdated (w=0x39bda68
<__register_frame_info+60545640>) at xdisp.c:10906
#3  0x01205964 in redisplay_internal () at xdisp.c:13151
#4  0x012078a3 in redisplay_preserve_echo_area (from_where=12) at xdisp.c:13749
#5  0x0102ba8e in wait_reading_process_output (time_limit=0, nsecs=0,
read_kbd=-1, do_display=true, wait_for_cell=57452570, wait_proc=0x0,
    just_wait_proc=0) at process.c:4771
#6  0x0103f577 in kbd_buffer_get_event (kbp=0x88f7fc,
used_mouse_menu=0x88fa53, end_time=0x0) at keyboard.c:3784
#7  0x0103c1af in read_char (commandflag=1, nmaps=2, maps=0x88f980,
prev_event=57452570, used_mouse_menu=0x88fa53, end_time=0x0) at
keyboard.c:2756
#8  0x0104f141 in read_key_sequence (keybuf=0x88fbd0, bufsize=30,
prompt=57452570, dont_downcase_last=false,
can_return_switch_frame=true,
    fix_current_buffer=true) at keyboard.c:9201
#9  0x01038850 in command_loop_1 () at keyboard.c:1448
#10 0x01010c7b in internal_condition_case (bfun=0x103836a
<command_loop_1>, handlers=57502866, hfun=0x1037b89 <cmd_error>) at
eval.c:1192
#11 0x01037fe3 in command_loop_2 (ignore=57452570) at keyboard.c:1163
#12 0x010106d8 in internal_catch (tag=57492722, func=0x1037fbf
<command_loop_2>, arg=57452570) at eval.c:963
#13 0x01037f9d in command_loop () at keyboard.c:1142
#14 0x01037557 in recursive_edit_1 () at keyboard.c:774
#15 0x01037884 in Frecursive_edit () at keyboard.c:838
#16 0x0100298b in main (argc=6, argv=0x963168) at emacs.c:1560

Lisp Backtrace:
"redisplay_internal (C function)" (0x167333c)
(gdb)




Merged 13007 13012. Request was from Glenn Morris <rgm <at> gnu.org> to control <at> debbugs.gnu.org. (Tue, 27 Nov 2012 16:45:01 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#13012; Package emacs. (Tue, 27 Nov 2012 17:47:01 GMT) Full text and rfc822 format available.

Message #10 received at 13012 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Juanma Barranquero <lekktu <at> gmail.com>
Cc: 13012 <at> debbugs.gnu.org
Subject: Re: bug#13012: Assertion failure in xdisp.c:window_outdated
Date: Tue, 27 Nov 2012 19:44:49 +0200
> From: Juanma Barranquero <lekktu <at> gmail.com>
> Date: Tue, 27 Nov 2012 17:32:18 +0100
> 
> Package: emacs
> Version: 24.3.50
> 
> 
> emacs -Q --eval "(setq mode-line-position '(:propertize \"%l/%c\" face
> default))" -f server-mode
> emacsclient -n some-file
> 
> xdisp.c:10906: Emacs fatal error: assertion failed: XBUFFER
> (w->buffer) == current_buffer

This is a duplicate of 13007.

> (gdb) bt
> #0  terminate_due_to_signal (sig=22, backtrace_limit=2147483647) at emacs.c:314
> #1  0x010218da in die (msg=0x15c5930 "assertion failed: XBUFFER
> (w->buffer) == current_buffer", file=0x15bdfb0 "xdisp.c", line=10906)
>     at alloc.c:6487
> #2  0x011fe645 in window_outdated (w=0x39bda68
> <__register_frame_info+60545640>) at xdisp.c:10906

What is w->buffer in this frame?




Merged 13007 13012. Request was from Eli Zaretskii <eliz <at> gnu.org> to control <at> debbugs.gnu.org. (Tue, 27 Nov 2012 18:04:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#13012; Package emacs. (Tue, 27 Nov 2012 18:05:02 GMT) Full text and rfc822 format available.

Message #15 received at 13012 <at> debbugs.gnu.org (full text, mbox):

From: Juanma Barranquero <lekktu <at> gmail.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 13012 <at> debbugs.gnu.org
Subject: Re: bug#13012: Assertion failure in xdisp.c:window_outdated
Date: Tue, 27 Nov 2012 19:01:42 +0100
On Tue, Nov 27, 2012 at 6:44 PM, Eli Zaretskii <eliz <at> gnu.org> wrote:

> This is a duplicate of 13007.

Yes.

> What is w->buffer in this frame?

I did emacsclient -f server README.

(gdb) frame 2
#2  0x011fe645 in window_outdated (w=0x39bda68
<__register_frame_info+60545640>) at xdisp.c:10906
10906     eassert (XBUFFER (w->buffer) == current_buffer);
(gdb) p w->buffer
$1 = 57627653
(gdb) xtype
Lisp_Vectorlike
PVEC_BUFFER
(gdb) xvector
$2 = (struct Lisp_Vector *) 0x36f5400 <__register_frame_info+57627648>
0
(gdb) p w->buffer
$3 = 57627653
(gdb) xbuffer
$4 = (struct buffer *) 0x36f5400 <__register_frame_info+57627648>
(unsigned char *) 0x3a1aa18 <__register_frame_info+60926488> "README"
(gdb) p current_buffer
$5 = (struct buffer *) 0x36d0e00 <__register_frame_info+57478656>
(gdb)




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#13012; Package emacs. (Tue, 27 Nov 2012 18:18:01 GMT) Full text and rfc822 format available.

Message #18 received at 13012 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Juanma Barranquero <lekktu <at> gmail.com>
Cc: 13012 <at> debbugs.gnu.org
Subject: Re: bug#13012: Assertion failure in xdisp.c:window_outdated
Date: Tue, 27 Nov 2012 20:15:11 +0200
> From: Juanma Barranquero <lekktu <at> gmail.com>
> Date: Tue, 27 Nov 2012 19:01:42 +0100
> Cc: 13012 <at> debbugs.gnu.org
> 
> > What is w->buffer in this frame?
> 
> I did emacsclient -f server README.
> 
> (gdb) frame 2
> #2  0x011fe645 in window_outdated (w=0x39bda68
> <__register_frame_info+60545640>) at xdisp.c:10906
> 10906     eassert (XBUFFER (w->buffer) == current_buffer);
> (gdb) p w->buffer
> $1 = 57627653
> (gdb) xtype
> Lisp_Vectorlike
> PVEC_BUFFER
> (gdb) xvector
> $2 = (struct Lisp_Vector *) 0x36f5400 <__register_frame_info+57627648>
> 0
> (gdb) p w->buffer
> $3 = 57627653
> (gdb) xbuffer
> $4 = (struct buffer *) 0x36f5400 <__register_frame_info+57627648>
> (unsigned char *) 0x3a1aa18 <__register_frame_info+60926488> "README"
> (gdb) p current_buffer
> $5 = (struct buffer *) 0x36d0e00 <__register_frame_info+57478656>
> (gdb)

At this point type

  (gdb) p current_buffer->name_
  (gdb) xstring




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#13012; Package emacs. (Tue, 27 Nov 2012 18:36:02 GMT) Full text and rfc822 format available.

Message #21 received at 13012 <at> debbugs.gnu.org (full text, mbox):

From: Juanma Barranquero <lekktu <at> gmail.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 13012 <at> debbugs.gnu.org
Subject: Re: bug#13012: Assertion failure in xdisp.c:window_outdated
Date: Tue, 27 Nov 2012 19:33:26 +0100
On Tue, Nov 27, 2012 at 7:15 PM, Eli Zaretskii <eliz <at> gnu.org> wrote:

> At this point type
>
>   (gdb) p current_buffer->name_
>   (gdb) xstring

(gdb) p current_buffer->name_
$6 = 57479185
(gdb) xstring
$7 = (struct Lisp_String *) 0x36d1010 <__register_frame_info+57479184>
"*scratch*"




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#13012; Package emacs. (Tue, 27 Nov 2012 18:54:01 GMT) Full text and rfc822 format available.

Message #24 received at 13012 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Juanma Barranquero <lekktu <at> gmail.com>
Cc: 13012 <at> debbugs.gnu.org
Subject: Re: bug#13012: Assertion failure in xdisp.c:window_outdated
Date: Tue, 27 Nov 2012 20:51:27 +0200
> From: Juanma Barranquero <lekktu <at> gmail.com>
> Date: Tue, 27 Nov 2012 19:33:26 +0100
> Cc: 13012 <at> debbugs.gnu.org
> 
> On Tue, Nov 27, 2012 at 7:15 PM, Eli Zaretskii <eliz <at> gnu.org> wrote:
> 
> > At this point type
> >
> >   (gdb) p current_buffer->name_
> >   (gdb) xstring
> 
> (gdb) p current_buffer->name_
> $6 = 57479185
> (gdb) xstring
> $7 = (struct Lisp_String *) 0x36d1010 <__register_frame_info+57479184>
> "*scratch*"

I guess this means the eassert in window_outdated should be removed
entirely, because this case is with 2 different buffers, none of them
minibuffer.  IOW, the assumption that we always work on a window that
displays the current buffer at that point in redisplay_internal --
this assumption is false.




Merged 13007 13012 13020. Request was from Juanma Barranquero <lekktu <at> gmail.com> to control <at> debbugs.gnu.org. (Wed, 28 Nov 2012 17:45:03 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sat, 30 Jan 2016 12:24:03 GMT) Full text and rfc822 format available.

This bug report was last modified 9 years and 143 days ago.

Previous Next


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