unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* 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

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).