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.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 6030 in the body.
You can then email your comments to 6030 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 owner <at> debbugs.gnu.org, eliz <at> gnu.org, bug-gnu-emacs <at> gnu.org:
bug#6030; Package emacs. (Sat, 24 Apr 2010 22:27:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Juanma Barranquero <lekktu <at> gmail.com>:
New bug report received and forwarded. Copy sent to eliz <at> gnu.org, bug-gnu-emacs <at> gnu.org. (Sat, 24 Apr 2010 22:27:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

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)





Reply sent to Eli Zaretskii <eliz <at> gnu.org>:
You have taken responsibility. (Sun, 25 Apr 2010 17:15:03 GMT) Full text and rfc822 format available.

Notification sent to Juanma Barranquero <lekktu <at> gmail.com>:
bug acknowledged by developer. (Sun, 25 Apr 2010 17:15:03 GMT) Full text and rfc822 format available.

Message #10 received at 6030-done <at> debbugs.gnu.org (full text, mbox):

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.




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Mon, 24 May 2010 11:24:03 GMT) Full text and rfc822 format available.

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

Previous Next


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