* bug#13012: Assertion failure in xdisp.c:window_outdated
@ 2012-11-27 16:32 Juanma Barranquero
2012-11-27 17:44 ` Eli Zaretskii
0 siblings, 1 reply; 6+ messages in thread
From: Juanma Barranquero @ 2012-11-27 16:32 UTC (permalink / raw)
To: 13012
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)
^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#13012: Assertion failure in xdisp.c:window_outdated
2012-11-27 16:32 bug#13012: Assertion failure in xdisp.c:window_outdated Juanma Barranquero
@ 2012-11-27 17:44 ` Eli Zaretskii
2012-11-27 18:01 ` Juanma Barranquero
0 siblings, 1 reply; 6+ messages in thread
From: Eli Zaretskii @ 2012-11-27 17:44 UTC (permalink / raw)
To: Juanma Barranquero; +Cc: 13012
> From: Juanma Barranquero <lekktu@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?
^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#13012: Assertion failure in xdisp.c:window_outdated
2012-11-27 17:44 ` Eli Zaretskii
@ 2012-11-27 18:01 ` Juanma Barranquero
2012-11-27 18:15 ` Eli Zaretskii
0 siblings, 1 reply; 6+ messages in thread
From: Juanma Barranquero @ 2012-11-27 18:01 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 13012
On Tue, Nov 27, 2012 at 6:44 PM, Eli Zaretskii <eliz@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)
^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#13012: Assertion failure in xdisp.c:window_outdated
2012-11-27 18:01 ` Juanma Barranquero
@ 2012-11-27 18:15 ` Eli Zaretskii
2012-11-27 18:33 ` Juanma Barranquero
0 siblings, 1 reply; 6+ messages in thread
From: Eli Zaretskii @ 2012-11-27 18:15 UTC (permalink / raw)
To: Juanma Barranquero; +Cc: 13012
> From: Juanma Barranquero <lekktu@gmail.com>
> Date: Tue, 27 Nov 2012 19:01:42 +0100
> Cc: 13012@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
^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#13012: Assertion failure in xdisp.c:window_outdated
2012-11-27 18:15 ` Eli Zaretskii
@ 2012-11-27 18:33 ` Juanma Barranquero
2012-11-27 18:51 ` Eli Zaretskii
0 siblings, 1 reply; 6+ messages in thread
From: Juanma Barranquero @ 2012-11-27 18:33 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 13012
On Tue, Nov 27, 2012 at 7:15 PM, Eli Zaretskii <eliz@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*"
^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#13012: Assertion failure in xdisp.c:window_outdated
2012-11-27 18:33 ` Juanma Barranquero
@ 2012-11-27 18:51 ` Eli Zaretskii
0 siblings, 0 replies; 6+ messages in thread
From: Eli Zaretskii @ 2012-11-27 18:51 UTC (permalink / raw)
To: Juanma Barranquero; +Cc: 13012
> From: Juanma Barranquero <lekktu@gmail.com>
> Date: Tue, 27 Nov 2012 19:33:26 +0100
> Cc: 13012@debbugs.gnu.org
>
> On Tue, Nov 27, 2012 at 7:15 PM, Eli Zaretskii <eliz@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.
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2012-11-27 18:51 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-11-27 16:32 bug#13012: Assertion failure in xdisp.c:window_outdated Juanma Barranquero
2012-11-27 17:44 ` Eli Zaretskii
2012-11-27 18:01 ` Juanma Barranquero
2012-11-27 18:15 ` Eli Zaretskii
2012-11-27 18:33 ` Juanma Barranquero
2012-11-27 18:51 ` Eli Zaretskii
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).