all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* [XASSERT] xdisp.c/check_window_end()
@ 2003-08-21 13:01 David Abrahams
  2003-08-22  2:26 ` David Abrahams
  0 siblings, 1 reply; 2+ messages in thread
From: David Abrahams @ 2003-08-21 13:01 UTC (permalink / raw)



The title function just asserted for me, because row->enabled_p is
true:

  static void
  check_window_end (w)
       struct window *w;
  {
    if (!MINI_WINDOW_P (w)
        && !NILP (w->window_end_valid))
      {
        struct glyph_row *row;
        xassert ((row = MATRIX_ROW (w->current_matrix,
                    XFASTINT (w->window_end_vpos)),
          !row->enabled_p /***************** HERE *****************/
          || MATRIX_ROW_DISPLAYS_TEXT_P (row)
          || MATRIX_ROW_VPOS (row, w->current_matrix) == 0));
      }
  }

I'm not sure what this means or how to fix it.  Can anyone shed light?
My stack backtrace looks like:

 	ntdll.dll!77f75a58() 	
 	emacs.exe!w32_abort()  Line 14621 + 0x8	C
>	emacs.exe!check_window_end()  Line 1904 + 0x6e	C
 	emacs.exe!redisplay_window(int window=0x415d6000, int just_this_one_p=0x00000000)  Line 11422 + 0x9	C
 	emacs.exe!redisplay_window_0(int window=0x415d6000)  Line 10455 + 0xb	C
 	emacs.exe!internal_condition_case_1(int (void)* bfun=0x0107fdf0, int arg=0x415d6000, int handlers=0x513ba134, int (void)* hfun=0x0107fdc0)  Line 1374 + 0x9	C
 	emacs.exe!redisplay_windows(int window=0x415d6000)  Line 10436 + 0x19	C
 	emacs.exe!redisplay_windows(int window=0x415d6200)  Line 10428 + 0xc	C
 	emacs.exe!redisplay_internal(int preserve_echo_area=0x00000000)  Line 10023 + 0xf	C
 	emacs.exe!redisplay()  Line 9450 + 0x7	C
 	emacs.exe!read_char(int commandflag=0x00000001, int nmaps=0x00000002, int * maps=0x0082f8f0, int prev_event=0x11377c04, int * used_mouse_menu=0x0082fab0)  Line 2497	C
 	emacs.exe!read_key_sequence(int * keybuf=0x0082fc44, int bufsize=0x0000001e, int prompt=0x11377c04, int dont_downcase_last=0x00000000, int can_return_switch_frame=0x00000001, int fix_current_buffer=0x00000001)  Line 8827 + 0x2a	C
 	emacs.exe!command_loop_1()  Line 1505 + 0x1b	C
 	emacs.exe!internal_condition_case(int (void)* bfun=0x01017690, int handlers=0x1139ce44, int (void)* hfun=0x01017160)  Line 1333 + 0x5	C
 	emacs.exe!command_loop_2()  Line 1292 + 0x15	C
 	emacs.exe!internal_catch(int tag=0x11392404, int (void)* func=0x010174e0, int arg=0x11377c04)  Line 1094 + 0x9	C
 	emacs.exe!command_loop()  Line 1271 + 0x17	C
 	emacs.exe!recursive_edit_1()  Line 987 + 0x5	C
 	emacs.exe!Frecursive_edit()  Line 1044	C
 	emacs.exe!main()  Line 1668	C
 	emacs.exe!mainCRTStartup()  Line 259 + 0x12	C
 	emacs.exe!_start()  Line 131	C
 	kernel32.dll!77e814c7() 	

And my locals, w and row, are:

-	row	0x01dd54fc {glyphs=0x01dd54fc used=0x01dd550c x=0x00000000 ...}	glyph_row *
  +	glyphs	0x01dd54fc	glyph * [4]
  +	used	0x01dd550c	short [3]
      x	0x00000000	int
      y	0x00000084	int
      pixel_width	0x00000007	int
      ascent	0x00000009	int
      height	0x0000000c	int
      phys_ascent	0x00000009	int
      phys_height	0x0000000c	int
      visible_height	0x0000000c	int
      hash	0x00000020	unsigned int
  +	start	{pos={charpos=0x0000020f bytepos=0x0000020f } overlay_string_index=0xffffffff string_pos={charpos=0xffffffff bytepos=0xffffffff } ...}	display_pos
  +	end	{pos={charpos=0x0000020f bytepos=0x0000020f } overlay_string_index=0xffffffff string_pos={charpos=0xffffffff bytepos=0xffffffff } ...}	display_pos
      enabled_p	0x00000001	unsigned int
      truncated_on_left_p	0x00000000	unsigned int
      truncated_on_right_p	0x00000000	unsigned int
      overlay_arrow_p	0x00000000	unsigned int
      continued_p	0x00000000	unsigned int
      displays_text_p	0x00000000	unsigned int
      ends_at_zv_p	0x00000001	unsigned int
      fill_line_p	0x00000000	unsigned int
      indicate_empty_line_p	0x00000000	unsigned int
      contains_overlapping_glyphs_p	0x00000000	unsigned int
      full_width_p	0x00000000	unsigned int
      mode_line_p	0x00000000	unsigned int
      overlapped_p	0x00000000	unsigned int
      ends_in_middle_of_char_p	0x00000000	unsigned int
      starts_in_middle_of_char_p	0x00000000	unsigned int
      overlapping_p	0x00000000	unsigned int
      mouse_face_p	0x00000000	unsigned int
      ends_in_newline_from_string_p	0x00000000	unsigned int
      continuation_lines_width	0x00000000	int
-	w	0x015d6000 {size=0x20001048 vec_next=0x015d6200 {size=0x20001048 next=0x01649000 {size=0x20001048 next=0x01649e00 {size=0x20001048 next=0x0189b600 contents=0x01649e08 } contents=0x01649008 } contents=0x015d6208 } frame=0x415d6c00 ...}	window *
      size	0x20001048	int
  +	vec_next	0x015d6200 {size=0x20001048 next=0x01649000 {size=0x20001048 next=0x01649e00 {size=0x20001048 next=0x0189b600 {size=0x20000806 next=0x01632cc0 contents=0x0189b608 } contents=0x01649e08 } contents=0x01649008 } contents=0x015d6208 }	Lisp_Vector *
      frame	0x415d6c00	int
      mini_p	0x11377c04	int
      next	0x11377c04	int
      prev	0x415d6a00	int
      hchild	0x11377c04	int
      vchild	0x11377c04	int
      parent	0x415d6200	int
      left_col	0x00000000	int
      top_line	0x0000002f	int
      total_lines	0x00000030	int
      total_cols	0x000000e4	int
      buffer	0x413d4e00	int
      start	0x21907cf4	int
      pointm	0x21907d08	int
      force_start	0x11377c04	int
      optional_new_start	0x11377c04	int
      hscroll	0x00000000	int
      min_hscroll	0x00000000	int
      use_time	0x00000060	int
      sequence_number	0x0000000a	int
      temslot	0x00000002	int
      last_modified	0x0000010d	int
      last_overlay_modified	0x0000003c	int
      last_point	0x00000245	int
      last_had_star	0x11377c34	int
      vertical_scroll_bar	0x416326c0	int
      left_margin_cols	0x11377c04	int
      right_margin_cols	0x11377c04	int
      left_fringe_width	0x11377c04	int
      right_fringe_width	0x11377c04	int
      fringes_outside_margins	0x11377c04	int
      scroll_bar_width	0x11377c04	int
      vertical_scroll_bar_type	0x11377c34	int
      last_mark_x	0x11377c04	int
      last_mark_y	0x11377c04	int
      window_end_pos	0x00000000	int
      window_end_vpos	0x0000000b	int
      window_end_valid	0x413d4e00	int
      update_mode_line	0x11377c04	int
      start_at_line_beg	0x11377c34	int
      display_table	0x11377c04	int
      dedicated	0x11377c04	int
      base_line_number	0x00000001	int
      base_line_pos	0x00000001	int
      region_showing	0x11377c04	int
      column_number_displayed	0x11377c04	int
      redisplay_end_trigger	0x11377c04	int
      too_small_ok	0x11377c04	int
      orig_total_lines	0x11377c04	int
      orig_top_line	0x11377c04	int
  +	current_matrix	0x0190a400 {pool=0x00000000 {glyphs=??? nglyphs=??? nrows=??? ...} rows=0x01dd5000 {glyphs=0x01dd5000 used=0x01dd5010 x=0x00000000 ...} rows_allocated=0x00000064 ...}	glyph_matrix *
  +	desired_matrix	0x01907000 {pool=0x00000000 {glyphs=??? nglyphs=??? nrows=??? ...} rows=0x01ca6000 {glyphs=0x01ca6000 used=0x01ca6010 x=0x00000000 ...} rows_allocated=0x00000064 ...}	glyph_matrix *
  +	last_cursor	{x=0x00000000 y=0x00000090 hpos=0x00000000 ...}	cursor_pos
  +	cursor	{x=0x00000000 y=0x00000090 hpos=0x00000000 ...}	cursor_pos
  +	phys_cursor	{x=0x00000000 y=0x00000078 hpos=0x00000000 ...}	cursor_pos
      phys_cursor_type	0x00000000	int
      phys_cursor_width	0x00000007	int
      phys_cursor_ascent	0x00000009	int
      phys_cursor_height	0x0000000c	int
      phys_cursor_on_p	0x00000001	unsigned int
      cursor_off_p	0x00000000	unsigned int
      last_cursor_off_p	0x00000000	unsigned int
      must_be_updated_p	0x00000000	unsigned int
      pseudo_window_p	0x00000000	unsigned int
      vscroll	0x00000000	int
      window_end_bytepos	0x00000000	int
      frozen_window_start_p	0x00000000	unsigned int
      height_fixed_p	0x00000000	unsigned int

-- 
Dave Abrahams
Boost Consulting
www.boost-consulting.com

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [XASSERT] xdisp.c/check_window_end()
  2003-08-21 13:01 [XASSERT] xdisp.c/check_window_end() David Abrahams
@ 2003-08-22  2:26 ` David Abrahams
  0 siblings, 0 replies; 2+ messages in thread
From: David Abrahams @ 2003-08-22  2:26 UTC (permalink / raw)


David Abrahams <dave@boost-consulting.com> writes:

> The title function just asserted for me, because row->enabled_p is
> true:
>
>   static void
>   check_window_end (w)
>        struct window *w;
>   {
>     if (!MINI_WINDOW_P (w)
>         && !NILP (w->window_end_valid))
>       {
>         struct glyph_row *row;
>         xassert ((row = MATRIX_ROW (w->current_matrix,
>                     XFASTINT (w->window_end_vpos)),
>           !row->enabled_p /***************** HERE *****************/
>           || MATRIX_ROW_DISPLAYS_TEXT_P (row)
>           || MATRIX_ROW_VPOS (row, w->current_matrix) == 0));
>       }
>   }
>
> I'm not sure what this means or how to fix it.  Can anyone shed light?

I can reproduce this fairly reliably by:

  * starting up a fresh emacs
  * M-x grep-find
  * do some search that produces a few results
  * C-x o  [switch to the grep results window]
  * M-x grep-find
  * M-p <return>  [execute the previous grep-find command]

-- 
Dave Abrahams
Boost Consulting
www.boost-consulting.com

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2003-08-22  2:26 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-08-21 13:01 [XASSERT] xdisp.c/check_window_end() David Abrahams
2003-08-22  2:26 ` David Abrahams

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.