* recent emacs input crashes (X/GTK related)
@ 2004-04-15 6:51 Miles Bader
2004-04-15 7:45 ` Miles Bader
2004-04-15 9:00 ` Jan D.
0 siblings, 2 replies; 4+ messages in thread
From: Miles Bader @ 2004-04-15 6:51 UTC (permalink / raw)
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=utf-8, Size: 15633 bytes --]
Quite recently (only within the last few days?) I've very frequently
seen emacs crash like the following:
1) create a new window with C-x 5 2
2) switch to the new window
3) try to give some emacs command in it -- and notice it doesn't respond
4) switching back to the old window allows you to enter commands just
like normal, it's just the new window that ignores all inputs
5) deleting the new window will usually then make emacs crash shortly
(I usually make a new new window after that, but I'm not sure if
it's necessary)
6) sometimes it crashes directly at step 3
Here's a backtrace from point 5:
Current directory is /usr/local/
GNU gdb 6.1-debian
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i386-linux"...Using host libthread_db library "/lib/tls/libthread_db.so.1".
(gdb) run
Starting program: /usr/local/bin/emacs
Program received signal SIGSEGV, Segmentation fault.
0x40bdd110 in _XimCbDispatch () from /usr/X11R6/lib/X11/locale/lib/common/ximcp.so.2
(gdb) ba
#0 0x40bdd110 in _XimCbDispatch () from /usr/X11R6/lib/X11/locale/lib/common/ximcp.so.2
#1 0x40bdd2b2 in _XimCbDispatch () from /usr/X11R6/lib/X11/locale/lib/common/ximcp.so.2
#2 0x40596ce5 in XFilterEvent () from /usr/X11R6/lib/libX11.so.6
#3 0x080fc144 in event_handler_gdk (gxev=0xbfffccb4, ev=0x86a46c8, data=0x0) at /usr/local/src/emacs/miles/src/xterm.c:5749
#4 0x4032fd68 in gdk_event_get_graphics_expose () from /usr/lib/libgdk-x11-2.0.so.0
#5 0x4033072b in gdk_x11_register_standard_event_type () from /usr/lib/libgdk-x11-2.0.so.0
#6 0x40331dcd in _gdk_events_queue () from /usr/lib/libgdk-x11-2.0.so.0
#7 0x40331f61 in _gdk_events_queue () from /usr/lib/libgdk-x11-2.0.so.0
#8 0x4046004a in g_main_depth () from /usr/lib/libglib-2.0.so.0
#9 0x40461128 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#10 0x40461460 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#11 0x404616cd in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#12 0x401379d5 in gtk_main_iteration () from /usr/lib/libgtk-x11-2.0.so.0
#13 0x080fd98c in XTread_socket (sd=0, expected=1, hold_quit=0xbfffdf74) at /usr/local/src/emacs/miles/src/xterm.c:7148
#14 0x0812e265 in read_avail_input (expected=1) at /usr/local/src/emacs/miles/src/keyboard.c:6625
#15 0x0812e44c in handle_async_input () at /usr/local/src/emacs/miles/src/keyboard.c:6767
#16 0x0812e491 in input_available_signal (signo=29) at /usr/local/src/emacs/miles/src/keyboard.c:6806
#17 <signal handler called>
#18 0x40721758 in select () from /lib/tls/libc.so.6
#19 0x081bbb1b in wait_reading_process_input (time_limit=0, microsecs=0, read_kbd=536870911, do_display=1) at /usr/local/src/emacs/miles/src/process.c:4319
#20 0x0812af53 in kbd_buffer_get_event (kbp=0xbfffe5ac, used_mouse_menu=0xbfffe7c8) at /usr/local/src/emacs/miles/src/keyboard.c:3846
#21 0x081297be in read_char (commandflag=1, nmaps=2, maps=0xbfffe78c, prev_event=675385360, used_mouse_menu=0xbfffe7c8) at /usr/local/src/emacs/miles/src/keyboard.c:2787
#22 0x08130a87 in read_key_sequence (keybuf=0xbfffe8f0, bufsize=30, prompt=675385360, dont_downcase_last=0, can_return_switch_frame=1, fix_current_buffer=1) at /usr/local/src/emacs/miles/src/keyboard.c:8770
#23 0x08126e33 in command_loop_1 () at /usr/local/src/emacs/miles/src/keyboard.c:1476
#24 0x08186d8e in internal_condition_case (bfun=0x8126c90 <command_loop_1>, handlers=675445256, hfun=0x81267e0 <cmd_error>) at /usr/local/src/emacs/miles/src/eval.c:1406
#25 0x08126b3e in command_loop_2 () at /usr/local/src/emacs/miles/src/keyboard.c:1264
#26 0x081868eb in internal_catch (tag=1, func=0x8126b10 <command_loop_2>, arg=675385360) at /usr/local/src/emacs/miles/src/eval.c:1167
#27 0x08126ade in command_loop () at /usr/local/src/emacs/miles/src/keyboard.c:1243
#28 0x08126574 in recursive_edit_1 () at /usr/local/src/emacs/miles/src/keyboard.c:959
#29 0x081266a1 in Frecursive_edit () at /usr/local/src/emacs/miles/src/keyboard.c:1015
#30 0x08124d80 in main (argc=1, argv=0xbfffefa4) at /usr/local/src/emacs/miles/src/emacs.c:1692
(gdb) up
#1 0x40bdd2b2 in _XimCbDispatch () from /usr/X11R6/lib/X11/locale/lib/common/ximcp.so.2
(gdb)
#2 0x40596ce5 in XFilterEvent () from /usr/X11R6/lib/libX11.so.6
(gdb)
#3 0x080fc144 in event_handler_gdk (gxev=0xbfffccb4, ev=0x86a46c8, data=0x0) at /usr/local/src/emacs/miles/src/xterm.c:5749
(gdb) li
5744 #ifdef HAVE_X_I18N
5745 /* Filter events for the current X input method.
5746 GTK calls XFilterEvent but not for key press and release,
5747 so we do it here. */
5748 if (xev->type == KeyPress || xev->type == KeyRelease)
5749 if (dpyinfo && x_filter_event (dpyinfo, xev))
5750 return GDK_FILTER_REMOVE;
5751 #endif
5752
5753 if (! dpyinfo)
(gdb) p xev
No symbol "xev" in current context.
(gdb) p gxev
$1 = (GdkXEvent *) 0xbfffccb4
(gdb) p *(XEvent *)gxev
$2 = {type = 2, xany = {type = 2, serial = 7447, send_event = 0,
display = 0x8671590, window = 33554901}, xkey = {type = 2, serial = 7447,
send_event = 0, display = 0x8671590, window = 33554901, root = 59,
subwindow = 0, time = 20910668, x = 213, y = 161, x_root = 224,
y_root = 301, state = 0, keycode = 37, same_screen = 1}, xbutton = {
type = 2, serial = 7447, send_event = 0, display = 0x8671590,
window = 33554901, root = 59, subwindow = 0, time = 20910668, x = 213,
y = 161, x_root = 224, y_root = 301, state = 0, button = 37,
same_screen = 1}, xmotion = {type = 2, serial = 7447, send_event = 0,
display = 0x8671590, window = 33554901, root = 59, subwindow = 0,
time = 20910668, x = 213, y = 161, x_root = 224, y_root = 301, state = 0,
is_hint = 37 '%', same_screen = 1}, xcrossing = {type = 2, serial = 7447,
send_event = 0, display = 0x8671590, window = 33554901, root = 59,
subwindow = 0, time = 20910668, x = 213, y = 161, x_root = 224,
y_root = 301, mode = 0, detail = 37, same_screen = 1, focus = 33554685,
state = 4294967295}, xfocus = {type = 2, serial = 7447, send_event = 0,
display = 0x8671590, window = 33554901, mode = 59, detail = 0},
xexpose = {type = 2, serial = 7447, send_event = 0, display = 0x8671590,
window = 33554901, x = 59, y = 0, width = 20910668, height = 213,
count = 161}, xgraphicsexpose = {type = 2, serial = 7447, send_event = 0,
display = 0x8671590, drawable = 33554901, x = 59, y = 0,
width = 20910668, height = 213, count = 161, major_code = 224,
minor_code = 301}, xnoexpose = {type = 2, serial = 7447, send_event = 0,
display = 0x8671590, drawable = 33554901, major_code = 59,
minor_code = 0}, xvisibility = {type = 2, serial = 7447, send_event = 0,
display = 0x8671590, window = 33554901, state = 59}, xcreatewindow = {
type = 2, serial = 7447, send_event = 0, display = 0x8671590,
parent = 33554901, window = 59, x = 0, y = 20910668, width = 213,
height = 161, border_width = 224, override_redirect = 301},
xdestroywindow = {type = 2, serial = 7447, send_event = 0,
display = 0x8671590, event = 33554901, window = 59}, xunmap = {type = 2,
serial = 7447, send_event = 0, display = 0x8671590, event = 33554901,
window = 59, from_configure = 0}, xmap = {type = 2, serial = 7447,
send_event = 0, display = 0x8671590, event = 33554901, window = 59,
override_redirect = 0}, xmaprequest = {type = 2, serial = 7447,
send_event = 0, display = 0x8671590, parent = 33554901, window = 59},
xreparent = {type = 2, serial = 7447, send_event = 0, display = 0x8671590,
event = 33554901, window = 59, parent = 0, x = 20910668, y = 213,
override_redirect = 161}, xconfigure = {type = 2, serial = 7447,
send_event = 0, display = 0x8671590, event = 33554901, window = 59,
x = 0, y = 20910668, width = 213, height = 161, border_width = 224,
above = 301, override_redirect = 0}, xgravity = {type = 2, serial = 7447,
send_event = 0, display = 0x8671590, event = 33554901, window = 59,
x = 0, y = 20910668}, xresizerequest = {type = 2, serial = 7447,
send_event = 0, display = 0x8671590, window = 33554901, width = 59,
height = 0}, xconfigurerequest = {type = 2, serial = 7447,
send_event = 0, display = 0x8671590, parent = 33554901, window = 59,
x = 0, y = 20910668, width = 213, height = 161, border_width = 224,
above = 301, detail = 0, value_mask = 37}, xcirculate = {type = 2,
serial = 7447, send_event = 0, display = 0x8671590, event = 33554901,
window = 59, place = 0}, xcirculaterequest = {type = 2, serial = 7447,
send_event = 0, display = 0x8671590, parent = 33554901, window = 59,
place = 0}, xproperty = {type = 2, serial = 7447, send_event = 0,
display = 0x8671590, window = 33554901, atom = 59, time = 0,
state = 20910668}, xselectionclear = {type = 2, serial = 7447,
send_event = 0, display = 0x8671590, window = 33554901, selection = 59,
time = 0}, xselectionrequest = {type = 2, serial = 7447, send_event = 0,
display = 0x8671590, owner = 33554901, requestor = 59, selection = 0,
target = 20910668, property = 213, time = 161}, xselection = {type = 2,
serial = 7447, send_event = 0, display = 0x8671590, requestor = 33554901,
selection = 59, target = 0, property = 20910668, time = 213},
xcolormap = {type = 2, serial = 7447, send_event = 0, display = 0x8671590,
window = 33554901, colormap = 59, new = 0, state = 20910668}, xclient = {
type = 2, serial = 7447, send_event = 0, display = 0x8671590,
window = 33554901, message_type = 59, format = 0, data = {
b = "L\022?\001Õ\000\000\000¡\000\000\000à\000\000\000-\001\000", s = {
4684, 319, 213, 0, 161, 0, 224, 0, 301, 0}, l = {20910668, 213, 161,
224, 301}}}, xmapping = {type = 2, serial = 7447, send_event = 0,
display = 0x8671590, window = 33554901, request = 59, first_keycode = 0,
count = 20910668}, xerror = {type = 2, display = 0x1d17, resourceid = 0,
serial = 140973456, error_code = 213 'Õ', request_code = 1 '\001',
minor_code = 0 '\0'}, xkeymap = {type = 2, serial = 7447, send_event = 0,
display = 0x8671590, window = 33554901,
key_vector = ";\000\000\000\000\000\000\000L\022?\001Õ\000\000\000¡\000\000\000à\000\000\000-\001\000\000\000\000\000"}, pad = {2, 7447, 0, 140973456,
33554901, 59, 0, 20910668, 213, 161, 224, 301, 0, 37, 1, 33554685, -1,
-12, -141, 33554454, 0, 0, 0, 0}}
(gdb) p *dpyinfo
$3 = {next = 0x0, connection = 7, display = 0x8671590,
name_list_element = -1470323280, reference_count = 2, screen = 0x86725a8,
resx = 95.064327485380105, resy = 95.976383763837632, visual = 0x8672658,
cmap = 32, n_planes = 24, height = 1024, width = 1280, grabbed = 0,
icon_bitmap_id = -1, root_window = 59, client_leader_window = 0,
vertical_scroll_bar_cursor = 33554443, xg_cursor = 0x8685398,
xrdb = 0x86853b0, font_table = 0x86b0400, font_table_size = 16,
smallest_char_width = 10, smallest_font_height = 16,
scratch_cursor_gc = 0x0, mouse_face_beg_row = -1, mouse_face_beg_col = -1,
mouse_face_beg_x = 0, mouse_face_beg_y = 0, mouse_face_end_row = -1,
mouse_face_end_col = -1, mouse_face_end_x = 0, mouse_face_end_y = 0,
mouse_face_past_end = 0, mouse_face_window = 675385360,
mouse_face_face_id = 0, mouse_face_overlay = 675385360,
mouse_face_deferred_gc = 0, mouse_face_mouse_frame = 0x89b0148,
mouse_face_mouse_x = 212, mouse_face_mouse_y = 160, mouse_face_defer = 0,
mouse_face_hidden = 0, mouse_face_image_state = 0,
x_id_name = 0x8697c80 "emacs@mcspd15.ucom.lsi.nec.co.jp", n_fonts = 4,
bitmaps = 0x0, bitmaps_size = 0, bitmaps_last = 0, meta_mod_mask = 8,
shift_lock_mask = 0, alt_mod_mask = 0, super_mod_mask = 64,
hyper_mod_mask = 0, Xatom_wm_protocols = 223, Xatom_wm_take_focus = 221,
Xatom_wm_save_yourself = 275, Xatom_wm_delete_window = 220,
Xatom_wm_change_state = 281, Xatom_wm_configure_denied = 449,
Xatom_wm_window_moved = 450, Xatom_wm_client_leader = 226,
Xatom_editres = 451, Xatom_CLIPBOARD = 452, Xatom_TIMESTAMP = 311,
Xatom_TEXT = 453, Xatom_DELETE = 454, Xatom_COMPOUND_TEXT = 241,
Xatom_UTF8_STRING = 217, Xatom_MULTIPLE = 310, Xatom_INCR = 402,
Xatom_EMACS_TMP = 455, Xatom_TARGETS = 309, Xatom_NULL = 456,
Xatom_ATOM_PAIR = 313, Xatom_PIXEL_SIZE = 183,
Xatom_MULE_BASELINE_OFFSET = 457, Xatom_MULE_RELATIVE_COMPOSE = 458,
Xatom_MULE_DEFAULT_ASCENT = 459, Xatom_DONE = 461, Xatom_PAGE = 460,
Xatom_Scrollbar = 462, kboard = 0x8682bb0, cut_buffers_initialized = 0,
x_focus_frame = 0x89b0148, x_focus_event_frame = 0x89b0148,
x_highlight_frame = 0x89b0148, null_pixel = 33554444, gray = 33554446,
image_cache = 0x86853e8, xim = 0x869b288, xim_styles = 0x869b4b8,
color_cells = 0x0, ncolor_cells = 0, red_bits = 8, blue_bits = 8,
green_bits = 8, red_offset = 16, blue_offset = 0, green_offset = 8,
wm_type = X_WMTYPE_UNKNOWN}
(gdb) down
#2 0x40596ce5 in XFilterEvent () from /usr/X11R6/lib/libX11.so.6
(gdb) p current_finish
$4 = 0
(gdb) p current_hold_quit
$5 = (struct input_event *) 0xbfffdf74
(gdb) p *current_hold_quit
$6 = {kind = NO_EVENT, code = 0, part = scroll_bar_above_handle,
modifiers = 0, x = 0, y = 0, timestamp = 0, padding = {0x0, 0x0},
frame_or_window = 0, arg = 0}
(gdb) p current_count
$7 = 0
(gdb) down
#1 0x40bdd2b2 in _XimCbDispatch () from /usr/X11R6/lib/X11/locale/lib/common/ximcp.so.2
(gdb) up
#2 0x40596ce5 in XFilterEvent () from /usr/X11R6/lib/libX11.so.6
(gdb)
#3 0x080fc144 in event_handler_gdk (gxev=0xbfffccb4, ev=0x86a46c8, data=0x0) at /usr/local/src/emacs/miles/src/xterm.c:5749
(gdb) list x_filter_event
5704 #ifdef HAVE_X_I18N
5705 static int
5706 x_filter_event (dpyinfo, event)
5707 struct x_display_info *dpyinfo;
5708 XEvent *event;
5709 {
5710 /* XFilterEvent returns non-zero if the input method has
5711 consumed the event. We pass the frame's X window to
5712 XFilterEvent because that's the one for which the IC
5713 was created. */
(gdb)
5714
5715 struct frame *f1 = x_any_window_to_frame (dpyinfo,
5716 event->xclient.window);
5717
5718 return XFilterEvent (event, f1 ? FRAME_X_WINDOW (f1) : None);
5719 }
5720 #endif
5721
5722 #ifdef USE_GTK
5723 static int current_count;
(gdb) p ((XEvent *)gxev)->xclient.window
$8 = 33554901
-miles
--
We have met the enemy, and he is us. -- Pogo
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: recent emacs input crashes (X/GTK related)
2004-04-15 6:51 recent emacs input crashes (X/GTK related) Miles Bader
@ 2004-04-15 7:45 ` Miles Bader
2004-04-15 9:18 ` Jan D.
2004-04-15 9:00 ` Jan D.
1 sibling, 1 reply; 4+ messages in thread
From: Miles Bader @ 2004-04-15 7:45 UTC (permalink / raw)
Oh, BTW, I might mention I'm using the new GTK 2.4 release; I think that
got installed a while before these crashes started though.
-Miles
--
`Life is a boundless sea of bitterness'
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: recent emacs input crashes (X/GTK related)
2004-04-15 6:51 recent emacs input crashes (X/GTK related) Miles Bader
2004-04-15 7:45 ` Miles Bader
@ 2004-04-15 9:00 ` Jan D.
1 sibling, 0 replies; 4+ messages in thread
From: Jan D. @ 2004-04-15 9:00 UTC (permalink / raw)
Cc: emacs-devel
> Quite recently (only within the last few days?) I've very frequently
> seen emacs crash like the following:
>
> 1) create a new window with C-x 5 2
> 2) switch to the new window
> 3) try to give some emacs command in it -- and notice it doesn't
> respond
> 4) switching back to the old window allows you to enter commands just
> like normal, it's just the new window that ignores all inputs
> 5) deleting the new window will usually then make emacs crash shortly
> (I usually make a new new window after that, but I'm not sure if
> it's necessary)
> 6) sometimes it crashes directly at step 3
I can not reproduce this. As the code where the crash happens has not
changed in months, something else must have. Have you changed GTK or
X version lately? Any other changes, such as libc? It seems Debian
creates a lot of problems I can't reproduce :-) Are you running Debian
unstable? I may have to install that somewhere.
Jan D.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: recent emacs input crashes (X/GTK related)
2004-04-15 7:45 ` Miles Bader
@ 2004-04-15 9:18 ` Jan D.
0 siblings, 0 replies; 4+ messages in thread
From: Jan D. @ 2004-04-15 9:18 UTC (permalink / raw)
Cc: emacs-devel
> Oh, BTW, I might mention I'm using the new GTK 2.4 release; I think
> that
> got installed a while before these crashes started though.
I've been running 2.4 since it was released, but haven't seen any
problems.
But if you can try with 2.2 or 2.0 and see if the behaviour is still
there
that would tell us something. It may be that 2.4 does something bad
on some systems.
Jan D.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2004-04-15 9:18 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-04-15 6:51 recent emacs input crashes (X/GTK related) Miles Bader
2004-04-15 7:45 ` Miles Bader
2004-04-15 9:18 ` Jan D.
2004-04-15 9:00 ` Jan D.
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).