GNU bug report logs - #12251
24.2.50; crash in note_mouse_highlight

Previous Next

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


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#12251; Package emacs. (Tue, 21 Aug 2012 18:22:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to sds <at> gnu.org:
New bug report received and forwarded. Copy sent to 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.




Information forwarded to 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?




Information forwarded to 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))




Information forwarded to 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.




Information forwarded to 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!!!




Information forwarded to 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.




Information forwarded to 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/>




Information forwarded to 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)]

Information forwarded to 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




Information forwarded to 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.




Information forwarded to 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.




Information forwarded to 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




Information forwarded to 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




Information forwarded to 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 ;-)




Information forwarded to 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




Information forwarded to 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)]

Information forwarded to 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



Information forwarded to 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.




Information forwarded to 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.




Information forwarded to 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




Information forwarded to 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/>




Information forwarded to 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




Information forwarded to 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




Information forwarded to 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/>




Information forwarded to 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




Information forwarded to 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/>




Information forwarded to 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/>




Information forwarded to 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





Information forwarded to 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.




Information forwarded to 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?




Information forwarded to 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)]

Information forwarded to 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)]

Information forwarded to 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/>




Information forwarded to 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.




Information forwarded to 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




Information forwarded to 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




Information forwarded to 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




bug closed, send any further explanations to 12251 <at> debbugs.gnu.org and sds <at> gnu.org Request was from 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.

bug archived. Request was from 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.

This bug report was last modified 12 years and 155 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.