Package: emacs;
Reported by: sds <at> gnu.org
Date: Tue, 21 Aug 2012 18:22:01 UTC
Severity: normal
Found in version 24.2.50
Done: Glenn Morris <rgm <at> gnu.org>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 12251 in the body.
You can then email your comments to 12251 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
View this report as an mbox folder, status mbox, maintainer mbox
bug-gnu-emacs <at> gnu.org
:bug#12251
; Package emacs
.
(Tue, 21 Aug 2012 18:22:01 GMT) Full text and rfc822 format available.sds <at> gnu.org
:bug-gnu-emacs <at> gnu.org
.
(Tue, 21 Aug 2012 18:22:02 GMT) Full text and rfc822 format available.Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Sam Steingold <sds <at> gnu.org> To: bug-gnu-emacs <at> gnu.org Subject: 24.2.50; crash in note_mouse_highlight Date: Tue, 21 Aug 2012 14:20:48 -0400
In GNU Emacs 24.2.50.3 (x86_64-unknown-linux-gnu, X toolkit, Xaw3d scroll bars) of 2012-08-20 on t520sds Bzr revision: 109703 rgm <at> gnu.org-20120820181303-1o7qqwvj2z4q4cuu Windowing system distributor `The X.Org Foundation', version 11.0.11103000 Configured using: `configure '--with-wide-int'' emacs just crashed for me: Program received signal SIGSEGV, Segmentation fault. note_mouse_highlight (f=0x1175580, x=298, y=1012) at /home/sds/src/emacs/trunk/src/xdisp.c:27710 27710 && w->last_modified == BUF_MODIFF (b) (gdb) xbacktrace (gdb) backtrace #0 note_mouse_highlight (f=0x1175580, x=298, y=1012) at /home/sds/src/emacs/trunk/src/xdisp.c:27710 #1 0x00000000004b7668 in note_mouse_movement (frame=0x1175580, event=0x7fffffffc8a0) at /home/sds/src/emacs/trunk/src/xterm.c:3858 #2 0x00000000004c0101 in handle_one_xevent (dpyinfo=0x1336c10, eventptr=0x7fffffffc9c0, finish=0x7fffffffc9bc, hold_quit=0x7fffffffcd50) at /home/sds/src/emacs/trunk/src/xterm.c:6801 #3 0x00000000004c18b6 in XTread_socket (terminal=0xfc4d28, expected=<optimized out>, hold_quit=0x7fffffffcd50) at /home/sds/src/emacs/trunk/src/xterm.c:7185 #4 0x00000000004f91b7 in read_avail_input (expected=1) at /home/sds/src/emacs/trunk/src/keyboard.c:6897 #5 0x00000000004f92da in handle_async_input () at /home/sds/src/emacs/trunk/src/keyboard.c:7226 #6 0x00000000004b9ac5 in XTring_bell (f=<optimized out>) at /home/sds/src/emacs/trunk/src/xterm.c:3259 #7 XTring_bell (f=0x1175580) at /home/sds/src/emacs/trunk/src/xterm.c:3248 #8 0x00000000004f5da5 in cmd_error_internal (data=68832822, context=0x7fffffffcf30 "") at /home/sds/src/emacs/trunk/src/keyboard.c:1147 #9 0x00000000004f5f23 in cmd_error (data=68832822) at /home/sds/src/emacs/trunk/src/keyboard.c:1080 #10 0x0000000000567fe9 in internal_condition_case (bfun=0x501430 <command_loop_1>, handlers=12043794, hfun=0x4f5e10 <cmd_error>) at /home/sds/src/emacs/trunk/src/eval.c:1312 #11 0x00000000004f3e6e in command_loop_2 (ignore=<optimized out>) at /home/sds/src/emacs/trunk/src/keyboard.c:1204 #12 0x0000000000567e98 in internal_catch (tag=11992018, func=0x4f3e50 <command_loop_2>, arg=11992018) at /home/sds/src/emacs/trunk/src/eval.c:1079 #13 0x00000000004f58d7 in command_loop () at /home/sds/src/emacs/trunk/src/keyboard.c:1183 #14 recursive_edit_1 () at /home/sds/src/emacs/trunk/src/keyboard.c:804 #15 0x00000000004f5c14 in Frecursive_edit () at /home/sds/src/emacs/trunk/src/keyboard.c:868 #16 0x000000000040fffd in main (argc=1, argv=<optimized out>) at /home/sds/src/emacs/trunk/src/emacs.c:1662 (gdb) xbacktrace (gdb) p b $1 = (struct buffer *) 0xb6fbcd (gdb) p *b $2 = { header = { size = 6845104128, next = { nbytes = 144868458364928, buffer = 0x83c1d1000000, vector = 0x83c1d1000000 } }, name_ = 201192676261888, filename_ = 201191870955520, directory_ = 1019673118244864, backed_up_ = 0, save_length_ = 2550136832, auto_save_file_name_ = 144868995235840, read_only_ = 201193481568256, mark_ = 201191870955520, local_var_alist_ = 267594548379648, major_mode_ = 0, mode_name_ = 2281701376, mode_line_format_ = 144869532106752, header_line_format_ = 201191870955520, keymap_ = 201191870955520, abbrev_table_ = 201192676261888, syntax_table_ = 0, category_table_ = 2281701376, case_fold_search_ = 144870068977664, tab_width_ = 201191870955520, fill_column_ = 190696363393024, left_margin_ = 200854514696192, auto_fill_function_ = 0, downcase_table_ = 2281701376, upcase_table_ = 144870605848576, case_canon_table_ = 201191870955520, case_eqv_table_ = 201191870955520, truncate_lines_ = 201192676261888, word_wrap_ = 0, ctl_arrow_ = 2281701376, bidi_display_reordering_ = 144871142719488, bidi_paragraph_direction_ = 201191870955520, selective_display_ = 144450437251072, selective_display_ellipses_ = 200857199050752, minor_modes_ = 0, overwrite_mode_ = 2281701376, abbrev_mode_ = 144871679590400, display_table_ = 201191870955520, mark_active_ = 201191870955520, enable_multibyte_characters_ = 200857735921664, buffer_file_coding_system_ = 0, file_format_ = 2281701376, auto_save_file_format_ = 144873290203136, cache_long_line_scans_ = 201191870955520, width_table_ = 159832728403968, pt_marker_ = 201192676261888, begv_marker_ = 0, zv_marker_ = 2281701376, point_before_scroll_ = 144873827074048, file_truename_ = 201191870955520, invisibility_spec_ = 201191870955520, last_selected_window_ = 201192676261888, display_count_ = 0, left_margin_cols_ = 2281701376, right_margin_cols_ = 144874363944960, left_fringe_width_ = 201191870955520, right_fringe_width_ = 201191870955520, fringes_outside_margins_ = 200727813160960, scroll_bar_width_ = 0, vertical_scroll_bar_type_ = 2281701376, indicate_empty_lines_ = 144874900815872, indicate_buffer_boundaries_ = 201191870955520, fringe_indicator_alist_ = 201191870955520, fringe_cursor_alist_ = 201192676261888, display_time_ = 0, scroll_up_aggressively_ = 6509559808, scroll_down_aggressively_ = 144875437686784, cursor_type_ = 979353743654912, extra_line_spacing_ = 201191870955520, cursor_in_non_selected_windows_ = 200858272792576, own_text = { beg = 0x0, gpt = 2281701376, z = 144877048299520, gpt_byte = 201191870955520, z_byte = 201191870955520, gap_size = 256685063012352, modiff = 0, chars_modiff = 2281701376, save_modiff = 144877585170432, overlay_modiff = 201191870955520, compact = 201191870955520, beg_unchanged = 201192676261888, end_unchanged = 0, unchanged_modified = 2281701376, overlay_unchanged_modified = 144878122041344, intervals = 0xb6fba2000000, markers = 0x836f15000000, inhibit_shrinking = -771751936 }, text = 0x0, pt = 2281701376, pt_byte = 144878658912256, begv = 201191870955520, begv_byte = 164619201019904, zv = 201192676261888, zv_byte = 0, base_buffer = 0x98000000, indirections = 1358954496, local_flags = "ă\000\000\000\000\000\322\376\266\000\000\000\000\000\242\373\266\000\000\000\000\000\322\373\266", '\000' <repeats 13 times>"\230, \000\000\000\000\000\000\000qă", modtime = { tv_sec = 201206366470144, tv_nsec = 201191870955520 }, modtime_size = 201192676261888, auto_save_modified = 0, display_error_modiff = 2550136832, auto_save_failure_time = 144880269524992, last_window_start = 201207171776512, newline_cache = 0xb6fba2000000, width_run_cache = 0xb6fbd2000000, prevent_redisplay_optimizations_p = 0, clip_changed = 0, overlays_before = 0x98000000, overlays_after = 0x83c4b1000000, overlay_center = 201207977082880, undo_list_ = 201191870955520 } (gdb) p w $3 = (struct window *) 0x47ab190 (gdb) p *w $4 = { header = { size = 4611686018427650087, next = { nbytes = 480, buffer = 0x1e0, vector = 0x1e0 } }, frame = 18306437, next = 18314661, prev = 11992018, hchild = 11992018, vchild = 11992018, parent = 11992018, left_col = 0, top_line = 0, total_lines = 11992018, total_cols = 796, normal_lines = 11968239, normal_cols = 11968231, new_total = 796, new_normal = 11992018, buffer = 11992018, start = 11992018, pointm = 11992018, temslot = 0, vertical_scroll_bar = 46806189, left_margin_cols = 11992018, right_margin_cols = 11992018, left_fringe_width = 11992018, right_fringe_width = 11992018, scroll_bar_width = 40, vertical_scroll_bar_type = 11992066, window_end_pos = 0, window_end_vpos = 0, window_end_valid = 11992018, display_table = 11992018, dedicated = 11992018, base_line_number = 4, base_line_pos = 4, region_showing = 11992018, column_number_displayed = 260, redisplay_end_trigger = 11992018, combination_limit = 11992018, prev_buffers = 41307798, next_buffers = 11992018, window_parameters = 11992018, current_matrix = 0x0, desired_matrix = 0x0, use_time = 3650, sequence_number = 139, hscroll = 0, min_hscroll = 0, last_modified = 0, last_overlay_modified = 0, last_point = 2630, nrows_scale_factor = 1, ncols_scale_factor = 1, last_cursor = { x = 0, y = 0, hpos = 0, vpos = 0 }, cursor = { x = 0, y = 0, hpos = 0, vpos = 0 }, phys_cursor = { x = 0, y = 0, hpos = 0, vpos = 0 }, phys_cursor_type = -1, phys_cursor_width = -1, phys_cursor_ascent = 11, phys_cursor_height = 13, mini = 0, update_mode_line = 0, last_had_star = 0, start_at_line_beg = 1, force_start = 0, optional_new_start = 0, phys_cursor_on_p = 1, cursor_off_p = 0, last_cursor_off_p = 0, must_be_updated_p = 0, pseudo_window_p = 0, frozen_window_start_p = 0, fringes_outside_margins = 0, vscroll = 0, window_end_bytepos = 4504 } (gdb) generate-core-file warning: Memory read failed for corefile section, 1048576 bytes at 0x7fffeb3f5000. warning: Memory read failed for corefile section, 1048576 bytes at 0x7fffeb5fe000. warning: Memory read failed for corefile section, 1048576 bytes at 0x7ffff090b000. warning: Memory read failed for corefile section, 1048576 bytes at 0x7ffff0b11000. warning: Memory read failed for corefile section, 1048576 bytes at 0x7ffff0d1b000. warning: Memory read failed for corefile section, 1048576 bytes at 0x7ffff0f26000. warning: Memory read failed for corefile section, 1048576 bytes at 0x7ffff113f000. warning: Memory read failed for corefile section, 1048576 bytes at 0x7ffff134a000. warning: Memory read failed for corefile section, 1048576 bytes at 0x7ffff1557000. warning: Memory read failed for corefile section, 1048576 bytes at 0x7ffff1a27000. warning: Memory read failed for corefile section, 1048576 bytes at 0x7ffff1c2d000. warning: Memory read failed for corefile section, 1048576 bytes at 0x7ffff1e30000. warning: Memory read failed for corefile section, 1048576 bytes at 0x7ffff2042000. warning: Memory read failed for corefile section, 1048576 bytes at 0x7ffff22bd000. warning: Memory read failed for corefile section, 1048576 bytes at 0x7ffff24d1000. warning: Memory read failed for corefile section, 1048576 bytes at 0x7ffff26f9000. warning: Memory read failed for corefile section, 1048576 bytes at 0x7ffff2938000. warning: Memory read failed for corefile section, 1048576 bytes at 0x7ffff2b40000. warning: Memory read failed for corefile section, 1048576 bytes at 0x7ffff2d59000. warning: Memory read failed for corefile section, 1048576 bytes at 0x7ffff2f7a000. warning: Memory read failed for corefile section, 1048576 bytes at 0x7ffff317f000. warning: Memory read failed for corefile section, 1048576 bytes at 0x7ffff3382000. warning: Memory read failed for corefile section, 1048576 bytes at 0x7ffff35a1000. warning: Memory read failed for corefile section, 1048576 bytes at 0x7ffff37b8000. warning: Memory read failed for corefile section, 1048576 bytes at 0x7ffff39bd000. warning: Memory read failed for corefile section, 1048576 bytes at 0x7ffff3bce000. warning: Memory read failed for corefile section, 1048576 bytes at 0x7ffff3f82000. warning: Memory read failed for corefile section, 1048576 bytes at 0x7ffff4240000. warning: Memory read failed for corefile section, 1048576 bytes at 0x7ffff447c000. warning: Memory read failed for corefile section, 1048576 bytes at 0x7ffff4714000. warning: Memory read failed for corefile section, 1048576 bytes at 0x7ffff4a0c000. warning: Memory read failed for corefile section, 1048576 bytes at 0x7ffff4c5c000. warning: Memory read failed for corefile section, 1048576 bytes at 0x7ffff4fa6000. warning: Memory read failed for corefile section, 1048576 bytes at 0x7ffff51cf000. warning: Memory read failed for corefile section, 1048576 bytes at 0x7ffff5525000. warning: Memory read failed for corefile section, 1048576 bytes at 0x7ffff5747000. warning: Memory read failed for corefile section, 1048576 bytes at 0x7ffff598e000. warning: Memory read failed for corefile section, 1048576 bytes at 0x7ffff5b97000. warning: Memory read failed for corefile section, 1048576 bytes at 0x7ffff5dac000. warning: Memory read failed for corefile section, 1048576 bytes at 0x7ffff5fb6000. warning: Memory read failed for corefile section, 1048576 bytes at 0x7ffff62e6000. warning: Memory read failed for corefile section, 1048576 bytes at 0x7ffff64fb000. warning: Memory read failed for corefile section, 1048576 bytes at 0x7ffff6704000. warning: Memory read failed for corefile section, 1048576 bytes at 0x7ffff69fe000. warning: Memory read failed for corefile section, 1048576 bytes at 0x7ffff6c25000. warning: Memory read failed for corefile section, 1048576 bytes at 0x7ffff6e65000. warning: Memory read failed for corefile section, 1048576 bytes at 0x7ffff70d7000. warning: Memory read failed for corefile section, 1048576 bytes at 0x7ffff72f0000. warning: Memory read failed for corefile section, 1048576 bytes at 0x7ffff74fb000. warning: Memory read failed for corefile section, 1048576 bytes at 0x7ffff775b000. warning: Memory read failed for corefile section, 1048576 bytes at 0x7ffff7979000. warning: Memory read failed for corefile section, 1048576 bytes at 0x7ffff7bcd000. Saved corefile core.7393 I now have a core file which, so, if you want, I can do more debugging (if you tell me the specific commands to invoke, starting with the "gdb command line"). I cannot say what triggered the crash; I switched back to the emacs window to find it nonresponsive and then I switched to the gdb screen window to discover that emacs crashed. -- Sam Steingold (http://sds.podval.org/) on Ubuntu 12.04 (precise) X 11.0.11103000 http://www.childpsy.net/ http://pmw.org.il http://thereligionofpeace.com http://jihadwatch.org http://camera.org http://honestreporting.com To avoid fatigue, one must sleep 8 hours every day. And 8 hours every night too.
bug-gnu-emacs <at> gnu.org
:bug#12251
; Package emacs
.
(Tue, 21 Aug 2012 18:43:01 GMT) Full text and rfc822 format available.Message #8 received at 12251 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: sds <at> gnu.org Cc: 12251 <at> debbugs.gnu.org Subject: Re: bug#12251: 24.2.50; crash in note_mouse_highlight Date: Tue, 21 Aug 2012 21:42:14 +0300
> From: Sam Steingold <sds <at> gnu.org> > Date: Tue, 21 Aug 2012 14:20:48 -0400 > > In GNU Emacs 24.2.50.3 (x86_64-unknown-linux-gnu, X toolkit, Xaw3d scroll bars) > of 2012-08-20 on t520sds > Bzr revision: 109703 rgm <at> gnu.org-20120820181303-1o7qqwvj2z4q4cuu > Windowing system distributor `The X.Org Foundation', version 11.0.11103000 > Configured using: > `configure '--with-wide-int'' > > emacs just crashed for me: > > Program received signal SIGSEGV, Segmentation fault. > note_mouse_highlight (f=0x1175580, x=298, y=1012) at /home/sds/src/emacs/trunk/src/xdisp.c:27710 > 27710 && w->last_modified == BUF_MODIFF (b) The problem is with b->text: > text = 0x0, whereas BUF_MODIFF needs to dereference it: #define BUF_MODIFF(buf) ((buf)->text->modiff) However, ... > #8 0x00000000004f5da5 in cmd_error_internal (data=68832822, context=0x7fffffffcf30 "") > at /home/sds/src/emacs/trunk/src/keyboard.c:1147 > #9 0x00000000004f5f23 in cmd_error (data=68832822) at /home/sds/src/emacs/trunk/src/keyboard.c:1080 what error are we trying to process here? What is 'data' in frame #8?
bug-gnu-emacs <at> gnu.org
:bug#12251
; Package emacs
.
(Tue, 21 Aug 2012 19:04:02 GMT) Full text and rfc822 format available.Message #11 received at 12251 <at> debbugs.gnu.org (full text, mbox):
From: Sam Steingold <sds <at> gnu.org> To: Eli Zaretskii <eliz <at> gnu.org> Cc: 12251 <at> debbugs.gnu.org Subject: Re: bug#12251: 24.2.50; crash in note_mouse_highlight Date: Tue, 21 Aug 2012 15:02:51 -0400
> * Eli Zaretskii <ryvm <at> tah.bet> [2012-08-21 21:42:14 +0300]: > >> #8 0x00000000004f5da5 in cmd_error_internal (data=68832822, context=0x7fffffffcf30 "") >> at /home/sds/src/emacs/trunk/src/keyboard.c:1147 >> #9 0x00000000004f5f23 in cmd_error (data=68832822) at >> /home/sds/src/emacs/trunk/src/keyboard.c:1080 > > what error are we trying to process here? What is 'data' in frame #8? how do I figure that out? $ gdb -x ~/src/emacs/trunk/build/src/.gdbinit ~/src/emacs/trunk/build/src/emacs core.7393 GNU gdb (Ubuntu/Linaro 7.4-2012.04-0ubuntu2) 7.4-2012.04 Reading symbols from /home/sds/src/emacs/trunk/build/src/emacs...done. [New LWP 7397] [New LWP 7396] [New LWP 7393] [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". Core was generated by `emacs'. Program terminated with signal 11, Segmentation fault. #0 0x00007ffff3eb5b03 in poll () from /lib/x86_64-linux-gnu/libc.so.6 Warning: /home/sds/../lwlib: No such file or directory. SIGINT is used by the debugger. Are you sure you want to change it? (y or n) [answered Y; input not from terminal] DISPLAY = :0 TERM = screen Breakpoint 1 at 0x4f0aa0: abort. (2 locations) Temporary breakpoint 2 at 0x50c7a0: file /home/sds/src/emacs/trunk/src/sysdep.c, line 849. (gdb) f 8 #0 0x0000000000000000 in ?? () (gdb) whee Undefined command: "whee". Try "help". (gdb) where #0 0x00007ffff3eb5b03 in poll () from /lib/x86_64-linux-gnu/libc.so.6 #1 0x00007ffff4962036 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #2 0x00007ffff496249a in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #3 0x00007ffff4f27406 in ?? () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0 #4 0x00007ffff49839e5 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #5 0x00007ffff5736e9a in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0 #6 0x00007ffff3ec14bd in clone () from /lib/x86_64-linux-gnu/libc.so.6 #7 0x0000000000000000 in ?? () (gdb) -- Sam Steingold (http://sds.podval.org/) on Ubuntu 12.04 (precise) X 11.0.11103000 http://www.childpsy.net/ http://thereligionofpeace.com http://jihadwatch.org http://palestinefacts.org http://pmw.org.il http://americancensorship.org (let((a'(list'let(list(list'a(list'quote a)))a)))`(let((a(quote ,a))),a))
bug-gnu-emacs <at> gnu.org
:bug#12251
; Package emacs
.
(Tue, 21 Aug 2012 19:23:02 GMT) Full text and rfc822 format available.Message #14 received at 12251 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: sds <at> gnu.org Cc: 12251 <at> debbugs.gnu.org Subject: Re: bug#12251: 24.2.50; crash in note_mouse_highlight Date: Tue, 21 Aug 2012 22:22:34 +0300
> From: Sam Steingold <sds <at> gnu.org> > Cc: 12251 <at> debbugs.gnu.org > Date: Tue, 21 Aug 2012 15:02:51 -0400 > > > * Eli Zaretskii <ryvm <at> tah.bet> [2012-08-21 21:42:14 +0300]: > > > >> #8 0x00000000004f5da5 in cmd_error_internal (data=68832822, context=0x7fffffffcf30 "") > >> at /home/sds/src/emacs/trunk/src/keyboard.c:1147 > >> #9 0x00000000004f5f23 in cmd_error (data=68832822) at > >> /home/sds/src/emacs/trunk/src/keyboard.c:1080 > > > > what error are we trying to process here? What is 'data' in frame #8? > > how do I figure that out? (gdb) frame 8 (gdb) p data (gdb) xtype Then use the appropriate "x" command according to the type shown by "xtype". E.g., if "xtype" says 'data' is a symbol, use "xsymbol" to show what symbol is that; if it says it's a string, use "xstring", etc. > $ gdb -x ~/src/emacs/trunk/build/src/.gdbinit ~/src/emacs/trunk/build/src/emacs core.7393 > GNU gdb (Ubuntu/Linaro 7.4-2012.04-0ubuntu2) 7.4-2012.04 > Reading symbols from /home/sds/src/emacs/trunk/build/src/emacs...done. > [New LWP 7397] > [New LWP 7396] > [New LWP 7393] > [Thread debugging using libthread_db enabled] > Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". > Core was generated by `emacs'. > Program terminated with signal 11, Segmentation fault. > #0 0x00007ffff3eb5b03 in poll () from /lib/x86_64-linux-gnu/libc.so.6 > Warning: /home/sds/../lwlib: No such file or directory. > SIGINT is used by the debugger. > Are you sure you want to change it? (y or n) [answered Y; input not from terminal] > DISPLAY = :0 > TERM = screen > Breakpoint 1 at 0x4f0aa0: abort. (2 locations) > Temporary breakpoint 2 at 0x50c7a0: file /home/sds/src/emacs/trunk/src/sysdep.c, line 849. > (gdb) f 8 > #0 0x0000000000000000 in ?? () > (gdb) whee > Undefined command: "whee". Try "help". > (gdb) where > #0 0x00007ffff3eb5b03 in poll () from /lib/x86_64-linux-gnu/libc.so.6 > #1 0x00007ffff4962036 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 > #2 0x00007ffff496249a in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 > #3 0x00007ffff4f27406 in ?? () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0 > #4 0x00007ffff49839e5 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 > #5 0x00007ffff5736e9a in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0 > #6 0x00007ffff3ec14bd in clone () from /lib/x86_64-linux-gnu/libc.so.6 > #7 0x0000000000000000 in ?? () > (gdb) Wrong thread, I think. Try other threads ("thread N" will switch to thread number N, "info threads" will show all of them). You want the thread whose frame #0 is on line 27710 of xdisp.c, as you reported in the original bug report.
bug-gnu-emacs <at> gnu.org
:bug#12251
; Package emacs
.
(Wed, 22 Aug 2012 02:45:01 GMT) Full text and rfc822 format available.Message #17 received at 12251 <at> debbugs.gnu.org (full text, mbox):
From: Sam Steingold <sds <at> gnu.org> To: Eli Zaretskii <eliz <at> gnu.org> Cc: 12251 <at> debbugs.gnu.org Subject: Re: bug#12251: 24.2.50; crash in note_mouse_highlight Date: Tue, 21 Aug 2012 22:43:49 -0400
> * Eli Zaretskii <ryvm <at> tah.bet> [2012-08-21 22:22:34 +0300]: > >> > what error are we trying to process here? What is 'data' in frame #8? >> >> how do I figure that out? > > (gdb) frame 8 > (gdb) p data > (gdb) xtype > > Then use the appropriate "x" command according to the type shown by > "xtype". E.g., if "xtype" says 'data' is a symbol, use "xsymbol" to > show what symbol is that; if it says it's a string, use "xstring", > etc. (gdb) f 8 #8 0x00000000004f5da5 in cmd_error_internal (data=68832822, context=0x7fffffffcf30 "") at /home/sds/src/emacs/trunk/src/keyboard.c:1147 1147 bitch_at_user (); (gdb) p data $1 = 68832822 (gdb) xtype Lisp_Cons (gdb) xcons $2 = (struct Lisp_Cons *) 0x41a4e30 { car = 0xb7c612, u = { cdr = 0x41a4e56, chain = 0x41a4e56 } } (gdb) p 0xb7c612 $3 = 12043794 (gdb) xtype Lisp_Symbol (gdb) xsymbol $4 = (struct Lisp_Symbol *) 0xb7c610 "error" (gdb) p 0x41a4e56 $5 = 68832854 (gdb) xtype Lisp_Cons (gdb) xcons $6 = (struct Lisp_Cons *) 0x41a4e50 { car = 0x3032031, u = { cdr = 0xb6fbd2, chain = 0xb6fbd2 } } (gdb) p 0x3032031 $7 = 50536497 (gdb) xtype Lisp_String (gdb) xstring $8 = (struct Lisp_String *) 0x3032030 "#<window 139> is not a valid window" (gdb) p 0xb6fbd2 $9 = 11992018 (gdb) xtype Lisp_Symbol (gdb) xsymbol $10 = (struct Lisp_Symbol *) 0xb6fbd0 "nil" (gdb) meanwhile, I got another crash: #0 remember_mouse_glyph (f=<optimized out>, gx=139, gy=549, rect=0xaf1c20) at /home/sds/src/emacs/trunk/src/xdisp.c:2251 window = <optimized out> w = <optimized out> r = <optimized out> gr = <optimized out> end_row = <optimized out> part = ON_TEXT area = <optimized out> x = 120 y = <optimized out> width = 6 height = 13 #1 0x00000000004b767b in note_mouse_movement (frame=0x1175580, event=0x7fffffffc8a0) at /home/sds/src/emacs/trunk/src/xterm.c:3860 No locals. #2 0x00000000004c07fe in handle_one_xevent (dpyinfo=0x1336c10, eventptr=0x7fffffffc9c0, finish=0x7fffffffc9bc, hold_quit=0x7fffffffcd50) at /home/sds/src/emacs/trunk/src/xterm.c:6701 inev = { ie = { 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 = 11992018 }, sie = { kind = 0, display = 0x0, requestor = 0, selection = 0, target = 0, property = 0, time = 0 } } count = 0 do_help = 0 nbytes = 0 f = 0x1175580 coding = { id = 0, common_flags = 0, mode = 0, spec = { iso_2022 = { flags = 0, current_invocation = {0, 0}, current_designation = {0, 0, 0, 0}, single_shifting = 0, bol = 0, ctext_extended_segment_len = 0, embedded_utf_8 = 0, cmp_status = { state = COMPOSING_NO, method = COMPOSITION_RELATIVE, old_form = 0, length = 0, nchars = 0, ncomps = 0, carryover = {0 <repeats 68 times>} } }, ccl = 0x0, utf_16 = { bom = utf_detect_bom, endian = utf_16_big_endian, surrogate = 0 }, utf_8_bom = utf_detect_bom, emacs_mule = { full_support = 0, cmp_status = { state = COMPOSING_NO, method = COMPOSITION_RELATIVE, old_form = 0, length = 0, nchars = 0, ncomps = 0, carryover = {0 <repeats 68 times>} } } }, max_charset_id = 0, safe_charsets = 0x0, src_multibyte = 0, dst_multibyte = 0, head_ascii = 0, produced = 0, produced_char = 0, consumed = 0, consumed_char = 0, errors = 0, error_positions = 0x0, result = CODING_RESULT_SUCCESS, src_pos = 0, src_pos_byte = 0, src_chars = 0, src_bytes = 0, src_object = 0, source = 0x0, dst_pos = 0, dst_pos_byte = 0, dst_bytes = 0, dst_object = 0, destination = 0x0, chars_at_source = 0, charbuf = 0x0, charbuf_size = 0, charbuf_used = 0, annotated = 0, carryover = '\000' <repeats 63 times>, carryover_bytes = 0, default_char = 0, detector = 0, decoder = 0, encoder = 0 } event = { type = 7, xany = { type = 7, serial = 1188199, send_event = 0, display = 0x131ff00, window = 41943230 }, xkey = { type = 7, serial = 1188199, send_event = 0, display = 0x131ff00, window = 41943230, root = 178, subwindow = 0, time = 95626893, x = 139, y = 549, x_root = 139, y_root = 601, state = 2, keycode = 3, same_screen = 1 }, xbutton = { type = 7, serial = 1188199, send_event = 0, display = 0x131ff00, window = 41943230, root = 178, subwindow = 0, time = 95626893, x = 139, y = 549, x_root = 139, y_root = 601, state = 2, button = 3, same_screen = 1 }, xmotion = { type = 7, serial = 1188199, send_event = 0, display = 0x131ff00, window = 41943230, root = 178, subwindow = 0, time = 95626893, x = 139, y = 549, x_root = 139, y_root = 601, state = 2, is_hint = 3 '\003', same_screen = 1 }, xcrossing = { type = 7, serial = 1188199, send_event = 0, display = 0x131ff00, window = 41943230, root = 178, subwindow = 0, time = 95626893, x = 139, y = 549, x_root = 139, y_root = 601, mode = 2, detail = 3, same_screen = 1, focus = 1, state = 28 }, xfocus = { type = 7, serial = 1188199, send_event = 0, display = 0x131ff00, window = 41943230, mode = 178, detail = 0 }, xexpose = { type = 7, serial = 1188199, send_event = 0, display = 0x131ff00, window = 41943230, x = 178, y = 0, width = 0, height = 0, count = 95626893 }, xgraphicsexpose = { type = 7, serial = 1188199, send_event = 0, display = 0x131ff00, drawable = 41943230, x = 178, y = 0, width = 0, height = 0, count = 95626893, major_code = 0, minor_code = 139 }, xnoexpose = { type = 7, serial = 1188199, send_event = 0, display = 0x131ff00, drawable = 41943230, major_code = 178, minor_code = 0 }, xvisibility = { type = 7, serial = 1188199, send_event = 0, display = 0x131ff00, window = 41943230, state = 178 }, xcreatewindow = { type = 7, serial = 1188199, send_event = 0, display = 0x131ff00, parent = 41943230, window = 178, x = 0, y = 0, width = 95626893, height = 0, border_width = 139, override_redirect = 549 }, xdestroywindow = { type = 7, serial = 1188199, send_event = 0, display = 0x131ff00, event = 41943230, window = 178 }, xunmap = { type = 7, serial = 1188199, send_event = 0, display = 0x131ff00, event = 41943230, window = 178, from_configure = 0 }, xmap = { type = 7, serial = 1188199, send_event = 0, display = 0x131ff00, event = 41943230, window = 178, override_redirect = 0 }, xmaprequest = { type = 7, serial = 1188199, send_event = 0, display = 0x131ff00, parent = 41943230, window = 178 }, xreparent = { type = 7, serial = 1188199, send_event = 0, display = 0x131ff00, event = 41943230, window = 178, parent = 0, x = 95626893, y = 0, override_redirect = 139 }, xconfigure = { type = 7, serial = 1188199, send_event = 0, display = 0x131ff00, event = 41943230, window = 178, x = 0, y = 0, width = 95626893, height = 0, border_width = 139, above = 2581275345035, override_redirect = 2 }, xgravity = { type = 7, serial = 1188199, send_event = 0, display = 0x131ff00, event = 41943230, window = 178, x = 0, y = 0 }, xresizerequest = { type = 7, serial = 1188199, send_event = 0, display = 0x131ff00, window = 41943230, width = 178, height = 0 }, xconfigurerequest = { type = 7, serial = 1188199, send_event = 0, display = 0x131ff00, parent = 41943230, window = 178, x = 0, y = 0, width = 95626893, height = 0, border_width = 139, above = 2581275345035, detail = 2, value_mask = 4294967297 }, xcirculate = { type = 7, serial = 1188199, send_event = 0, display = 0x131ff00, event = 41943230, window = 178, place = 0 }, xcirculaterequest = { type = 7, serial = 1188199, send_event = 0, display = 0x131ff00, parent = 41943230, window = 178, place = 0 }, xproperty = { type = 7, serial = 1188199, send_event = 0, display = 0x131ff00, window = 41943230, atom = 178, time = 0, state = 95626893 }, xselectionclear = { type = 7, serial = 1188199, send_event = 0, display = 0x131ff00, window = 41943230, selection = 178, time = 0 }, xselectionrequest = { type = 7, serial = 1188199, send_event = 0, display = 0x131ff00, owner = 41943230, requestor = 178, selection = 0, target = 95626893, property = 2357937045643, time = 2581275345035 }, xselection = { type = 7, serial = 1188199, send_event = 0, display = 0x131ff00, requestor = 41943230, selection = 178, target = 0, property = 95626893, time = 2357937045643 }, xcolormap = { type = 7, serial = 1188199, send_event = 0, display = 0x131ff00, window = 41943230, colormap = 178, new = 0, state = 0 }, xclient = { type = 7, serial = 1188199, send_event = 0, display = 0x131ff00, window = 41943230, message_type = 178, format = 0, data = { b = "\215&\263\005\000\000\000\000\213\000\000\000%\002\000\000\213\000\000", s = {9869, 1459, 0, 0, 139, 0, 549, 0, 139, 0}, l = {95626893, 2357937045643, 2581275345035, 12884901890, 4294967297} } }, xmapping = { type = 7, serial = 1188199, send_event = 0, display = 0x131ff00, window = 41943230, request = 178, first_keycode = 0, count = 0 }, xerror = { type = 7, display = 0x122167, resourceid = 0, serial = 20053760, error_code = 190 '\276', request_code = 0 '\000', minor_code = 128 '\200' }, xkeymap = { type = 7, serial = 1188199, send_event = 0, display = 0x131ff00, window = 41943230, key_vector = "\262", '\000' <repeats 15 times>"\215, &\263\005\000\000\000\000\213\000\000\000%\002\000" }, xgeneric = { type = 7, serial = 1188199, send_event = 0, display = 0x131ff00, extension = 41943230, evtype = 0 }, xcookie = { type = 7, serial = 1188199, send_event = 0, display = 0x131ff00, extension = 41943230, evtype = 0, cookie = 178, data = 0x0 }, pad = {7, 1188199, 0, 20053760, 41943230, 178, 0, 95626893, 2357937045643, 2581275345035, 12884901890, 4294967297, 6073467370137976860, 2314885436483055656, 3345733756951470112, 7885630497951938661, 7294206809482226032, 6073467371956363630, 732161977273508648, 2314861740994600992, 8246765349659156512, 7598822093864385568, 8030606864350932591, 5497863039149219954} } hlinfo = <optimized out> sa_count = <optimized out> sa_must_free = 0 #3 0x00000000004c18b6 in XTread_socket (terminal=0xfc4d28, expected=<optimized out>, hold_quit=0x7fffffffcd50) at /home/sds/src/emacs/trunk/src/xterm.c:7185 finish = 0 event = { type = 7, xany = { type = 7, serial = 1188199, send_event = 0, display = 0x131ff00, window = 41943230 }, xkey = { type = 7, serial = 1188199, send_event = 0, display = 0x131ff00, window = 41943230, root = 178, subwindow = 0, time = 95626893, x = 139, y = 549, x_root = 139, y_root = 601, state = 2, keycode = 3, same_screen = 1 }, xbutton = { type = 7, serial = 1188199, send_event = 0, display = 0x131ff00, window = 41943230, root = 178, subwindow = 0, time = 95626893, x = 139, y = 549, x_root = 139, y_root = 601, state = 2, button = 3, same_screen = 1 }, xmotion = { type = 7, serial = 1188199, send_event = 0, display = 0x131ff00, window = 41943230, root = 178, subwindow = 0, time = 95626893, x = 139, y = 549, x_root = 139, y_root = 601, state = 2, is_hint = 3 '\003', same_screen = 1 }, xcrossing = { type = 7, serial = 1188199, send_event = 0, display = 0x131ff00, window = 41943230, root = 178, subwindow = 0, time = 95626893, x = 139, y = 549, x_root = 139, y_root = 601, mode = 2, detail = 3, same_screen = 1, focus = 1, state = 28 }, xfocus = { type = 7, serial = 1188199, send_event = 0, display = 0x131ff00, window = 41943230, mode = 178, detail = 0 }, xexpose = { type = 7, serial = 1188199, send_event = 0, display = 0x131ff00, window = 41943230, x = 178, y = 0, width = 0, height = 0, count = 95626893 }, xgraphicsexpose = { type = 7, serial = 1188199, send_event = 0, display = 0x131ff00, drawable = 41943230, x = 178, y = 0, width = 0, height = 0, count = 95626893, major_code = 0, minor_code = 139 }, xnoexpose = { type = 7, serial = 1188199, send_event = 0, display = 0x131ff00, drawable = 41943230, major_code = 178, minor_code = 0 }, xvisibility = { type = 7, serial = 1188199, send_event = 0, display = 0x131ff00, window = 41943230, state = 178 }, xcreatewindow = { type = 7, serial = 1188199, send_event = 0, display = 0x131ff00, parent = 41943230, window = 178, x = 0, y = 0, width = 95626893, height = 0, border_width = 139, override_redirect = 549 }, xdestroywindow = { type = 7, serial = 1188199, send_event = 0, display = 0x131ff00, event = 41943230, window = 178 }, xunmap = { type = 7, serial = 1188199, send_event = 0, display = 0x131ff00, event = 41943230, window = 178, from_configure = 0 }, xmap = { type = 7, serial = 1188199, send_event = 0, display = 0x131ff00, event = 41943230, window = 178, override_redirect = 0 }, xmaprequest = { type = 7, serial = 1188199, send_event = 0, display = 0x131ff00, parent = 41943230, window = 178 }, xreparent = { type = 7, serial = 1188199, send_event = 0, display = 0x131ff00, event = 41943230, window = 178, parent = 0, x = 95626893, y = 0, override_redirect = 139 }, xconfigure = { type = 7, serial = 1188199, send_event = 0, display = 0x131ff00, event = 41943230, window = 178, x = 0, y = 0, width = 95626893, height = 0, border_width = 139, above = 2581275345035, override_redirect = 2 }, xgravity = { type = 7, serial = 1188199, send_event = 0, display = 0x131ff00, event = 41943230, window = 178, x = 0, y = 0 }, xresizerequest = { type = 7, serial = 1188199, send_event = 0, display = 0x131ff00, window = 41943230, width = 178, height = 0 }, xconfigurerequest = { type = 7, serial = 1188199, send_event = 0, display = 0x131ff00, parent = 41943230, window = 178, x = 0, y = 0, width = 95626893, height = 0, border_width = 139, above = 2581275345035, detail = 2, value_mask = 4294967297 }, xcirculate = { type = 7, serial = 1188199, send_event = 0, display = 0x131ff00, event = 41943230, window = 178, place = 0 }, xcirculaterequest = { type = 7, serial = 1188199, send_event = 0, display = 0x131ff00, parent = 41943230, window = 178, place = 0 }, xproperty = { type = 7, serial = 1188199, send_event = 0, display = 0x131ff00, window = 41943230, atom = 178, time = 0, state = 95626893 }, xselectionclear = { type = 7, serial = 1188199, send_event = 0, display = 0x131ff00, window = 41943230, selection = 178, time = 0 }, xselectionrequest = { type = 7, serial = 1188199, send_event = 0, display = 0x131ff00, owner = 41943230, requestor = 178, selection = 0, target = 95626893, property = 2357937045643, time = 2581275345035 }, xselection = { type = 7, serial = 1188199, send_event = 0, display = 0x131ff00, requestor = 41943230, selection = 178, target = 0, property = 95626893, time = 2357937045643 }, xcolormap = { type = 7, serial = 1188199, send_event = 0, display = 0x131ff00, window = 41943230, colormap = 178, new = 0, state = 0 }, xclient = { type = 7, serial = 1188199, send_event = 0, display = 0x131ff00, window = 41943230, message_type = 178, format = 0, data = { b = "\215&\263\005\000\000\000\000\213\000\000\000%\002\000\000\213\000\000", s = {9869, 1459, 0, 0, 139, 0, 549, 0, 139, 0}, l = {95626893, 2357937045643, 2581275345035, 12884901890, 4294967297} } }, xmapping = { type = 7, serial = 1188199, send_event = 0, display = 0x131ff00, window = 41943230, request = 178, first_keycode = 0, count = 0 }, xerror = { type = 7, display = 0x122167, resourceid = 0, serial = 20053760, error_code = 190 '\276', request_code = 0 '\000', minor_code = 128 '\200' }, xkeymap = { type = 7, serial = 1188199, send_event = 0, display = 0x131ff00, window = 41943230, key_vector = "\262", '\000' <repeats 15 times>"\215, &\263\005\000\000\000\000\213\000\000\000%\002\000" }, xgeneric = { type = 7, serial = 1188199, send_event = 0, display = 0x131ff00, extension = 41943230, evtype = 0 }, xcookie = { type = 7, serial = 1188199, send_event = 0, display = 0x131ff00, extension = 41943230, evtype = 0, cookie = 178, data = 0x0 }, pad = {7, 1188199, 0, 20053760, 41943230, 178, 0, 95626893, 2357937045643, 2581275345035, 12884901890, 4294967297, 6073467370137976860, 2314885436483055656, 3345733756951470112, 7885630497951938661, 7294206809482226032, 6073467371956363630, 732161977273508648, 2314861740994600992, 8246765349659156512, 7598822093864385568, 8030606864350932591, 5497863039149219954} } count = 0 event_found = 1 #4 0x00000000004f91b7 in read_avail_input (expected=1) at /home/sds/src/emacs/trunk/src/keyboard.c:6897 nr = <optimized out> hold_quit = { 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 } next = 0x0 nread = 0 err = <optimized out> t = 0xfc4d28 #5 0x00000000004f92da in handle_async_input () at /home/sds/src/emacs/trunk/src/keyboard.c:7226 nread = 1 #6 0x00000000004b9ac5 in XTring_bell (f=<optimized out>) at /home/sds/src/emacs/trunk/src/xterm.c:3259 No locals. #7 XTring_bell (f=0x1175580) at /home/sds/src/emacs/trunk/src/xterm.c:3248 No locals. #8 0x00000000004f5da5 in cmd_error_internal (data=66785958, context=0x7fffffffcf30 "") at /home/sds/src/emacs/trunk/src/keyboard.c:1147 sf = <optimized out> #9 0x00000000004f5f23 in cmd_error (data=66785958) at /home/sds/src/emacs/trunk/src/keyboard.c:1080 old_level = 40 old_length = 40 macroerror = "\000\373\266\000\000\000\000\000\000$\016\037\063\004\270Ab̸\000\000\000\000\000\002\000\000\000\000\000\000\000\322\373\266\000\000\000\000\000\230\325\377\377\377\177\000\000\377\377" #10 0x0000000000567fe9 in internal_condition_case (bfun=0x501430 <command_loop_1>, handlers=12043794, hfun=0x4f5e10 <cmd_error>) at /home/sds/src/emacs/trunk/src/eval.c:1312 val = <optimized out> c = { tag = 11992018, val = 66785958, next = 0x7fffffffd140, gcpro = 0x0, jmp = {{ __jmpbuf = {15359840, 54901063922382646, 11992018, 140737488344472, 4294967295, 140737488344752, -54902939858077898, 54902198877321014}, __mask_was_saved = 0, __saved_mask = { __val = {140737353918688, 140737353947624, 5296614, 4294967295, 0, 0, 15359840, 8597472, 0, 4294967295, 140737488344752, 0, 140737351944052, 1, 0, 140737284769664} } }}, backlist = 0x0, handlerlist = 0x0, lisp_eval_depth = 0, pdlcount = 2, poll_suppress_count = 1, interrupt_input_blocked = 0, byte_stack = 0x0 } h = { handler = 12043794, var = 11992018, chosen_clause = 11992066, tag = 0x7fffffffcfc0, next = 0x0 } #11 0x00000000004f3e6e in command_loop_2 (ignore=<optimized out>) at /home/sds/src/emacs/trunk/src/keyboard.c:1204 val = 1 #12 0x0000000000567e98 in internal_catch (tag=<error reading variable: Cannot access memory at address 0x58>, func=0x4f3e50 <command_loop_2>, arg=11992018) at /home/sds/src/emacs/trunk/src/eval.c:1079 c = { tag = 12039666, val = 11992018, next = 0x0, gcpro = 0x0, jmp = {{ __jmpbuf = {15359840, 54901063922382646, 11992018, 140737488344472, 4294967295, 140737488344752, -54902940313159882, 54902198903011126}, __mask_was_saved = 0, __saved_mask = { __val = {0, 0, 0, 0, 0, 0, 5968131, 0, 18895752, 140737488343680, 140737488343688, 0, 140737488343680, 6279510, 11992018, 140737488343688} } }}, backlist = 0x0, handlerlist = 0x0, lisp_eval_depth = 0, pdlcount = 2, poll_suppress_count = 1, interrupt_input_blocked = 0, byte_stack = 0x0 } #13 0x00000000004f58d7 in command_loop () at /home/sds/src/emacs/trunk/src/keyboard.c:1183 No locals. #14 recursive_edit_1 () at /home/sds/src/emacs/trunk/src/keyboard.c:804 count = 1 val = 11992018 #15 0x00000000004f5c14 in Frecursive_edit () at /home/sds/src/emacs/trunk/src/keyboard.c:868 count = 0 buffer = 11992018 #16 0x000000000040fffd in main (argc=1, argv=<optimized out>) at /home/sds/src/emacs/trunk/src/emacs.c:1662 dummy = 0 stack_bottom_variable = 0 '\000' do_initial_setlocale = <optimized out> skip_args = 0 rlim = { rlim_cur = 8720000, rlim_max = 18446744073709551615 } no_loadup = 0 junk = 0x0 dname_arg = 0x0 ch_to_dir = 0x7ffff3ddee40 "\212'" -- Sam Steingold (http://sds.podval.org/) on Ubuntu 12.04 (precise) X 11.0.11103000 http://www.childpsy.net/ http://openvotingconsortium.org http://think-israel.org http://pmw.org.il http://palestinefacts.org I just forgot my whole philosophy of life!!!
bug-gnu-emacs <at> gnu.org
:bug#12251
; Package emacs
.
(Wed, 22 Aug 2012 17:10:02 GMT) Full text and rfc822 format available.Message #20 received at 12251 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: sds <at> gnu.org, Martin Rudalics <rudalics <at> gmx.at> Cc: 12251 <at> debbugs.gnu.org Subject: Re: bug#12251: 24.2.50; crash in note_mouse_highlight Date: Wed, 22 Aug 2012 20:09:31 +0300
> From: Sam Steingold <sds <at> gnu.org> > Cc: 12251 <at> debbugs.gnu.org > Date: Tue, 21 Aug 2012 22:43:49 -0400 > > #8 0x00000000004f5da5 in cmd_error_internal (data=68832822, context=0x7fffffffcf30 "") at /home/sds/src/emacs/trunk/src/keyboard.c:1147 > 1147 bitch_at_user (); > (gdb) p data > $1 = 68832822 > (gdb) xtype > Lisp_Cons > (gdb) xcons > $2 = (struct Lisp_Cons *) 0x41a4e30 > { > car = 0xb7c612, > u = { > cdr = 0x41a4e56, > chain = 0x41a4e56 > } > } > (gdb) p 0xb7c612 > $3 = 12043794 > (gdb) xtype > Lisp_Symbol > (gdb) xsymbol > $4 = (struct Lisp_Symbol *) 0xb7c610 > "error" > (gdb) p 0x41a4e56 > $5 = 68832854 > (gdb) xtype > Lisp_Cons > (gdb) xcons > $6 = (struct Lisp_Cons *) 0x41a4e50 > { > car = 0x3032031, > u = { > cdr = 0xb6fbd2, > chain = 0xb6fbd2 > } > } > (gdb) p 0x3032031 > $7 = 50536497 > (gdb) xtype > Lisp_String > (gdb) xstring > $8 = (struct Lisp_String *) 0x3032030 > "#<window 139> is not a valid window" > (gdb) p 0xb6fbd2 > $9 = 11992018 > (gdb) xtype > Lisp_Symbol > (gdb) xsymbol > $10 = (struct Lisp_Symbol *) 0xb6fbd0 > "nil" > (gdb) Martin, could this be due to your changes in revision 109644? Sam, if you revert that commit, does the problem go away? Anyway, I think the crash with a mouse is not the root cause here. We are somehow hitting a dead window, and then trying to activate mouse highlight on that window.
bug-gnu-emacs <at> gnu.org
:bug#12251
; Package emacs
.
(Wed, 22 Aug 2012 17:30:02 GMT) Full text and rfc822 format available.Message #23 received at 12251 <at> debbugs.gnu.org (full text, mbox):
From: Sam Steingold <sds <at> gnu.org> To: Eli Zaretskii <eliz <at> gnu.org> Cc: Martin Rudalics <rudalics <at> gmx.at>, 12251 <at> debbugs.gnu.org Subject: Re: bug#12251: 24.2.50; crash in note_mouse_highlight Date: Wed, 22 Aug 2012 13:29:08 -0400
On Wed, Aug 22, 2012 at 1:09 PM, Eli Zaretskii <eliz <at> gnu.org> wrote: > Sam, if you revert that commit, does the problem go away? I cannot reproduce this crash reliably. Also, I rebuilt emacs this morning from bzr tip. -- Sam Steingold <http://sds.podval.org> <http://www.childpsy.net/>
bug-gnu-emacs <at> gnu.org
:bug#12251
; Package emacs
.
(Wed, 22 Aug 2012 21:14:02 GMT) Full text and rfc822 format available.Message #26 received at 12251 <at> debbugs.gnu.org (full text, mbox):
From: Sam Steingold <sds <at> gnu.org> To: Eli Zaretskii <eliz <at> gnu.org> Cc: Martin Rudalics <rudalics <at> gmx.at>, 12251 <at> debbugs.gnu.org Subject: Re: bug#12251: 24.2.50; crash in note_mouse_highlight Date: Wed, 22 Aug 2012 17:12:58 -0400
[Message part 1 (text/plain, inline)]
just got it again. when quitting gnus, some error happened and the *Group* buffer did not go away. I hit "q" again, the echo area lit up as if on error (visible bell) and emacs crashed. I attached bt full. -- Sam Steingold <http://sds.podval.org> <http://www.childpsy.net/>
[note_mouse_highlight.txt (text/plain, attachment)]
bug-gnu-emacs <at> gnu.org
:bug#12251
; Package emacs
.
(Thu, 23 Aug 2012 08:50:02 GMT) Full text and rfc822 format available.Message #29 received at 12251 <at> debbugs.gnu.org (full text, mbox):
From: martin rudalics <rudalics <at> gmx.at> To: Eli Zaretskii <eliz <at> gnu.org> Cc: sds <at> gnu.org, 12251 <at> debbugs.gnu.org Subject: Re: bug#12251: 24.2.50; crash in note_mouse_highlight Date: Thu, 23 Aug 2012 10:48:43 +0200
>> "#<window 139> is not a valid window" The above means that we've been running Lisp code on a dead window and that call was rejected with an error by `window-normalize-window'. If this happens during a call from C, we have a problem. > Martin, could this be due to your changes in revision 109644? I don't know. In revision 109644 I allowed to run Fposn_at_x_y on internal windows too. I doubt that this change can have any impact but reverted it anyway. Other from that, potential problems are to be categorized as follows: (1) A frame has not been set up completely but one of its windows exists already. I tried to fix this by changing Fset_window_buffer calls to set_window_buffer calls but maybe something still slips through. (2) A window still exists although its frame has been already deleted. This would constitute a bug in delete_frame. (3) C code tries to run on a window that has not yet been set up completely. I can't imagine how this would happen. (4) C code tries to run a window that has been deleted. I have tried to catch these in revision 109644 but this will not help to avoid crashes. It should help to localize the cause of a crash, though. Drew's standard crash seems to indicate that there's still something weird going on here. BTW I see that note_mouse_highlight has /* Not on a window -> return. */ if (!WINDOWP (window)) return; Shouldn't the window be live here? martin
bug-gnu-emacs <at> gnu.org
:bug#12251
; Package emacs
.
(Thu, 23 Aug 2012 13:21:01 GMT) Full text and rfc822 format available.Message #32 received at 12251 <at> debbugs.gnu.org (full text, mbox):
From: Sam Steingold <sds <at> gnu.org> To: martin rudalics <rudalics <at> gmx.at> Cc: Eli Zaretskii <eliz <at> gnu.org>, 12251 <at> debbugs.gnu.org Subject: Re: bug#12251: 24.2.50; crash in note_mouse_highlight Date: Thu, 23 Aug 2012 09:19:36 -0400
> * martin rudalics <ehqnyvpf <at> tzk.ng> [2012-08-23 10:48:43 +0200]: > > (1) A frame has not been set up completely but one of its windows exists > already. I tried to fix this by changing Fset_window_buffer calls > to set_window_buffer calls but maybe something still slips through. > > (2) A window still exists although its frame has been already deleted. > This would constitute a bug in delete_frame. > > (3) C code tries to run on a window that has not yet been set up > completely. I can't imagine how this would happen. none of these seem to be applicable because I have only one frame and the window in question, *Groups*, was on the way out. > BTW I see that note_mouse_highlight has > > /* Not on a window -> return. */ > if (!WINDOWP (window)) > return; > > Shouldn't the window be live here? definitely! -- Sam Steingold (http://sds.podval.org/) on Ubuntu 12.04 (precise) X 11.0.11103000 http://www.childpsy.net/ http://ffii.org http://truepeace.org http://honestreporting.com http://think-israel.org http://camera.org Experience always comes right after it would have been useful.
bug-gnu-emacs <at> gnu.org
:bug#12251
; Package emacs
.
(Thu, 23 Aug 2012 16:22:01 GMT) Full text and rfc822 format available.Message #35 received at 12251 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: martin rudalics <rudalics <at> gmx.at> Cc: sds <at> gnu.org, 12251 <at> debbugs.gnu.org Subject: Re: bug#12251: 24.2.50; crash in note_mouse_highlight Date: Thu, 23 Aug 2012 19:20:46 +0300
> Date: Thu, 23 Aug 2012 10:48:43 +0200 > From: martin rudalics <rudalics <at> gmx.at> > CC: sds <at> gnu.org, 12251 <at> debbugs.gnu.org > > >> "#<window 139> is not a valid window" > > The above means that we've been running Lisp code on a dead window and > that call was rejected with an error by `window-normalize-window'. If > this happens during a call from C, we have a problem. I don't think this error was thrown from C. Most probably, it was thrown from Lisp, but since that unwinds the stack, there's no Lisp backtrace that could confirm that. I guess we need more checks in the mouse-highlight code, to account for such cases.
bug-gnu-emacs <at> gnu.org
:bug#12251
; Package emacs
.
(Thu, 23 Aug 2012 17:19:01 GMT) Full text and rfc822 format available.Message #38 received at 12251 <at> debbugs.gnu.org (full text, mbox):
From: martin rudalics <rudalics <at> gmx.at> To: sds <at> gnu.org Cc: Eli Zaretskii <eliz <at> gnu.org>, 12251 <at> debbugs.gnu.org Subject: Re: bug#12251: 24.2.50; crash in note_mouse_highlight Date: Thu, 23 Aug 2012 19:18:34 +0200
>> Shouldn't the window be live here? > > definitely! Can you try running it a while with such a check (that is, using WINDOW_LIVE_P instead of WINDOWP)? martin
bug-gnu-emacs <at> gnu.org
:bug#12251
; Package emacs
.
(Thu, 23 Aug 2012 17:20:01 GMT) Full text and rfc822 format available.Message #41 received at 12251 <at> debbugs.gnu.org (full text, mbox):
From: martin rudalics <rudalics <at> gmx.at> To: Eli Zaretskii <eliz <at> gnu.org> Cc: sds <at> gnu.org, 12251 <at> debbugs.gnu.org Subject: Re: bug#12251: 24.2.50; crash in note_mouse_highlight Date: Thu, 23 Aug 2012 19:19:03 +0200
>> >> "#<window 139> is not a valid window" >> >> The above means that we've been running Lisp code on a dead window and >> that call was rejected with an error by `window-normalize-window'. If >> this happens during a call from C, we have a problem. > > I don't think this error was thrown from C. The error was obviously thrown from Lisp which per se is harmless. But I'm quite convinced that it was thrown by a Lisp function directly or indirectly called from C. > Most probably, it was > thrown from Lisp, but since that unwinds the stack, there's no Lisp > backtrace that could confirm that. How could we explain a crash if it's all within Lisp code? > I guess we need more checks in the mouse-highlight code, to account > for such cases. Is note_mouse_highlight all we have to look at? martin
bug-gnu-emacs <at> gnu.org
:bug#12251
; Package emacs
.
(Thu, 23 Aug 2012 18:44:01 GMT) Full text and rfc822 format available.Message #44 received at 12251 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: martin rudalics <rudalics <at> gmx.at> Cc: sds <at> gnu.org, 12251 <at> debbugs.gnu.org Subject: Re: bug#12251: 24.2.50; crash in note_mouse_highlight Date: Thu, 23 Aug 2012 21:43:20 +0300
> Date: Thu, 23 Aug 2012 19:19:03 +0200 > From: martin rudalics <rudalics <at> gmx.at> > CC: sds <at> gnu.org, 12251 <at> debbugs.gnu.org > > >> >> "#<window 139> is not a valid window" > >> > >> The above means that we've been running Lisp code on a dead window and > >> that call was rejected with an error by `window-normalize-window'. If > >> this happens during a call from C, we have a problem. > > > > I don't think this error was thrown from C. > > The error was obviously thrown from Lisp which per se is harmless. But > I'm quite convinced that it was thrown by a Lisp function directly or > indirectly called from C. Why do you think that? > > Most probably, it was > > thrown from Lisp, but since that unwinds the stack, there's no Lisp > > backtrace that could confirm that. > > How could we explain a crash if it's all within Lisp code? It's not within Lisp anymore; the error throws to top-level, and Emacs tries to read input, at which time it gets a mouse event. > > I guess we need more checks in the mouse-highlight code, to account > > for such cases. > > Is note_mouse_highlight all we have to look at? Who knows? But if there are more, we will get more crashes ;-)
bug-gnu-emacs <at> gnu.org
:bug#12251
; Package emacs
.
(Fri, 24 Aug 2012 09:46:01 GMT) Full text and rfc822 format available.Message #47 received at 12251 <at> debbugs.gnu.org (full text, mbox):
From: martin rudalics <rudalics <at> gmx.at> To: Eli Zaretskii <eliz <at> gnu.org> Cc: sds <at> gnu.org, 12251 <at> debbugs.gnu.org Subject: Re: bug#12251: 24.2.50; crash in note_mouse_highlight Date: Fri, 24 Aug 2012 11:44:57 +0200
>> The error was obviously thrown from Lisp which per se is harmless. But >> I'm quite convinced that it was thrown by a Lisp function directly or >> indirectly called from C. > > Why do you think that? An error with code attempting to operate on a dead window within "normal" Lisp is a strange case. It can be due to users leaving a dangling reference to such a window somewhere in their code but I doubt that many people do that. And when such an error happens, there is no reason why it should expand into a crash. The (implicit) invariants of a window tree should not be violated by Elisp code. OTOH, calling an Elisp function from C in a state where the window tree invariants are temporarily violated can easily lead to a crash. >> How could we explain a crash if it's all within Lisp code? > > It's not within Lisp anymore; the error throws to top-level, and Emacs > tries to read input, at which time it gets a mouse event. That would be a _very_ strange coinicidence. martin
bug-gnu-emacs <at> gnu.org
:bug#12251
; Package emacs
.
(Fri, 24 Aug 2012 20:35:02 GMT) Full text and rfc822 format available.Message #50 received at 12251 <at> debbugs.gnu.org (full text, mbox):
From: Sam Steingold <sds <at> gnu.org> To: martin rudalics <rudalics <at> gmx.at> Cc: Eli Zaretskii <eliz <at> gnu.org>, 12251 <at> debbugs.gnu.org Subject: Re: bug#12251: 24.2.50; crash in note_mouse_highlight Date: Fri, 24 Aug 2012 16:33:28 -0400
[Message part 1 (text/plain, inline)]
On Thu, Aug 23, 2012 at 1:18 PM, martin rudalics <rudalics <at> gmx.at> wrote: >>> Shouldn't the window be live here? >> >> definitely! > > Can you try running it a while with such a check (that is, using > WINDOW_LIVE_P instead of WINDOWP)? tried, but got a crash in different place instead. -- Sam Steingold <http://sds.podval.org> <http://www.childpsy.net/>
[remember_mouse_glyph.log (application/octet-stream, attachment)]
bug-gnu-emacs <at> gnu.org
:bug#12251
; Package emacs
.
(Sat, 25 Aug 2012 13:41:02 GMT) Full text and rfc822 format available.Message #53 received at 12251 <at> debbugs.gnu.org (full text, mbox):
From: martin rudalics <rudalics <at> gmx.at> To: Sam Steingold <sds <at> gnu.org> Cc: Eli Zaretskii <eliz <at> gnu.org>, 12251 <at> debbugs.gnu.org Subject: Re: bug#12251: 24.2.50; crash in note_mouse_highlight Date: Sat, 25 Aug 2012 15:40:15 +0200
[Message part 1 (text/plain, inline)]
> tried, but got a crash in different place instead. Interesting. Could you try the more invasive patch I attached? I have no idea what it could break, so please don't do any important work with it. martin
[windowp.diff (text/plain, inline)]
bzr diff === modified file 'src/buffer.c' --- src/buffer.c 2012-08-24 04:37:57 +0000 +++ src/buffer.c 2012-08-25 13:16:19 +0000 @@ -1351,7 +1351,7 @@ A non-nil FLAG means mark the buffer modified. */) (Lisp_Object flag) { - Lisp_Object fn, buffer, window; + Lisp_Object fn, buffer; #ifdef CLASH_DETECTION /* If buffer becoming modified, lock the file. @@ -1401,8 +1401,7 @@ buffers without "modifying" buffers, or redisplay should be smarter about updating the `*' in mode lines. --gerd */ XSETBUFFER (buffer, current_buffer); - window = Fget_buffer_window (buffer, Qt); - if (WINDOWP (window)) + if (!NILP (Fget_buffer_window (buffer, Qt))) { ++update_mode_lines; current_buffer->prevent_redisplay_optimizations_p = 1; @@ -3195,7 +3194,7 @@ Lisp_Object window; window = Foverlay_get (overlay, Qwindow); - if (WINDOWP (window) && XWINDOW (window) != w) + if (WINDOW_LIVE_P (window) && XWINDOW (window) != w) continue; } @@ -3337,7 +3336,7 @@ if (endpos != pos && startpos != pos) continue; window = Foverlay_get (overlay, Qwindow); - if (WINDOWP (window) && XWINDOW (window) != w) + if (WINDOW_LIVE_P (window) && XWINDOW (window) != w) continue; if (startpos == pos && (str = Foverlay_get (overlay, Qbefore_string), STRINGP (str))) @@ -3365,7 +3364,7 @@ if (endpos != pos && startpos != pos) continue; window = Foverlay_get (overlay, Qwindow); - if (WINDOWP (window) && XWINDOW (window) != w) + if (WINDOW_LIVE_P (window) && XWINDOW (window) != w) continue; if (startpos == pos && (str = Foverlay_get (overlay, Qbefore_string), STRINGP (str))) === modified file 'src/editfns.c' --- src/editfns.c 2012-08-21 23:39:56 +0000 +++ src/editfns.c 2012-08-25 12:34:37 +0000 @@ -360,7 +360,7 @@ if (NILP (object)) XSETBUFFER (object, current_buffer); - else if (WINDOWP (object)) + else if (WINDOW_LIVE_P (object)) object = XWINDOW (object)->buffer; if (!BUFFERP (object)) === modified file 'src/frame.c' --- src/frame.c 2012-08-22 16:05:04 +0000 +++ src/frame.c 2012-08-25 13:14:31 +0000 @@ -951,7 +951,7 @@ || FRAME_ICONIFIED_P (XFRAME (f))) return f; } - else if (WINDOWP (minibuf)) + else if (WINDOW_LIVE_P (minibuf)) { if (EQ (FRAME_MINIBUF_WINDOW (XFRAME (f)), minibuf) || EQ (WINDOW_FRAME (XWINDOW (minibuf)), f) @@ -1010,7 +1010,7 @@ if (! FRAME_MINIBUF_ONLY_P (XFRAME (f))) prev = f; } - else if (WINDOWP (minibuf)) + else if (WINDOW_LIVE_P (minibuf)) { if (EQ (FRAME_MINIBUF_WINDOW (XFRAME (f)), minibuf) || EQ (WINDOW_FRAME (XWINDOW (minibuf)), f) @@ -2150,7 +2150,7 @@ set_term_frame_name (f, val); } - if (EQ (prop, Qminibuffer) && WINDOWP (val)) + if (EQ (prop, Qminibuffer) && WINDOW_LIVE_P (val)) { if (! MINI_WINDOW_P (XWINDOW (val))) error ("Surrogate minibuffer windows must be minibuffer windows"); === modified file 'src/keyboard.c' --- src/keyboard.c 2012-08-23 08:33:56 +0000 +++ src/keyboard.c 2012-08-25 12:34:33 +0000 @@ -3521,7 +3521,7 @@ frame = event->frame_or_window; if (CONSP (frame)) frame = XCAR (frame); - else if (WINDOWP (frame)) + else if (WINDOW_LIVE_P (frame)) frame = WINDOW_FRAME (XWINDOW (frame)); /* There are still some events that don't set this field. @@ -3738,7 +3738,7 @@ event.kind = HELP_EVENT; event.frame_or_window = frame; event.arg = object; - event.x = WINDOWP (window) ? window : frame; + event.x = WINDOW_LIVE_P (window) ? window : frame; event.y = help; event.code = pos; kbd_buffer_store_event (&event); @@ -4064,7 +4064,7 @@ clear_event (event); kbd_fetch_ptr = event + 1; - if (!WINDOWP (window)) + if (!WINDOW_LIVE_P (window)) window = Qnil; obj = Fcons (Qhelp_echo, list5 (frame, help, window, object, position)); @@ -4109,7 +4109,7 @@ frame = event->frame_or_window; if (CONSP (frame)) frame = XCAR (frame); - else if (WINDOWP (frame)) + else if (WINDOW_LIVE_P (frame)) frame = WINDOW_FRAME (XWINDOW (frame)); focus = FRAME_FOCUS_FRAME (XFRAME (frame)); @@ -5192,7 +5192,7 @@ ? window_from_coordinates (f, XINT (x), XINT (y), &part, 0) : Qnil; - if (WINDOWP (window)) + if (WINDOW_LIVE_P (window)) { /* It's a click in window WINDOW at frame coordinates (X,Y) */ struct window *w = XWINDOW (window); @@ -5621,7 +5621,7 @@ struct frame *f; int fuzz; - if (WINDOWP (event->frame_or_window)) + if (WINDOW_LIVE_P (event->frame_or_window)) f = XFRAME (XWINDOW (event->frame_or_window)->frame); else if (FRAMEP (event->frame_or_window)) f = XFRAME (event->frame_or_window); @@ -5789,7 +5789,7 @@ int symbol_num; int is_double; - if (WINDOWP (event->frame_or_window)) + if (WINDOW_LIVE_P (event->frame_or_window)) fr = XFRAME (XWINDOW (event->frame_or_window)->frame); else if (FRAMEP (event->frame_or_window)) fr = XFRAME (event->frame_or_window); @@ -9555,7 +9555,7 @@ read using the keymaps in the buffer clicked on, not the current buffer. If we're at the beginning of a key sequence, switch buffers. */ - if (WINDOWP (window) + if (WINDOW_LIVE_P (window) && BUFFERP (XWINDOW (window)->buffer) && XBUFFER (XWINDOW (window)->buffer) != current_buffer) { @@ -11249,7 +11249,7 @@ if (NILP (frame_or_window)) frame_or_window = selected_window; - if (WINDOWP (frame_or_window)) + if (WINDOW_LIVE_P (frame_or_window)) { struct window *w = decode_live_window (frame_or_window); === modified file 'src/keymap.c' --- src/keymap.c 2012-08-18 06:06:39 +0000 +++ src/keymap.c 2012-08-25 12:41:07 +0000 @@ -1559,7 +1559,7 @@ window = POSN_WINDOW (position); - if (WINDOWP (window) + if (WINDOW_LIVE_P (window) && BUFFERP (XWINDOW (window)->buffer) && XBUFFER (XWINDOW (window)->buffer) != current_buffer) { === modified file 'src/textprop.c' --- src/textprop.c 2012-08-17 21:12:11 +0000 +++ src/textprop.c 2012-08-25 13:05:53 +0000 @@ -584,7 +584,7 @@ if (NILP (object)) XSETBUFFER (object, current_buffer); - if (WINDOWP (object)) + if (WINDOW_LIVE_P (object)) { w = XWINDOW (object); object = w->buffer; === modified file 'src/w32inevt.c' --- src/w32inevt.c 2012-07-30 17:07:33 +0000 +++ src/w32inevt.c 2012-08-25 13:06:20 +0000 @@ -650,7 +650,7 @@ selected now, and the last mouse movement event was not in it. A minibuffer window will be selected iff it is active. */ - if (WINDOWP (mouse_window) + if (WINDOW_LIVE_P (mouse_window) && !EQ (mouse_window, last_mouse_window) && !EQ (mouse_window, selected_window)) { === modified file 'src/w32term.c' --- src/w32term.c 2012-08-18 01:42:52 +0000 +++ src/w32term.c 2012-08-25 13:10:02 +0000 @@ -3927,7 +3927,7 @@ w32_scroll_bar_handle_click (struct scroll_bar *bar, W32Msg *msg, struct input_event *emacs_event) { - if (! WINDOWP (bar->window)) + if (! WINDOW_LIVE_P (bar->window)) abort (); emacs_event->kind = SCROLL_BAR_CLICK_EVENT; @@ -4420,7 +4420,7 @@ selected now and last mouse movement event was not in it. Minibuffer window will be selected only when it is active. */ - if (WINDOWP (window) + if (WINDOW_LIVE_P (window) && !EQ (window, last_window) && !EQ (window, selected_window) /* For click-to-focus window managers === modified file 'src/window.c' --- src/window.c 2012-08-21 09:27:07 +0000 +++ src/window.c 2012-08-25 12:52:42 +0000 @@ -1969,7 +1969,7 @@ So don't clobber point in that buffer. */ if (! EQ (buf, XWINDOW (selected_window)->buffer) /* This line helps to fix Horsley's testbug.el bug. */ - && !(WINDOWP (BVAR (b, last_selected_window)) + && !(WINDOW_LIVE_P (BVAR (b, last_selected_window)) && w != XWINDOW (BVAR (b, last_selected_window)) && EQ (buf, XWINDOW (BVAR (b, last_selected_window))->buffer))) temp_set_point_both (b, @@ -1980,7 +1980,7 @@ marker_byte_position (w->pointm), BUF_ZV_BYTE (b))); - if (WINDOWP (BVAR (b, last_selected_window)) + if (WINDOW_LIVE_P (BVAR (b, last_selected_window)) && w == XWINDOW (BVAR (b, last_selected_window))) bset_last_selected_window (b, Qnil); } @@ -2205,7 +2205,7 @@ candidate_p = 0; else if (MINI_WINDOW_P (w) && (EQ (minibuf, Qlambda) - || (WINDOWP (minibuf) && !EQ (minibuf, window)))) + || (WINDOW_LIVE_P (minibuf) && !EQ (minibuf, window)))) { /* If MINIBUF is `lambda' don't consider any mini-windows. If it is a window, consider only that one. */ @@ -2215,7 +2215,7 @@ candidate_p = 1; else if (NILP (all_frames)) { - eassert (WINDOWP (owindow)); + eassert (WINDOW_LIVE_P (owindow)); candidate_p = EQ (w->frame, XWINDOW (owindow)->frame); } else if (EQ (all_frames, Qvisible)) @@ -2244,7 +2244,7 @@ && (FRAME_TERMINAL (XFRAME (w->frame)) == FRAME_TERMINAL (XFRAME (selected_frame))); } - else if (WINDOWP (all_frames)) + else if (WINDOW_LIVE_P (all_frames)) candidate_p = (EQ (FRAME_MINIBUF_WINDOW (f), all_frames) || EQ (XWINDOW (all_frames)->frame, w->frame) || EQ (XWINDOW (all_frames)->frame, FRAME_FOCUS_FRAME (f))); @@ -2348,7 +2348,7 @@ { if (EQ (XCAR (list), window)) { - if (WINDOWP (candidate)) + if (WINDOW_LIVE_P (candidate)) break; } else if (candidate_window_p (XCAR (list), window, minibuf, @@ -2356,7 +2356,7 @@ candidate = XCAR (list); } - if (WINDOWP (candidate)) + if (WINDOW_LIVE_P (candidate)) window = candidate; } @@ -2580,7 +2580,7 @@ or Qt otherwise. */ /* Pick a window to start with. */ - if (WINDOWP (obj)) + if (WINDOW_LIVE_P (obj)) window = obj; else if (f) window = FRAME_SELECTED_WINDOW (f); @@ -3321,7 +3321,7 @@ return Qt; } - if (WINDOWP (object)) + if (WINDOW_LIVE_P (object)) { struct window *w = XWINDOW (object); mark_window_display_accurate (object, 0); @@ -5562,7 +5562,7 @@ the current-selected-window. So we have to be careful which point of the current-buffer we copy into old_point. */ if (EQ (XWINDOW (data->current_window)->buffer, new_current_buffer) - && WINDOWP (selected_window) + && WINDOW_LIVE_P (selected_window) && EQ (XWINDOW (selected_window)->buffer, new_current_buffer) && !EQ (selected_window, data->current_window)) old_point = XMARKER (XWINDOW (data->current_window)->pointm)->charpos; @@ -6495,7 +6495,7 @@ void *user_data) { /* delete_frame may set FRAME_ROOT_WINDOW (f) to Qnil. */ - if (WINDOWP (FRAME_ROOT_WINDOW (f))) + if (WINDOW_VALID_P (FRAME_ROOT_WINDOW (f))) foreach_window_1 (XWINDOW (FRAME_ROOT_WINDOW (f)), fn, user_data); } @@ -6534,7 +6534,7 @@ freeze_window_start (struct window *w, void *freeze_p) { if (MINI_WINDOW_P (w) - || (WINDOWP (selected_window) /* Can be nil in corner cases. */ + || (WINDOW_LIVE_P (selected_window) /* Can be nil in corner cases. */ && (w == XWINDOW (selected_window) || (MINI_WINDOW_P (XWINDOW (selected_window)) && ! NILP (Vminibuf_scroll_window) === modified file 'src/xdisp.c' --- src/xdisp.c 2012-08-21 23:39:56 +0000 +++ src/xdisp.c 2012-08-25 13:16:16 +0000 @@ -2714,7 +2714,7 @@ /* Or show the region if we are in the mini-buffer and W is the window the mini-buffer refers to. */ || (MINI_WINDOW_P (XWINDOW (selected_window)) - && WINDOWP (minibuf_selected_window) + && WINDOW_LIVE_P (minibuf_selected_window) && w == XWINDOW (minibuf_selected_window)))) { ptrdiff_t markpos = marker_position (BVAR (current_buffer, mark)); @@ -10082,7 +10082,7 @@ Vdeactivate_mark = AREF (vector, 1); windows_or_buffers_changed = XFASTINT (AREF (vector, 2)); - if (WINDOWP (AREF (vector, 3))) + if (WINDOW_LIVE_P (AREF (vector, 3))) { struct window *w; Lisp_Object buffer, charpos, bytepos; @@ -10251,7 +10251,7 @@ resize_echo_area_exactly (void) { if (BUFFERP (echo_area_buffer[0]) - && WINDOWP (echo_area_window)) + && WINDOW_LIVE_P (echo_area_window)) { struct window *w = XWINDOW (echo_area_window); int resized_p; @@ -13057,7 +13057,8 @@ /* do_pending_window_change could change the selected_window due to frame resizing which makes the selected window too small. */ - if (WINDOWP (selected_window) && (w = XWINDOW (selected_window)) != sw) + if (WINDOW_LIVE_P (selected_window) + && (w = XWINDOW (selected_window)) != sw) { sw = w; reconsider_clip_changes (w, current_buffer); @@ -13336,7 +13337,7 @@ { do_pending_window_change (1); /* If selected_window changed, redisplay again. */ - if (WINDOWP (selected_window) + if (WINDOW_LIVE_P (selected_window) && (w = XWINDOW (selected_window)) != sw) goto retry; @@ -13647,7 +13648,8 @@ /* If we just did a pending size change, or have additional visible frames, or selected_window changed, redisplay again. */ if ((windows_or_buffers_changed && !pending) - || (WINDOWP (selected_window) && (w = XWINDOW (selected_window)) != sw)) + || (WINDOW_LIVE_P (selected_window) + && (w = XWINDOW (selected_window)) != sw)) goto retry; /* Clear the face and image caches. @@ -26358,7 +26360,7 @@ Mouse_HLInfo *hlinfo = MOUSE_HL_INFO (XFRAME (w->frame)); /* Quickly resolve the easy cases. */ - if (!(WINDOWP (hlinfo->mouse_face_window) + if (!(WINDOW_LIVE_P (hlinfo->mouse_face_window) && XWINDOW (hlinfo->mouse_face_window) == w)) return 0; if (vpos < hlinfo->mouse_face_beg_row @@ -27660,7 +27662,7 @@ clear_mouse_face (hlinfo); /* Not on a window -> return. */ - if (!WINDOWP (window)) + if (!WINDOW_LIVE_P (window)) return; /* Reset help_echo_string. It will get recomputed below. */ === modified file 'src/xfaces.c' --- src/xfaces.c 2012-08-21 10:21:04 +0000 +++ src/xfaces.c 2012-08-25 13:09:58 +0000 @@ -4350,7 +4350,7 @@ matrices as invalid because they will reference faces freed above. This function is also called when a frame is destroyed. In this case, the root window of F is nil. */ - if (WINDOWP (f->root_window)) + if (WINDOW_VALID_P (f->root_window)) { clear_current_matrices (f); ++windows_or_buffers_changed; === modified file 'src/xterm.c' --- src/xterm.c 2012-08-18 01:42:52 +0000 +++ src/xterm.c 2012-08-25 13:09:51 +0000 @@ -4235,7 +4235,7 @@ if (scroll_bar_p && strcmp (action_name, end_action) == 0 - && WINDOWP (window_being_scrolled)) + && WINDOW_LIVE_P (window_being_scrolled)) { struct window *w; @@ -4512,7 +4512,7 @@ { struct scroll_bar *bar = (struct scroll_bar *) user_data; bar->dragging = Qnil; - if (WINDOWP (window_being_scrolled)) + if (WINDOW_LIVE_P (window_being_scrolled)) { x_send_scroll_bar_event (window_being_scrolled, scroll_bar_end_scroll, 0, 0); @@ -5557,7 +5557,7 @@ static void x_scroll_bar_handle_click (struct scroll_bar *bar, XEvent *event, struct input_event *emacs_event) { - if (! WINDOWP (bar->window)) + if (! WINDOW_LIVE_P (bar->window)) abort (); emacs_event->kind = SCROLL_BAR_CLICK_EVENT; @@ -6782,7 +6782,7 @@ /* Window will be selected only when it is not selected now and last mouse movement event was not in it. Minibuffer window will be selected only when it is active. */ - if (WINDOWP (window) + if (WINDOW_LIVE_P (window) && !EQ (window, last_window) && !EQ (window, selected_window) /* For click-to-focus window managers
bug-gnu-emacs <at> gnu.org
:bug#12251
; Package emacs
.
(Mon, 27 Aug 2012 19:03:01 GMT) Full text and rfc822 format available.Message #56 received at 12251 <at> debbugs.gnu.org (full text, mbox):
From: Sam Steingold <sds <at> gnu.org> To: martin rudalics <rudalics <at> gmx.at> Cc: Eli Zaretskii <eliz <at> gnu.org>, 12251 <at> debbugs.gnu.org Subject: Re: bug#12251: 24.2.50; crash in note_mouse_highlight Date: Mon, 27 Aug 2012 15:01:55 -0400
> * martin rudalics <ehqnyvpf <at> tzk.ng> [2012-08-25 15:40:15 +0200]: > >> tried, but got a crash in different place instead. > > Interesting. Could you try the more invasive patch I attached? I > have no idea what it could break, so please don't do any important > work with it. I rebuilt bzr tip this morning and now I am getting this: Debugger entered--Lisp error: (error "#<window 3> is not a live window") signal(error ("#<window 3> is not a live window")) error("%s is not a live window" #<window 3>) window-normalize-window(#<window 3> t) record-window-buffer(#<window 3>) set-window-configuration(#<window-configuration>) sds-window-configuration-restore() run-hooks(gnus-suspend-gnus-hook) apply(run-hooks gnus-suspend-gnus-hook) gnus-run-hooks(gnus-suspend-gnus-hook) gnus-group-suspend() call-interactively(gnus-group-suspend nil nil) when exiting or suspending gnus and -- Sam Steingold (http://sds.podval.org/) on Ubuntu 12.04 (precise) X 11.0.11103000 http://www.childpsy.net/ http://pmw.org.il http://www.memritv.org http://thereligionofpeace.com http://camera.org http://iris.org.il Money does not bother me at all. In fact, it calms me down.
bug-gnu-emacs <at> gnu.org
:bug#12251
; Package emacs
.
(Mon, 27 Aug 2012 19:07:01 GMT) Full text and rfc822 format available.Message #59 received at 12251 <at> debbugs.gnu.org (full text, mbox):
From: Sam Steingold <sds <at> gnu.org> To: martin rudalics <rudalics <at> gmx.at> Cc: Eli Zaretskii <eliz <at> gnu.org>, 12251 <at> debbugs.gnu.org Subject: Re: bug#12251: 24.2.50; crash in note_mouse_highlight Date: Mon, 27 Aug 2012 15:05:57 -0400
> * Sam Steingold <fqf <at> tah.bet> [2012-08-27 15:01:55 -0400]: > >> * martin rudalics <ehqnyvpf <at> tzk.ng> [2012-08-25 15:40:15 +0200]: >> >>> tried, but got a crash in different place instead. >> >> Interesting. Could you try the more invasive patch I attached? I >> have no idea what it could break, so please don't do any important >> work with it. > > I rebuilt bzr tip this morning and now I am getting this: > > Debugger entered--Lisp error: (error "#<window 3> is not a live window") > signal(error ("#<window 3> is not a live window")) > error("%s is not a live window" #<window 3>) > window-normalize-window(#<window 3> t) > record-window-buffer(#<window 3>) > set-window-configuration(#<window-configuration>) > sds-window-configuration-restore() > run-hooks(gnus-suspend-gnus-hook) > apply(run-hooks gnus-suspend-gnus-hook) > gnus-run-hooks(gnus-suspend-gnus-hook) > gnus-group-suspend() > call-interactively(gnus-group-suspend nil nil) > > when exiting or suspending gnus and ... a similar error when sending e-mail replies after ispell-message . my relevant settings are: (add-hook 'message-send-hook 'ispell-message t) (defvar sds-window-configuration) (defun sds-window-configuration-save () (setq sds-window-configuration (current-window-configuration))) (defun sds-window-configuration-restore () (set-window-configuration sds-window-configuration)) (add-hook 'gnus-after-exiting-gnus-hook 'sds-window-configuration-restore) (add-hook 'gnus-suspend-gnus-hook 'sds-window-configuration-restore) (add-hook 'gnus-before-startup-hook 'sds-window-configuration-save) I assume that your patch is in the bzr tree now, I did not apply it. -- Sam Steingold (http://sds.podval.org/) on Ubuntu 12.04 (precise) X 11.0.11103000 http://www.childpsy.net/ http://pmw.org.il http://palestinefacts.org http://dhimmi.com http://www.memritv.org http://think-israel.org I don't want to be young again, I just don't want to get any older.
bug-gnu-emacs <at> gnu.org
:bug#12251
; Package emacs
.
(Mon, 27 Aug 2012 21:12:03 GMT) Full text and rfc822 format available.Message #62 received at 12251 <at> debbugs.gnu.org (full text, mbox):
From: martin rudalics <rudalics <at> gmx.at> To: sds <at> gnu.org Cc: Eli Zaretskii <eliz <at> gnu.org>, 12251 <at> debbugs.gnu.org Subject: Re: bug#12251: 24.2.50; crash in note_mouse_highlight Date: Mon, 27 Aug 2012 23:10:35 +0200
>> I rebuilt bzr tip this morning and now I am getting this: >> >> Debugger entered--Lisp error: (error "#<window 3> is not a live window") >> signal(error ("#<window 3> is not a live window")) >> error("%s is not a live window" #<window 3>) >> window-normalize-window(#<window 3> t) >> record-window-buffer(#<window 3>) >> set-window-configuration(#<window-configuration>) >> sds-window-configuration-restore() >> run-hooks(gnus-suspend-gnus-hook) >> apply(run-hooks gnus-suspend-gnus-hook) >> gnus-run-hooks(gnus-suspend-gnus-hook) >> gnus-group-suspend() >> call-interactively(gnus-group-suspend nil nil) >> >> when exiting or suspending gnus and > > ... a similar error when sending e-mail replies after ispell-message . > > my relevant settings are: > > (add-hook 'message-send-hook 'ispell-message t) > (defvar sds-window-configuration) > (defun sds-window-configuration-save () > (setq sds-window-configuration (current-window-configuration))) > (defun sds-window-configuration-restore () > (set-window-configuration sds-window-configuration)) > (add-hook 'gnus-after-exiting-gnus-hook 'sds-window-configuration-restore) > (add-hook 'gnus-suspend-gnus-hook 'sds-window-configuration-restore) > (add-hook 'gnus-before-startup-hook 'sds-window-configuration-save) It's an unrelated change I reverted now. > I assume that your patch is in the bzr tree now, I did not apply it. It is not. Please try it. martin
bug-gnu-emacs <at> gnu.org
:bug#12251
; Package emacs
.
(Tue, 28 Aug 2012 16:37:02 GMT) Full text and rfc822 format available.Message #65 received at 12251 <at> debbugs.gnu.org (full text, mbox):
From: Sam Steingold <sds <at> gnu.org> To: martin rudalics <rudalics <at> gmx.at> Cc: Eli Zaretskii <eliz <at> gnu.org>, 12251 <at> debbugs.gnu.org Subject: Re: bug#12251: 24.2.50; crash in note_mouse_highlight Date: Tue, 28 Aug 2012 12:35:04 -0400
On Mon, Aug 27, 2012 at 3:05 PM, Sam Steingold <sds <at> gnu.org> wrote: >> * Sam Steingold <fqf <at> tah.bet> [2012-08-27 15:01:55 -0400]: >> >>> * martin rudalics <ehqnyvpf <at> tzk.ng> [2012-08-25 15:40:15 +0200]: >>> >>>> tried, but got a crash in different place instead. >>> >>> Interesting. Could you try the more invasive patch I attached? I >>> have no idea what it could break, so please don't do any important >>> work with it. >> >> I rebuilt bzr tip this morning and now I am getting this: >> >> Debugger entered--Lisp error: (error "#<window 3> is not a live window") >> signal(error ("#<window 3> is not a live window")) >> error("%s is not a live window" #<window 3>) >> window-normalize-window(#<window 3> t) >> record-window-buffer(#<window 3>) >> set-window-configuration(#<window-configuration>) >> sds-window-configuration-restore() >> run-hooks(gnus-suspend-gnus-hook) >> apply(run-hooks gnus-suspend-gnus-hook) >> gnus-run-hooks(gnus-suspend-gnus-hook) >> gnus-group-suspend() >> call-interactively(gnus-group-suspend nil nil) >> >> when exiting or suspending gnus and > > ... a similar error when sending e-mail replies after ispell-message . sorry, it was actually on commit: Debugger entered--Lisp error: (error "#<window 114> is not a live window") signal(error ("#<window 114> is not a live window")) error("%s is not a live window" #<window 114>) window-normalize-window(#<window 114> t) record-window-buffer(#<window 114>) set-window-configuration(#<window-configuration>) ispell-process-line("^report the filtring lift\n" nil) ispell-region(1 26) ispell-buffer() run-hooks(log-edit-done-hook) log-edit-done() call-interactively(log-edit-done nil nil) -- Sam Steingold <http://sds.podval.org> <http://www.childpsy.net/>
bug-gnu-emacs <at> gnu.org
:bug#12251
; Package emacs
.
(Tue, 28 Aug 2012 17:07:01 GMT) Full text and rfc822 format available.Message #68 received at 12251 <at> debbugs.gnu.org (full text, mbox):
From: martin rudalics <rudalics <at> gmx.at> To: Sam Steingold <sds <at> gnu.org> Cc: Eli Zaretskii <eliz <at> gnu.org>, 12251 <at> debbugs.gnu.org Subject: Re: bug#12251: 24.2.50; crash in note_mouse_highlight Date: Tue, 28 Aug 2012 19:05:09 +0200
> Debugger entered--Lisp error: (error "#<window 114> is not a live window") > signal(error ("#<window 114> is not a live window")) > error("%s is not a live window" #<window 114>) > window-normalize-window(#<window 114> t) > record-window-buffer(#<window 114>) > set-window-configuration(#<window-configuration>) > ispell-process-line("^report the filtring lift\n" nil) > ispell-region(1 26) > ispell-buffer() > run-hooks(log-edit-done-hook) > log-edit-done() > call-interactively(log-edit-done nil nil) `set-window-configuration' now has w = XWINDOW (window); if (!NILP (w->buffer) && !EQ (w->buffer, p->buffer) && !NILP (BVAR (XBUFFER (p->buffer), name))) /* If a window we restore gets another buffer, record the window's old buffer. */ call1 (Qrecord_window_buffer, window); so it's a complete mystery why this fails. If it happens too frequently, please take out the call1 (Qrecord_window_buffer, window); in Fset_window_configuration. But if you leave it in and the bug happens again, please try to locate the incriminated window (`window-tree' could be useful) and tell me whether it's still there and whether it has a buffer. Thanks, martin
bug-gnu-emacs <at> gnu.org
:bug#12251
; Package emacs
.
(Wed, 29 Aug 2012 09:36:02 GMT) Full text and rfc822 format available.Message #71 received at 12251 <at> debbugs.gnu.org (full text, mbox):
From: martin rudalics <rudalics <at> gmx.at> To: Sam Steingold <sds <at> gnu.org> Cc: 12251 <at> debbugs.gnu.org Subject: Re: bug#12251: 24.2.50; crash in note_mouse_highlight Date: Wed, 29 Aug 2012 11:34:59 +0200
Maybe we've been miscommunicating, so let me try to sort things out: We're trying to detect the source of a bug in note_mouse_highlight. A possible reason for this is that Emacs does not check the validity of windows rigidly enough. I added some checks in revision 109644. The patch I sent you does some more of these checks. As a result of the checks from revision 109644 two problems turned up: (1) In `set-window-configuration' the auto-buffer-name stuff didn't work any more causing potential crashes or infinite looping here. Neither of these seem to show up in your scenario but I removed the stuff anyway in revision 109802. (2) Revision 109789 introduced a bug which caused your scenario Debugger entered--Lisp error: (error "#<window 3> is not a live window") signal(error ("#<window 3> is not a live window")) error("%s is not a live window" #<window 3>) window-normalize-window(#<window 3> t) record-window-buffer(#<window 3>) set-window-configuration(#<window-configuration>) I removed that in revision 109795 and hopefully fixed that for good in revision 109803. So this bug will show up in revisions 109789...109794. If it shows up after revision 109794, something weird happens as I mentioned before and I will have to investigate it with your help. So please make sure that you work with the latest bzr version regardless of whether you applied the patch I sent you or not. martin
bug-gnu-emacs <at> gnu.org
:bug#12251
; Package emacs
.
(Wed, 29 Aug 2012 14:45:02 GMT) Full text and rfc822 format available.Message #74 received at 12251 <at> debbugs.gnu.org (full text, mbox):
From: Sam Steingold <sds <at> gnu.org> To: martin rudalics <rudalics <at> gmx.at> Cc: 12251 <at> debbugs.gnu.org Subject: Re: bug#12251: 24.2.50; crash in note_mouse_highlight Date: Wed, 29 Aug 2012 10:42:50 -0400
On Wed, Aug 29, 2012 at 5:34 AM, martin rudalics <rudalics <at> gmx.at> wrote: > I removed that in revision 109795 and hopefully fixed that for good in > revision 109803. So this bug will show up in revisions 109789...109794. > If it shows up after revision 109794, something weird happens as I > mentioned before and I will have to investigate it with your help. > > So please make sure that you work with the latest bzr version regardless > of whether you applied the patch I sent you or not. I am running (emacs-bzr-version "109806 schwab <at> linux-m68k.org-20120828160850-hft2a31ibkjr9uks") with your patch. -- Sam Steingold <http://sds.podval.org> <http://www.childpsy.net/>
bug-gnu-emacs <at> gnu.org
:bug#12251
; Package emacs
.
(Thu, 30 Aug 2012 08:05:01 GMT) Full text and rfc822 format available.Message #77 received at 12251 <at> debbugs.gnu.org (full text, mbox):
From: martin rudalics <rudalics <at> gmx.at> To: Sam Steingold <sds <at> gnu.org> Cc: 12251 <at> debbugs.gnu.org Subject: Re: bug#12251: 24.2.50; crash in note_mouse_highlight Date: Thu, 30 Aug 2012 10:03:03 +0200
> I am running > (emacs-bzr-version "109806 > schwab <at> linux-m68k.org-20120828160850-hft2a31ibkjr9uks") > with your patch. And did you get a crash or the "window ... is not a live window" with that? martin
bug-gnu-emacs <at> gnu.org
:bug#12251
; Package emacs
.
(Thu, 30 Aug 2012 11:04:01 GMT) Full text and rfc822 format available.Message #80 received at 12251 <at> debbugs.gnu.org (full text, mbox):
From: Sam Steingold <sds <at> gnu.org> To: martin rudalics <rudalics <at> gmx.at> Cc: 12251 <at> debbugs.gnu.org Subject: Re: bug#12251: 24.2.50; crash in note_mouse_highlight Date: Thu, 30 Aug 2012 07:02:03 -0400
On Thu, Aug 30, 2012 at 4:03 AM, martin rudalics <rudalics <at> gmx.at> wrote: >> I am running >> (emacs-bzr-version "109806 >> schwab <at> linux-m68k.org-20120828160850-hft2a31ibkjr9uks") >> with your patch. > > And did you get a crash or the "window ... is not a live window" > with that? no crashes, no errors. yet. -- Sam Steingold <http://sds.podval.org> <http://www.childpsy.net/>
bug-gnu-emacs <at> gnu.org
:bug#12251
; Package emacs
.
(Thu, 30 Aug 2012 12:41:02 GMT) Full text and rfc822 format available.Message #83 received at 12251 <at> debbugs.gnu.org (full text, mbox):
From: Sam Steingold <sds <at> gnu.org> To: martin rudalics <rudalics <at> gmx.at> Cc: 12251 <at> debbugs.gnu.org Subject: Re: bug#12251: 24.2.50; crash in note_mouse_highlight Date: Thu, 30 Aug 2012 08:39:01 -0400
On Thu, Aug 30, 2012 at 4:03 AM, martin rudalics <rudalics <at> gmx.at> wrote: >> I am running >> (emacs-bzr-version "109806 >> schwab <at> linux-m68k.org-20120828160850-hft2a31ibkjr9uks") >> with your patch. > > And did you get a crash or the "window ... is not a live window" > with that? no crashes, no errors. yet. -- Sam Steingold <http://sds.podval.org> <http://www.childpsy.net/>
bug-gnu-emacs <at> gnu.org
:bug#12251
; Package emacs
.
(Thu, 30 Aug 2012 12:51:02 GMT) Full text and rfc822 format available.Message #86 received at 12251 <at> debbugs.gnu.org (full text, mbox):
From: martin rudalics <rudalics <at> gmx.at> To: Sam Steingold <sds <at> gnu.org> Cc: 12251 <at> debbugs.gnu.org Subject: Re: bug#12251: 24.2.50; crash in note_mouse_highlight Date: Thu, 30 Aug 2012 14:49:08 +0200
> no crashes, no errors. > yet. You should inject some orthographical errors in your mails/change logs. martin
bug-gnu-emacs <at> gnu.org
:bug#12251
; Package emacs
.
(Sat, 01 Sep 2012 09:39:01 GMT) Full text and rfc822 format available.Message #89 received at 12251 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Sam Steingold <sds <at> gnu.org>, Werner LEMBERG <wl <at> gnu.org> Cc: rudalics <at> gmx.at, 12251 <at> debbugs.gnu.org Subject: Re: bug#12251: 24.2.50; crash in note_mouse_highlight Date: Sat, 01 Sep 2012 12:36:56 +0300
> Date: Thu, 30 Aug 2012 07:02:03 -0400 > From: Sam Steingold <sds <at> gnu.org> > Cc: 12251 <at> debbugs.gnu.org > > On Thu, Aug 30, 2012 at 4:03 AM, martin rudalics <rudalics <at> gmx.at> wrote: > >> I am running > >> (emacs-bzr-version "109806 > >> schwab <at> linux-m68k.org-20120828160850-hft2a31ibkjr9uks") > >> with your patch. > > > > And did you get a crash or the "window ... is not a live window" > > with that? > > no crashes, no errors. > yet. So do we still have a problem or problems with note_mouse_movement that I need to look into? If there are still crashes there, I need an up-to-date backtrace with information about which variable has bogus or null value that causes the crash. "bt full" is not really useful, especially in an optimized build, because it doesn't give a clue about which variable(s) are problematic. And the line number information I got is no longer dependable, given the latest changes in related files.
bug-gnu-emacs <at> gnu.org
:bug#12251
; Package emacs
.
(Sat, 01 Sep 2012 09:42:02 GMT) Full text and rfc822 format available.Message #92 received at 12251 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: sds <at> gnu.org Cc: rudalics <at> gmx.at, 12251 <at> debbugs.gnu.org Subject: Re: bug#12251: 24.2.50; crash in note_mouse_highlight Date: Sat, 01 Sep 2012 12:40:29 +0300
> From: Sam Steingold <sds <at> gnu.org> > Cc: Eli Zaretskii <eliz <at> gnu.org>, 12251 <at> debbugs.gnu.org > Date: Thu, 23 Aug 2012 09:19:36 -0400 > > > BTW I see that note_mouse_highlight has > > > > /* Not on a window -> return. */ > > if (!WINDOWP (window)) > > return; > > > > Shouldn't the window be live here? > > definitely! Are you saying that non-live windows can have valid mouse-highlight information in them? If so, the code that makes those windows dead is the culprit. Which code makes a live window dead?
bug-gnu-emacs <at> gnu.org
:bug#12251
; Package emacs
.
(Wed, 05 Sep 2012 19:57:01 GMT) Full text and rfc822 format available.Message #95 received at 12251 <at> debbugs.gnu.org (full text, mbox):
From: Sam Steingold <sds <at> gnu.org> To: Eli Zaretskii <eliz <at> gnu.org> Cc: rudalics <at> gmx.at, Werner LEMBERG <wl <at> gnu.org>, 12251 <at> debbugs.gnu.org Subject: Re: bug#12251: 24.2.50; crash in note_mouse_highlight Date: Wed, 5 Sep 2012 15:56:08 -0400
[Message part 1 (text/plain, inline)]
On Sat, Sep 1, 2012 at 5:36 AM, Eli Zaretskii <eliz <at> gnu.org> wrote: >> On Thu, Aug 30, 2012 at 4:03 AM, martin rudalics <rudalics <at> gmx.at> wrote: >> >> I am running >> >> (emacs-bzr-version "109806 >> >> schwab <at> linux-m68k.org-20120828160850-hft2a31ibkjr9uks") >> >> with your patch. >> > >> > And did you get a crash or the "window ... is not a live window" >> > with that? >> >> no crashes, no errors. >> yet. > > So do we still have a problem or problems with note_mouse_movement > that I need to look into? emacs just hang when I sent an email. it keep raising an error (the top and bottom lines are blue - visual bell). the emacs has just been rebuilt. $ bzr revno 109892 I also applied your patch. ^Z Program received signal SIGTSTP, Stopped (user). 0x00007ffff3eba8fc in pselect () from /lib/x86_64-linux-gnu/libc.so.6 (gdb) where #0 0x00007ffff3eba8fc in pselect () from /lib/x86_64-linux-gnu/libc.so.6 #1 0x00000000004b998f in XTflash (f=0x1175d50) at /home/sds/src/emacs/trunk/src/xterm.c:3178 #2 XTring_bell (f=0x1175d50) at /home/sds/src/emacs/trunk/src/xterm.c:3246 #3 0x00000000004e4a4f in cmd_error_internal (data=54077670, context=0x7fffffffcf50 "") at /home/sds/src/emacs/trunk/src/keyboard.c:1138 #4 0x00000000004e4bc3 in cmd_error (data=54077670) at /home/sds/src/emacs/trunk/src/keyboard.c:1071 #5 0x0000000000556f69 in internal_condition_case (bfun=0x4f01b0 <command_loop_1>, handlers=12039698, hfun=0x4e4ab0 <cmd_error>) at /home/sds/src/emacs/trunk/src/eval.c:1309 #6 0x00000000004e2a7e in command_loop_2 (ignore=<optimized out>) at /home/sds/src/emacs/trunk/src/keyboard.c:1195 #7 0x0000000000556e18 in internal_catch (tag=<error reading variable: Cannot access memory at address 0xffffffffffffffe0>, func=0x4e2a60 <command_loop_2>, arg=11987922) at /home/sds/src/emacs/trunk/src/eval.c:1076 #8 0x00000000004e4587 in command_loop () at /home/sds/src/emacs/trunk/src/keyboard.c:1174 #9 recursive_edit_1 () at /home/sds/src/emacs/trunk/src/keyboard.c:795 #10 0x00000000004e48c4 in Frecursive_edit () at /home/sds/src/emacs/trunk/src/keyboard.c:859 #11 0x000000000041008a in main (argc=1, argv=<optimized out>) at /home/sds/src/emacs/trunk/src/emacs.c:1647 (gdb) finish Run till exit from #0 0x00007ffff3eba8fc in pselect () from /lib/x86_64-linux-gnu/libc.so.6 0x00000000004b998f in XTflash (f=0x1175d50) at /home/sds/src/emacs/trunk/src/xterm.c:3178 3178 pselect (0, NULL, NULL, NULL, &timeout, NULL); (gdb) Run till exit from #0 0x00000000004b998f in XTflash (f=0x1175d50) at /home/sds/src/emacs/trunk/src/xterm.c:3178 input_available_signal (signo=29) at /home/sds/src/emacs/trunk/src/keyboard.c:7240 7240 { (gdb) f 4 #4 0x00000000004e4a4f in cmd_error_internal (data=54077670, context=0x7fffffffcf50 "") at /home/sds/src/emacs/trunk/src/keyboard.c:1138 1138 bitch_at_user (); (gdb) p data $1 = 54077670 (gdb) xtype Lisp_Cons (gdb) xcons $2 = (struct Lisp_Cons *) 0x33928e0 { car = 0xb7b7c2, u = { cdr = 0x3393116, chain = 0x3393116 } } (gdb) p 0xb7b7c2 $3 = 12040130 (gdb) xtype Lisp_Symbol (gdb) xsymbol $4 = (struct Lisp_Symbol *) 0xb7b7c0 "wrong-type-argument" (gdb) p $5 = (struct Lisp_Symbol *) 0xb7b7c0 (gdb) p 0x3393116 $6 = 54079766 (gdb) xtype Lisp_Cons (gdb) xcons $7 = (struct Lisp_Cons *) 0x3393110 { car = 0xba3472, u = { cdr = 0x3393126, chain = 0x3393126 } } (gdb) p 0xba3472 $8 = 12203122 (gdb) xtype Lisp_Symbol (gdb) xsymbol $9 = (struct Lisp_Symbol *) 0xba3470 "window-live-p" (gdb) p 0x3393126 $10 = 54079782 (gdb) xtype Lisp_Cons (gdb) xcons $11 = (struct Lisp_Cons *) 0x3393120 { car = 0x3771195, u = { cdr = 0xb6ebd2, chain = 0xb6ebd2 } } (gdb) p 0x3771195 $12 = 58134933 (gdb) xtype Lisp_Vectorlike PVEC_WINDOW (gdb) xvector $13 = (struct Lisp_Vector *) 0x3771190 0 (gdb) p *(struct Lisp_Vector *) 0x3771190 $14 = { header = { size = 4611686018427650087, next = { nbytes = 480, buffer = 0x1e0, vector = 0x1e0 } }, contents = {18308437} } (gdb) p 18308437 $15 = 18308437 (gdb) xtype Lisp_Vectorlike PVEC_FRAME (gdb) xvect xvector xvectype (gdb) xvector $16 = (struct Lisp_Vector *) 0x1175d50 0 (gdb) p *(struct Lisp_Vector *) 0x1175d50 $17 = { header = { size = 4611686018427584534, next = { nbytes = 560, buffer = 0x230, vector = 0x230 } }, contents = {47727121} } (gdb) p 47727121 $18 = 47727121 (gdb) xtype Lisp_String (gdb) xstring $19 = (struct Lisp_String *) 0x2d84210 "*unsent wide reply to Dmitri Hrapof* - /home/sds/Mail/drafts/1" (gdb) p 0xb6ebd2 $20 = 11987922 (gdb) xtype Lisp_Symbol (gdb) xsymbol $21 = (struct Lisp_Symbol *) 0xb6ebd0 "nil" even though the window name is "unsent", the mail has actually been sent. -- Sam Steingold <http://sds.podval.org> <http://www.childpsy.net/>
[mylog.txt (text/plain, attachment)]
bug-gnu-emacs <at> gnu.org
:bug#12251
; Package emacs
.
(Thu, 06 Sep 2012 02:33:02 GMT) Full text and rfc822 format available.Message #98 received at 12251 <at> debbugs.gnu.org (full text, mbox):
From: Sam Steingold <sds <at> gnu.org> To: Eli Zaretskii <eliz <at> gnu.org> Cc: rudalics <at> gmx.at, Werner LEMBERG <wl <at> gnu.org>, 12251 <at> debbugs.gnu.org Subject: Re: bug#12251: 24.2.50; crash in note_mouse_highlight Date: Wed, 5 Sep 2012 22:31:50 -0400
[Message part 1 (text/plain, inline)]
I get a consistent crash after I send an e-mail. sometimes it's just an endless loop of errors (like in my previous mail) and I have to kill emacs myself, sometimes it's a hard crash (attached).
[mylog.txt (text/plain, attachment)]
bug-gnu-emacs <at> gnu.org
:bug#12251
; Package emacs
.
(Thu, 06 Sep 2012 03:14:01 GMT) Full text and rfc822 format available.Message #101 received at 12251 <at> debbugs.gnu.org (full text, mbox):
From: Sam Steingold <sds <at> gnu.org> To: Eli Zaretskii <eliz <at> gnu.org> Cc: rudalics <at> gmx.at, Werner LEMBERG <wl <at> gnu.org>, 12251 <at> debbugs.gnu.org Subject: Re: bug#12251: 24.2.50; crash in note_mouse_highlight Date: Wed, 5 Sep 2012 23:13:09 -0400
I removed the patch, now I cannot do anything at all in my emacs, which was just rebuilt from bzr tip "109897 yamaoka <at> jpl.org-20120906022021-zn1p7x11kl8s4x5o" I get this on every attempt to switch a buffer in the *Scratch* window Debugger entered--Lisp error: (wrong-type-argument listp #<killed buffer>) assq-delete-all(#<buffer *temp*-531046> (#<killed buffer> . #<killed buffer>)) unrecord-window-buffer(#<window 11 on *scratch*> #<buffer *temp*-531046>) replace-buffer-in-windows(#<buffer *temp*-531046>) kill-buffer(#<buffer *temp*-531046>) ..... help-highlight-arguments("(list-buffers &optional ARG)" "Display a list of existing buffers.\nThe list is displayed in a buffer named \"*Buffer List*\".\nSee `buffer-menu' for details about the Buffer Menu buffer.\n\nBy default, all buffers are listed except those whose names start\nwith a space (which are for internal use). With prefix argument\nARG, show only buffers that are visiting files.") help-fns--signature(list-buffers "Display a list of existing buffers.\nThe list is displayed in a buffer named \"*Buffer List*\".\nSee `buffer-menu' for details about the Buffer Menu buffer.\n\nBy default, all buffers are listed except those whose names start\nwith a space (which are for internal use). With prefix argument\nARG, show only buffers that are visiting files." #[(&optional arg) "\301\302!!\207" [arg display-buffer list-buffers-noselect] 3 2401604 "P"] list-buffers) describe-function-1(list-buffers) describe-function(list-buffers) call-interactively(describe-function nil nil) -- Sam Steingold <http://sds.podval.org> <http://www.childpsy.net/>
bug-gnu-emacs <at> gnu.org
:bug#12251
; Package emacs
.
(Thu, 06 Sep 2012 05:05:01 GMT) Full text and rfc822 format available.Message #104 received at 12251 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Sam Steingold <sds <at> gnu.org> Cc: rudalics <at> gmx.at, wl <at> gnu.org, 12251 <at> debbugs.gnu.org Subject: Re: bug#12251: 24.2.50; crash in note_mouse_highlight Date: Thu, 06 Sep 2012 08:04:58 +0300
> Date: Wed, 5 Sep 2012 15:56:08 -0400 > From: Sam Steingold <sds <at> gnu.org> > Cc: Werner LEMBERG <wl <at> gnu.org>, rudalics <at> gmx.at, 12251 <at> debbugs.gnu.org > > On Sat, Sep 1, 2012 at 5:36 AM, Eli Zaretskii <eliz <at> gnu.org> wrote: > >> On Thu, Aug 30, 2012 at 4:03 AM, martin rudalics <rudalics <at> gmx.at> wrote: > >> >> I am running > >> >> (emacs-bzr-version "109806 > >> >> schwab <at> linux-m68k.org-20120828160850-hft2a31ibkjr9uks") > >> >> with your patch. > >> > > >> > And did you get a crash or the "window ... is not a live window" > >> > with that? > >> > >> no crashes, no errors. > >> yet. > > > > So do we still have a problem or problems with note_mouse_movement > > that I need to look into? > > emacs just hang when I sent an email. > it keep raising an error (the top and bottom lines are blue - visual bell). > the emacs has just been rebuilt. > $ bzr revno > 109892 > I also applied your patch. > > ^Z > Program received signal SIGTSTP, Stopped (user). > 0x00007ffff3eba8fc in pselect () from /lib/x86_64-linux-gnu/libc.so.6 > (gdb) where > #0 0x00007ffff3eba8fc in pselect () from /lib/x86_64-linux-gnu/libc.so.6 > #1 0x00000000004b998f in XTflash (f=0x1175d50) at > /home/sds/src/emacs/trunk/src/xterm.c:3178 > #2 XTring_bell (f=0x1175d50) at /home/sds/src/emacs/trunk/src/xterm.c:3246 > #3 0x00000000004e4a4f in cmd_error_internal (data=54077670, > context=0x7fffffffcf50 "") > at /home/sds/src/emacs/trunk/src/keyboard.c:1138 > #4 0x00000000004e4bc3 in cmd_error (data=54077670) at > /home/sds/src/emacs/trunk/src/keyboard.c:1071 > #5 0x0000000000556f69 in internal_condition_case (bfun=0x4f01b0 > <command_loop_1>, handlers=12039698, hfun=0x4e4ab0 <cmd_error>) > at /home/sds/src/emacs/trunk/src/eval.c:1309 > #6 0x00000000004e2a7e in command_loop_2 (ignore=<optimized out>) at > /home/sds/src/emacs/trunk/src/keyboard.c:1195 > #7 0x0000000000556e18 in internal_catch (tag=<error reading variable: > Cannot access memory at address 0xffffffffffffffe0>, > func=0x4e2a60 <command_loop_2>, arg=11987922) at > /home/sds/src/emacs/trunk/src/eval.c:1076 > #8 0x00000000004e4587 in command_loop () at > /home/sds/src/emacs/trunk/src/keyboard.c:1174 > #9 recursive_edit_1 () at /home/sds/src/emacs/trunk/src/keyboard.c:795 > #10 0x00000000004e48c4 in Frecursive_edit () at > /home/sds/src/emacs/trunk/src/keyboard.c:859 > #11 0x000000000041008a in main (argc=1, argv=<optimized out>) at > /home/sds/src/emacs/trunk/src/emacs.c:1647 This doesn't seem related to mouse highlight at all.
bug-gnu-emacs <at> gnu.org
:bug#12251
; Package emacs
.
(Thu, 06 Sep 2012 05:16:01 GMT) Full text and rfc822 format available.Message #107 received at 12251 <at> debbugs.gnu.org (full text, mbox):
From: Werner LEMBERG <wl <at> gnu.org> To: sds <at> gnu.org Cc: rudalics <at> gmx.at, eliz <at> gnu.org, 12251 <at> debbugs.gnu.org Subject: Re: bug#12251: 24.2.50; crash in note_mouse_highlight Date: Thu, 06 Sep 2012 07:15:05 +0200 (CEST)
> I get a consistent crash after I send an e-mail. sometimes it's > just an endless loop of errors (like in my previous mail) and I have > to kill emacs myself, sometimes it's a hard crash (attached). For me, it doesn't crash consistently, but something introduced within the last two months has decreased the stability of Emacs on my GNU/Linux platform from essentially zero crashes to one crash all two days... Werner
bug-gnu-emacs <at> gnu.org
:bug#12251
; Package emacs
.
(Thu, 06 Sep 2012 07:21:01 GMT) Full text and rfc822 format available.Message #110 received at 12251 <at> debbugs.gnu.org (full text, mbox):
From: martin rudalics <rudalics <at> gmx.at> To: Sam Steingold <sds <at> gnu.org> Cc: Eli Zaretskii <eliz <at> gnu.org>, Werner LEMBERG <wl <at> gnu.org>, 12251 <at> debbugs.gnu.org Subject: Re: bug#12251: 24.2.50; crash in note_mouse_highlight Date: Thu, 06 Sep 2012 09:20:16 +0200
> emacs just hang when I sent an email. > it keep raising an error (the top and bottom lines are blue - visual bell). > the emacs has just been rebuilt. > $ bzr revno > 109892 So you want to use window configurations after 109890? No chance. Please revert to 109888. martin
bug-gnu-emacs <at> gnu.org
:bug#12251
; Package emacs
.
(Thu, 06 Sep 2012 07:33:01 GMT) Full text and rfc822 format available.Message #113 received at 12251 <at> debbugs.gnu.org (full text, mbox):
From: martin rudalics <rudalics <at> gmx.at> To: Sam Steingold <sds <at> gnu.org> Cc: 12251 <at> debbugs.gnu.org Subject: Re: bug#12251: 24.2.50; crash in note_mouse_highlight Date: Thu, 06 Sep 2012 09:32:39 +0200
> So you want to use window configurations after 109890? No chance. > Please revert to 109888. Dmitry has just reverted his change in revision 109898. Please use this. Window configurations are not usable in [109890...109897]. martin
Glenn Morris <rgm <at> gnu.org>
to control <at> debbugs.gnu.org
.
(Sun, 17 Feb 2013 02:42:02 GMT) Full text and rfc822 format available.Debbugs Internal Request <help-debbugs <at> gnu.org>
to internal_control <at> debbugs.gnu.org
.
(Sun, 17 Mar 2013 11:24:08 GMT) Full text and rfc822 format available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.