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 #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 , handlers=675445256, hfun=0x81267e0 ) 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 , 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