GNU bug report logs - #6030
bidi crash in display_line

Previous Next

Package: emacs;

Reported by: Juanma Barranquero <lekktu <at> gmail.com>

Date: Sat, 24 Apr 2010 22:27:02 UTC

Severity: normal

Found in version 24.0.50

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#6030: closed (bidi crash in display_line)
Date: Sun, 25 Apr 2010 17:15:03 +0000
[Message part 1 (text/plain, inline)]
Your message dated Sun, 25 Apr 2010 20:14:21 +0300
with message-id <83ljcbzc7m.fsf <at> gnu.org>
and subject line Re: bug#6030: bidi crash in display_line
has caused the GNU bug report #6030,
regarding bidi crash in display_line
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
6030: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=6030
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Juanma Barranquero <lekktu <at> gmail.com>
To: Bug-Gnu-Emacs <bug-gnu-emacs <at> gnu.org>
Subject: bidi crash in display_line
Date: Sun, 25 Apr 2010 00:14:44 +0200
Package: emacs
Version: 24.0.50
X-Debbugs-Cc: eliz <at> gnu.org

I'm getting a crash just by doing

  emacs -Q --eval "(setq-default bidi-display-reordering t)"

Backtrace attached.

    Juanma



Breakpoint 1, w32_abort () at w32fns.c:7349
7349      button = MessageBox (NULL,
(gdb) bt
#0  w32_abort () at w32fns.c:7349
#1  0x01090475 in display_line (it=0x88d470) at xdisp.c:17983
#2  0x01084e14 in try_window (window=55319557, pos=..., flags=1) at
xdisp.c:14733
#3  0x01083232 in redisplay_window (window=55319557,
just_this_one_p=0) at xdisp.c:14354
#4  0x0107c127 in redisplay_window_0 (window=55319557) at xdisp.c:12646
#5  0x010366be in internal_condition_case_1 (bfun=0x107c0f4
<redisplay_window_0>, arg=55319557, handlers=49502846,
    hfun=0x107c0d3 <redisplay_window_error>) at eval.c:1560
#6  0x0107c0ba in redisplay_windows (window=55319557) at xdisp.c:12625
#7  0x01079d29 in redisplay_internal (preserve_echo_area=0) at xdisp.c:12197
#8  0x01076939 in redisplay () at xdisp.c:11427
#9  0x0100a784 in read_char (commandflag=1, nmaps=2, maps=0x88f960,
prev_event=49518618, used_mouse_menu=0x88fa38, end_time=0x0) at
keyboard.c:2576
#10 0x0101d7c4 in read_key_sequence (keybuf=0x88fbcc, bufsize=30,
prompt=49518618, dont_downcase_last=0, can_return_switch_frame=1,
    fix_current_buffer=1) at keyboard.c:9402
#11 0x01007bf7 in command_loop_1 () at keyboard.c:1636
#12 0x010365d6 in internal_condition_case (bfun=0x100734e
<command_loop_1>, handlers=49576178, hfun=0x1006a75 <cmd_error>) at
eval.c:1512
#13 0x01006f4f in command_loop_2 () at keyboard.c:1356
#14 0x01036058 in internal_catch (tag=49574346, func=0x1006f2a
<command_loop_2>, arg=49518618) at eval.c:1248
#15 0x01006f08 in command_loop () at keyboard.c:1335
#16 0x01006180 in recursive_edit_1 () at keyboard.c:950
#17 0x0100669b in Frecursive_edit () at keyboard.c:1012
#18 0x01002a95 in main (argc=4, argv=0xc72ca0) at emacs.c:1784
(gdb) frame 1
#1  0x01090475 in display_line (it=0x88d470) at xdisp.c:17983
17983               abort ();
(gdb) p it
$1 = (struct it *) 0x88d470
(gdb) p *it
$2 = {
  window = 55319557,
  w = 0x34c1c00,
  f = 0x34c1a00,
  method = GET_FROM_BUFFER,
  stop_charpos = 192,
  prev_stop = 0,
  base_level_stop = 0,
  end_charpos = 192,
  s = 0x0,
  string_nchars = 0,
  region_beg_charpos = -1,
  region_end_charpos = -1,
  redisplay_end_trigger_charpos = 0,
  multibyte_p = 1,
  header_line_p = 0,
  string_from_display_prop_p = 0,
  ellipsis_p = 0,
  avoid_cursor_p = 0,
  dp = 0x3104200,
  dpvec = 0x0,
  dpend = 0x0,
  dpvec_char_len = 0,
  dpvec_face_id = 0,
  saved_face_id = 0,
  ctl_chars = {0 <repeats 16 times>},
  start = {
    pos = {
      charpos = 191,
      bytepos = 191
    },
    overlay_string_index = -1,
    string_pos = {
      charpos = -1,
      bytepos = -1
    },
    dpvec_index = -1
  },
  current = {
    pos = {
      charpos = 192,
      bytepos = 192
    },
    overlay_string_index = -1,
    string_pos = {
      charpos = -1,
      bytepos = -1
    },
    dpvec_index = -1
  },
  n_overlay_strings = 0,
  overlay_strings = {0 <repeats 16 times>},
  string_overlays = {0 <repeats 16 times>},
  string = 49518618,
  from_overlay = 0,
  stack = {{
      string = 0,
      string_nchars = 0,
      end_charpos = 0,
      stop_charpos = 0,
      prev_stop = 0,
      base_level_stop = 0,
      cmp_it = {
        stop_pos = 0,
        id = 0,
        ch = 0,
        lookback = 0,
        nglyphs = 0,
        nchars = 0,
        nbytes = 0,
        from = 0,
        to = 0,
        width = 0
      },
      face_id = 0,
      u = {
        image = {
          object = 0,
          slice = {
            x = 0,
            y = 0,
            width = 0,
            height = 0
          },
          image_id = 0
        },
        comp = {
          object = 0
        },
        stretch = {
          object = 0
        }
      },
      position = {
        charpos = 0,
        bytepos = 0
      },
      current = {
        pos = {
          charpos = 0,
          bytepos = 0
        },
        overlay_string_index = 0,
        string_pos = {
          charpos = 0,
          bytepos = 0
        },
        dpvec_index = 0
      },
      from_overlay = 0,
      area = LEFT_MARGIN_AREA,
      method = GET_FROM_BUFFER,
      multibyte_p = 0,
      string_from_display_prop_p = 0,
      display_ellipsis_p = 0,
      avoid_cursor_p = 0,
      line_wrap = TRUNCATE,
      voffset = 0,
      space_width = 0,
      font_height = 0
    }, {
      string = 0,
      string_nchars = 0,
      end_charpos = 0,
      stop_charpos = 0,
      prev_stop = 0,
      base_level_stop = 0,
      cmp_it = {
        stop_pos = 0,
        id = 0,
        ch = 0,
        lookback = 0,
        nglyphs = 0,
        nchars = 0,
        nbytes = 0,
        from = 0,
        to = 0,
        width = 0
      },
      face_id = 0,
      u = {
        image = {
          object = 0,
          slice = {
            x = 0,
            y = 0,
            width = 0,
            height = 0
          },
          image_id = 0
        },
        comp = {
          object = 0
        },
        stretch = {
          object = 0
        }
      },
      position = {
        charpos = 0,
        bytepos = 0
      },
      current = {
        pos = {
          charpos = 0,
          bytepos = 0
        },
        overlay_string_index = 0,
        string_pos = {
          charpos = 0,
          bytepos = 0
        },
        dpvec_index = 0
      },
      from_overlay = 0,
      area = LEFT_MARGIN_AREA,
      method = GET_FROM_BUFFER,
      multibyte_p = 0,
      string_from_display_prop_p = 0,
      display_ellipsis_p = 0,
      avoid_cursor_p = 0,
      line_wrap = TRUNCATE,
      voffset = 0,
      space_width = 0,
      font_height = 0
    }, {
      string = 0,
      string_nchars = 0,
      end_charpos = 0,
      stop_charpos = 0,
      prev_stop = 0,
      base_level_stop = 0,
      cmp_it = {
        stop_pos = 0,
        id = 0,
        ch = 0,
        lookback = 0,
        nglyphs = 0,
        nchars = 0,
        nbytes = 0,
        from = 0,
        to = 0,
        width = 0
      },
      face_id = 0,
      u = {
        image = {
          object = 0,
          slice = {
            x = 0,
            y = 0,
            width = 0,
            height = 0
          },
          image_id = 0
        },
        comp = {
          object = 0
        },
        stretch = {
          object = 0
        }
      },
      position = {
        charpos = 0,
        bytepos = 0
      },
      current = {
        pos = {
          charpos = 0,
          bytepos = 0
        },
        overlay_string_index = 0,
        string_pos = {
          charpos = 0,
          bytepos = 0
        },
        dpvec_index = 0
      },
      from_overlay = 0,
      area = LEFT_MARGIN_AREA,
      method = GET_FROM_BUFFER,
      multibyte_p = 0,
      string_from_display_prop_p = 0,
      display_ellipsis_p = 0,
      avoid_cursor_p = 0,
      line_wrap = TRUNCATE,
      voffset = 0,
      space_width = 0,
      font_height = 0
    }, {
      string = 0,
      string_nchars = 0,
      end_charpos = 0,
      stop_charpos = 0,
      prev_stop = 0,
      base_level_stop = 0,
      cmp_it = {
        stop_pos = 0,
        id = 0,
        ch = 0,
        lookback = 0,
        nglyphs = 0,
        nchars = 0,
        nbytes = 0,
        from = 0,
        to = 0,
        width = 0
      },
      face_id = 0,
      u = {
        image = {
          object = 0,
          slice = {
            x = 0,
            y = 0,
            width = 0,
            height = 0
          },
          image_id = 0
        },
        comp = {
          object = 0
        },
        stretch = {
          object = 0
        }
      },
      position = {
        charpos = 0,
        bytepos = 0
      },
      current = {
        pos = {
          charpos = 0,
          bytepos = 0
        },
        overlay_string_index = 0,
        string_pos = {
          charpos = 0,
          bytepos = 0
        },
        dpvec_index = 0
      },
      from_overlay = 0,
      area = LEFT_MARGIN_AREA,
      method = GET_FROM_BUFFER,
      multibyte_p = 0,
      string_from_display_prop_p = 0,
      display_ellipsis_p = 0,
      avoid_cursor_p = 0,
      line_wrap = TRUNCATE,
      voffset = 0,
      space_width = 0,
      font_height = 0
    }, {
      string = 0,
      string_nchars = 0,
      end_charpos = 0,
      stop_charpos = 0,
      prev_stop = 0,
      base_level_stop = 0,
      cmp_it = {
        stop_pos = 0,
        id = 0,
        ch = 0,
        lookback = 0,
        nglyphs = 0,
        nchars = 0,
        nbytes = 0,
        from = 0,
        to = 0,
        width = 0
      },
      face_id = 0,
      u = {
        image = {
          object = 0,
          slice = {
            x = 0,
            y = 0,
            width = 0,
            height = 0
          },
          image_id = 0
        },
        comp = {
          object = 0
        },
        stretch = {
          object = 0
        }
      },
      position = {
        charpos = 0,
        bytepos = 0
      },
      current = {
        pos = {
          charpos = 0,
          bytepos = 0
        },
        overlay_string_index = 0,
        string_pos = {
          charpos = 0,
          bytepos = 0
        },
        dpvec_index = 0
      },
      from_overlay = 0,
      area = LEFT_MARGIN_AREA,
      method = GET_FROM_BUFFER,
      multibyte_p = 0,
      string_from_display_prop_p = 0,
      display_ellipsis_p = 0,
      avoid_cursor_p = 0,
      line_wrap = TRUNCATE,
      voffset = 0,
      space_width = 0,
      font_height = 0
    }},
  sp = 0,
  selective = 0,
  what = IT_EOB,
  face_id = 0,
  selective_display_ellipsis_p = 1,
  ctl_arrow_p = 1,
  face_box_p = 0,
  start_of_box_run_p = 0,
  end_of_box_run_p = 0,
  overlay_strings_at_end_processed_p = 1,
  ignore_overlay_strings_at_pos_p = 0,
  glyph_not_available_p = 0,
  starts_in_middle_of_char_p = 0,
  face_before_selective_p = 0,
  constrain_row_ascent_descent_p = 0,
  line_wrap = WINDOW_WRAP,
  base_face_id = 0,
  c = 0,
  len = 1,
  cmp_it = {
    stop_pos = 192,
    id = -1,
    ch = -2,
    lookback = 0,
    nglyphs = 0,
    nchars = 0,
    nbytes = 0,
    from = 0,
    to = 0,
    width = 0
  },
  char_to_display = 32,
  image_id = 0,
  slice = {
    x = 49518618,
    y = 49518618,
    width = 49518618,
    height = 49518618
  },
  space_width = 49518618,
  voffset = 0,
  tab_width = 8,
  font_height = 49518618,
  object = 49557509,
  position = {
    charpos = 192,
    bytepos = 192
  },
  truncation_pixel_width = 0,
  continuation_pixel_width = 0,
  first_visible_x = 0,
  last_visible_x = 640,
  last_visible_y = 560,
  extra_line_spacing = 0,
  max_extra_line_spacing = 0,
  override_ascent = -1,
  override_descent = 0,
  override_boff = 0,
  glyph_row = 0x34861c8,
  area = TEXT_AREA,
  nglyphs = 1,
  pixel_width = 8,
  ascent = 12,
  descent = 4,
  max_ascent = 0,
  max_descent = 0,
  phys_ascent = 12,
  phys_descent = 4,
  max_phys_ascent = 0,
  max_phys_descent = 0,
  current_x = 0,
  continuation_lines_width = 0,
  eol_pos = {
    charpos = 0,
    bytepos = 0
  },
  current_y = 48,
  first_vpos = 0,
  vpos = 3,
  hpos = 0,
  left_user_fringe_bitmap = 0,
  right_user_fringe_bitmap = 0,
  left_user_fringe_face_id = 0,
  right_user_fringe_face_id = 0,
  bidi_p = 0,
  bidi_it = {
    bytepos = 192,
    charpos = 192,
    ch = -1,
    ch_len = 1,
    type = STRONG_L,
    type_after_w1 = NEUTRAL_B,
    orig_type = NEUTRAL_B,
    resolved_level = 0,
    invalid_levels = 0,
    invalid_rl_levels = -1,
    prev_was_pdf = 0,
    prev = {
      bytepos = 191,
      charpos = 191,
      type = UNKNOWN_BT,
      type_after_w1 = NEUTRAL_B,
      orig_type = NEUTRAL_B
    },
    last_strong = {
      bytepos = 188,
      charpos = 188,
      type = UNKNOWN_BT,
      type_after_w1 = UNKNOWN_BT,
      orig_type = UNKNOWN_BT
    },
    next_for_neutral = {
      bytepos = 192,
      charpos = 192,
      type = STRONG_L,
      type_after_w1 = NEUTRAL_B,
      orig_type = NEUTRAL_B
    },
    prev_for_neutral = {
      bytepos = 192,
      charpos = 192,
      type = STRONG_L,
      type_after_w1 = NEUTRAL_B,
      orig_type = NEUTRAL_B
    },
    next_for_ws = {
      bytepos = 0,
      charpos = 0,
      type = UNKNOWN_BT,
      type_after_w1 = UNKNOWN_BT,
      orig_type = UNKNOWN_BT
    },
    next_en_pos = -1,
    ignore_bn_limit = 0,
    sor = L2R,
    scan_dir = 1,
    stack_idx = 0,
    level_stack = {{
        level = 0,
        override = NEUTRAL_DIR
      } <repeats 64 times>},
    first_elt = 0,
    paragraph_dir = L2R,
    new_paragraph = 1,
    separator_limit = 192
  },
  paragraph_embedding = NEUTRAL_DIR
}
(gdb)



[Message part 3 (message/rfc822, inline)]
From: Eli Zaretskii <eliz <at> gnu.org>
To: Juanma Barranquero <lekktu <at> gmail.com>
Cc: 6030-done <at> debbugs.gnu.org
Subject: Re: bug#6030: bidi crash in display_line
Date: Sun, 25 Apr 2010 20:14:21 +0300
> Cc: eliz <at> gnu.org
> From: Juanma Barranquero <lekktu <at> gmail.com>
> Date: Sun, 25 Apr 2010 00:14:44 +0200
> 
> Package: emacs
> Version: 24.0.50
> X-Debbugs-Cc: eliz <at> gnu.org
> 
> I'm getting a crash just by doing
> 
>   emacs -Q --eval "(setq-default bidi-display-reordering t)"
> 
> Backtrace attached.

Thanks.  This is fixed in revno 100033.


This bug report was last modified 15 years and 81 days ago.

Previous Next


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