bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#14828: 24.3.50; crash on exit from ediff


From: Jan Djärv
Subject: bug#14828: 24.3.50; crash on exit from ediff
Date: Tue, 9 Jul 2013 10:15:08 +0200

Hello.

8 jul 2013 kl. 22:05 skrev Sam Steingold <sds@gnu.org>:

> I ran ediff, hit q in the tiny "command" frame and both it and the main
> emacs frame disappeared. I.e., there are no emacs frames (windows) on my
> desktop. However, emacs is still running (at 100% CPU!):
> 
> 13425 sds       20   0  639m 179m  12m R  99.7  2.3  30:48.11 emacs
> 
> (gdb) xbacktrace 
> 

This is the root cause:

> #22 0x00000000004b1441 in x_connection_closed (dpy=dpy@entry=0xc35d40, 
> error_message=<optimized out>, 
>    error_message@entry=0x7fffffffb720 "X protocol error: BadWindow (invalid 
> Window parameter) on protocol request 42")
>    at /home/sds/src/emacs/trunk/src/xterm.c:7756
>        dpyinfo = 0xd35e40
>        tail = 15780134
> #23 0x00000000004b37f2 in x_error_quitter (display=0xc35d40, event=<optimized 
> out>, event=<optimized out>)
>    at /home/sds/src/emacs/trunk/src/xterm.c:7869
>        buf = "BadWindow (invalid Window parameter)", '\000' <repeats 219 
> times>
>        buf1 = "X protocol error: BadWindow (invalid Window parameter) on 
> protocol request 
> 42\000\000\000\320\t\375\367\377\177\000\000}9\362\364\377\177\000\000X*\362\364\377\177\000\000@\353\361\364\377\177\000\000\000\000\000\000\005\000\000\000\276\002\000\000\001",
>  '\000' <repeats 11 times>, "H\271\377\377\377\177\000\000 
> \271\377\377\377\177\000\000\000\000\000\000\000\000\000\000(\r\375\367\377\177\000\000\320\t\375\367\377\177\000\000\005\000\000\000\000\000\000\000\311A\336\367\377\177",
>  '\000' <repeats 18 times>...
> #24 0x00000000004b3845 in x_error_handler (event=<optimized out>, 
> display=<optimized out>) at /home/sds/src/emacs/trunk/src/xterm.c:7839
> No locals.
> #25 x_error_handler (display=<optimized out>, event=<optimized out>) at 
> /home/sds/src/emacs/trunk/src/xterm.c:7825
> No locals.
> #26 0x00007ffff4f5d516 in _XError () from 
> /usr/lib/x86_64-linux-gnu/libX11.so.6
> No symbol table info available.
> #27 0x00007ffff4f5a791 in ?? () from /usr/lib/x86_64-linux-gnu/libX11.so.6
> No symbol table info available.
> #28 0x00007ffff4f5a7d5 in ?? () from /usr/lib/x86_64-linux-gnu/libX11.so.6
> No symbol table info available.
> #29 0x00007ffff4f5b3c8 in _XReply () from 
> /usr/lib/x86_64-linux-gnu/libX11.so.6
> No symbol table info available.
> #30 0x00007ffff4f56d5d in XSync () from /usr/lib/x86_64-linux-gnu/libX11.so.6
> No symbol table info available.
> #31 0x00007ffff66c3499 in gdk_window_process_all_updates () from 
> /usr/lib/x86_64-linux-gnu/libgdk-3.so.0
> No symbol table info available.
> #32 0x00000000004b6173 in x_catch_errors (dpy=0xc35d40) at 
> /home/sds/src/emacs/trunk/src/xterm.c:7611
>        data = 0x56cdbd0
> #33 0x00000000004b666c in frame_highlight (f=0x1134950) at 
> /home/sds/src/emacs/trunk/src/xterm.c:3363
> No locals.
> #34 x_frame_rehighlight (dpyinfo=<optimized out>, dpyinfo=<optimized out>) at 
> /home/sds/src/emacs/trunk/src/xterm.c:3572
>        old_highlight = 0x0
> #35 0x00000000004b689b in x_focus_changed (frame=0x1134950, 
> dpyinfo=<optimized out>, state=2, type=<optimized out>, bufp=<optimized out>)
>    at /home/sds/src/emacs/trunk/src/xterm.c:3430
> No locals.
> #36 x_focus_changed (type=<optimized out>, state=2, dpyinfo=<optimized out>, 
> frame=0x1134950, bufp=<optimized out>, bufp=<optimized out>)
>    at /home/sds/src/emacs/trunk/src/xterm.c:3424
> No locals.
> #37 0x00000000004b6a42 in x_detect_focus_change (dpyinfo=<optimized out>, 
> event=<optimized out>, bufp=<optimized out>)
>    at /home/sds/src/emacs/trunk/src/xterm.c:3515
>        msg = <optimized out>
>        frame = <optimized out>

42 is SetInputFocus.  So Emacs tries to set focus to an X window that has been 
deleted.  That fails, and Emacs tries to close the display.  The loop you see 
is just the old Gtk+ bug, it can't close a display properly.

Does it happen all the time?  My guess is that it is some sort of timing 
involved, like an X window has been deleted on the server, but Emacs has not 
updated its state yet.

        Jan D.







reply via email to

[Prev in Thread] Current Thread [Next in Thread]