GNU bug report logs -
#14161
assertion failed: EQ (selected_window, XFRAME (selected_frame)->selected_window)
Previous Next
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 14161 in the body.
You can then email your comments to 14161 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
dmantipov <at> yandex.ru, bug-gnu-emacs <at> gnu.org
:
bug#14161
; Package
emacs
.
(Mon, 08 Apr 2013 17:45:01 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Stefan Monnier <monnier <at> iro.umontreal.ca>
:
New bug report received and forwarded. Copy sent to
dmantipov <at> yandex.ru, bug-gnu-emacs <at> gnu.org
.
(Mon, 08 Apr 2013 17:45:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Making it into a bug report.
[Message part 2 (message/rfc822, inline)]
Found 100% method to hit eassert introduced in r110971 within update_tool_bar:
1) ./src/emacs -nw -Q
2) M-x make-frame-on-display :0
3) Move mouse to new X frame and left-click;
4) Move mouse back to TTY frame and left-click;
5) Press C-g staying in TTY frame ==>
#0 0x0000003daf40eedb in raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/pt-raise.c:41
#1 0x00000000005a1cf2 in terminate_due_to_signal (sig=6, backtrace_limit=2147483647)
at src/emacs.c:343
#2 0x000000000065d92d in die (msg=0x79db98 "assertion failed: EQ (selected_window, XFRAME (selected_frame)->selected_window)", file=
0x79b560 "src/xdisp.c", line=11427) at src/alloc.c:6522
#3 0x000000000044c6b5 in update_tool_bar (f=f <at> entry=0x14a29d8, save_match_data=save_match_data <at> entry=0)
at src/xdisp.c:11424
#4 0x000000000045fd3a in update_tool_bar (save_match_data=0, f=0x14a29d8) at src/xdisp.c:11094
#5 prepare_menu_bars () at src/xdisp.c:11123
#6 0x000000000046beea in redisplay_internal () at src/xdisp.c:12929
#7 0x00000000005aa3eb in read_char (commandflag=1, map=..., prev_event=..., used_mouse_menu=0x7fffb36ebbff, end_time=0x0)
at src/keyboard.c:2417
#8 0x00000000005c0a59 in read_decoded_char (commandflag=1, map=..., prev_event=..., used_mouse_menu=0x7fffb36ebbff)
at src/keyboard.c:8712
#9 0x00000000005c17ad in read_key_sequence (keybuf=0x7fffb36ebdc0, bufsize=30, prompt=..., dont_downcase_last=false,
can_return_switch_frame=true, fix_current_buffer=true) at src/keyboard.c:9044
#10 0x00000000005a71ca in command_loop_1 () at src/keyboard.c:1452
#11 0x0000000000681f1b in internal_condition_case (bfun=0x5a6c44 <command_loop_1>, handlers=..., hfun=0x5a634a <cmd_error>)
at src/eval.c:1193
#12 0x00000000005a6861 in command_loop_2 (ignore=...) at src/keyboard.c:1167
#13 0x00000000006817cb in internal_catch (tag=..., func=0x5a683e <command_loop_2>, arg=...)
at src/eval.c:964
#14 0x00000000005a6815 in command_loop () at src/keyboard.c:1146
#15 0x00000000005a5b9a in recursive_edit_1 () at src/keyboard.c:779
#16 0x00000000005a5f77 in Frecursive_edit () at src/keyboard.c:843
#17 0x00000000005a367f in main (argc=3, argv=0x7fffb36ec488) at src/emacs.c:1531
Dmitry
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#14161
; Package
emacs
.
(Mon, 08 Apr 2013 18:10:01 GMT)
Full text and
rfc822 format available.
Message #8 received at 14161 <at> debbugs.gnu.org (full text, mbox):
> 1) ./src/emacs -nw -Q
> 2) M-x make-frame-on-display :0
> 3) Move mouse to new X frame and left-click;
> 4) Move mouse back to TTY frame and left-click;
> 5) Press C-g staying in TTY frame ==>
> #2 0x000000000065d92d in die (msg=0x79db98 "assertion failed: EQ
> (selected_window, XFRAME (selected_frame)->selected_window)", file=
> 0x79b560 "src/xdisp.c", line=11427) at src/alloc.c:6522
I've installed the patch below which seems to fix this problem for me.
Stefan
=== modified file 'src/window.c'
--- src/window.c 2013-04-02 01:54:56 +0000
+++ src/window.c 2013-04-08 17:58:36 +0000
@@ -485,12 +485,6 @@
w = XWINDOW (window);
w->frozen_window_start_p = 0;
- if (NILP (norecord))
- {
- w->use_time = ++window_select_count;
- record_buffer (w->contents);
- }
-
/* Make the selected window's buffer current. */
Fset_buffer (w->contents);
@@ -515,6 +509,15 @@
select_window_1 (window, inhibit_point_swap);
+ /* record_buffer can run QUIT, so make sure it is run only after we have
+ re-established the invariant between selected_window and selected_frame,
+ otherwise the temporary broken invariant might "escape" (bug#14161). */
+ if (NILP (norecord))
+ {
+ w->use_time = ++window_select_count;
+ record_buffer (w->contents);
+ }
+
bset_last_selected_window (XBUFFER (w->contents), window);
windows_or_buffers_changed++;
return window;
bug closed, send any further explanations to
14161 <at> debbugs.gnu.org and Stefan Monnier <monnier <at> iro.umontreal.ca>
Request was from
Glenn Morris <rgm <at> gnu.org>
to
control <at> debbugs.gnu.org
.
(Fri, 26 Apr 2013 23:57:02 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, 25 May 2013 11:24:04 GMT)
Full text and
rfc822 format available.
This bug report was last modified 12 years and 31 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.