unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#15365: 24.3.50; Segfault when calling vc-git-log-edit-toggle-amend
@ 2013-09-13 11:55 Dmitry Gutov
  2013-09-13 13:18 ` Eli Zaretskii
  0 siblings, 1 reply; 19+ messages in thread
From: Dmitry Gutov @ 2013-09-13 11:55 UTC (permalink / raw)
  To: 15365


Edit a file in a Git repository, then press

C-x v v, then C-c C-e


Program received signal SIGABRT, Aborted.
0x00007ffff3855aab in raise () from /lib/x86_64-linux-gnu/libpthread.so.0
(gdb) bt full
#0  0x00007ffff3855aab in raise () from /lib/x86_64-linux-gnu/libpthread.so.0
No symbol table info available.
#1  0x0000000000521b91 in terminate_due_to_signal (sig=6, backtrace_limit=40)
    at emacs.c:369
No locals.
#2  0x0000000000544833 in emacs_abort () at sysdep.c:2125
No locals.
#3  0x00000000004568b5 in try_window_id (w=0x11ca378) at xdisp.c:17287
        Z_delta = 0
        Z_delta_bytes = 0
        r0 = 0x7fffdb7fb010
        Z_old = 435538
        Z_BYTE_old = 435539
        f = 0x11ca190
        current_matrix = 0xcb0c60
        desired_matrix = 0xcb0bf0
        last_unchanged_at_beg_row = 0x239c880
        first_unchanged_at_end_row = 0x7fffffff9ae0
        row = 0x0
        bottom_row = 0x452dfa <try_window+237>
        bottom_vpos = 0
        it = {window = 37341312, w = 0x11ca190, f = 0x239c885, 
          method = 37341312, stop_charpos = 18653584, prev_stop = 0, 
---Type <return> to continue, or q <return> to quit---
          base_level_stop = 13, end_charpos = 12, 
          s = 0xc <Address 0xc out of bounds>, string_nchars = 61, 
          region_beg_charpos = 0, region_end_charpos = 0, 
          redisplay_end_trigger_charpos = -1, multibyte_p = 1, 
          header_line_p = 1, string_from_display_prop_p = 1, 
          string_from_prefix_prop_p = 1, from_disp_prop_p = 1, ellipsis_p = 1, 
          avoid_cursor_p = 1, dp = 0x0, dpvec = 0x1, dpend = 0x0, 
          dpvec_char_len = 0, dpvec_face_id = 0, saved_face_id = 0, 
          ctl_chars = {0 <repeats 16 times>}, start = {pos = {charpos = 0, 
              bytepos = 0}, overlay_string_index = 13, string_pos = {
              charpos = 13, bytepos = -1}, dpvec_index = -1}, current = {
            pos = {charpos = -1, bytepos = 4294967295}, 
            overlay_string_index = 13, string_pos = {charpos = 13, 
              bytepos = -1}, dpvec_index = -1}, n_overlay_strings = -1, 
          overlay_strings_charpos = 4294967295, overlay_strings = {0, 12, 
            0 <repeats 14 times>}, string_overlays = {0 <repeats 16 times>}, 
          string = 0, from_overlay = 0, stack = {{string = 12648594, 
              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, rule_idx = 0, lookback = 0, nglyphs = 0, 
                reversed_p = false, charpos = 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}, 
---Type <return> to continue, or q <return> to quit---
                  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, paragraph_embedding = NEUTRAL_DIR, 
              multibyte_p = 0, string_from_display_prop_p = 0, 
              string_from_prefix_prop_p = 0, display_ellipsis_p = 0, 
              avoid_cursor_p = 0, bidi_p = 0, from_disp_prop_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, 
                rule_idx = 0, lookback = 0, nglyphs = 0, reversed_p = false, 
                charpos = 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, paragraph_embedding = NEUTRAL_DIR, 
---Type <return> to continue, or q <return> to quit---
              multibyte_p = 0, string_from_display_prop_p = 0, 
              string_from_prefix_prop_p = 0, display_ellipsis_p = 0, 
              avoid_cursor_p = 0, bidi_p = 0, from_disp_prop_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, 
                rule_idx = 0, lookback = 0, nglyphs = 0, reversed_p = false, 
                charpos = 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, paragraph_embedding = NEUTRAL_DIR, 
              multibyte_p = 0, string_from_display_prop_p = 0, 
              string_from_prefix_prop_p = 0, display_ellipsis_p = 0, 
              avoid_cursor_p = 0, bidi_p = 0, from_disp_prop_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, 
---Type <return> to continue, or q <return> to quit---
              base_level_stop = 0, cmp_it = {stop_pos = 0, id = 0, ch = 0, 
                rule_idx = 0, lookback = 0, nglyphs = 0, reversed_p = false, 
                charpos = 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, paragraph_embedding = NEUTRAL_DIR, 
              multibyte_p = 0, string_from_display_prop_p = 0, 
              string_from_prefix_prop_p = 0, display_ellipsis_p = 0, 
              avoid_cursor_p = 0, bidi_p = 0, from_disp_prop_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, 
                rule_idx = 0, lookback = 0, nglyphs = 0, reversed_p = false, 
                charpos = 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 = {
---Type <return> to continue, or q <return> to quit---
                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, paragraph_embedding = NEUTRAL_DIR, 
              multibyte_p = 0, string_from_display_prop_p = 0, 
              string_from_prefix_prop_p = 0, display_ellipsis_p = 0, 
              avoid_cursor_p = 0, bidi_p = 0, from_disp_prop_p = 0, 
              line_wrap = TRUNCATE, voffset = 0, space_width = 0, 
              font_height = 0}}, sp = 0, selective = 0, what = IT_CHARACTER, 
          face_id = 0, selective_display_ellipsis_p = 0, ctl_arrow_p = 0, 
          face_box_p = 0, start_of_box_run_p = 0, end_of_box_run_p = 0, 
          overlay_strings_at_end_processed_p = 0, 
          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 = TRUNCATE, 
          base_face_id = 0, c = 20, len = 3, cmp_it = {stop_pos = 0, id = 1, 
            ch = 13, rule_idx = 0, lookback = -1, nglyphs = -2, 
            reversed_p = false, charpos = 0, nchars = 0, nbytes = 0, from = 0, 
            to = 0, width = 0}, char_to_display = 0, 
          glyphless_method = GLYPHLESS_DISPLAY_THIN_SPACE, image_id = 0, 
          slice = {x = 10, y = 0, width = 12648594, height = 12648594}, 
          space_width = 12648594, voffset = 146, tab_width = 193, 
---Type <return> to continue, or q <return> to quit---
          font_height = 12648594, object = 524288, position = {
            charpos = 12648594, bytepos = 35513109}, 
          truncation_pixel_width = 12, continuation_pixel_width = 0, 
          first_visible_x = 0, last_visible_x = 12, last_visible_y = 0, 
          extra_line_spacing = 589824, max_extra_line_spacing = 0, 
          override_ascent = 909, override_descent = 1000, override_boff = 0, 
          glyph_row = 0xffffffff, area = LEFT_MARGIN_AREA, nglyphs = 0, 
          pixel_width = 37353680, ascent = 0, descent = 1, max_ascent = 1, 
          max_descent = 1, phys_ascent = 1, phys_descent = 1, 
          max_phys_ascent = 0, max_phys_descent = 0, current_x = 0, 
          continuation_lines_width = 0, eol_pos = {charpos = 0, bytepos = 0}, 
          current_y = 0, first_vpos = 0, vpos = 0, hpos = 0, 
          left_user_fringe_bitmap = 22, right_user_fringe_bitmap = 0, 
          left_user_fringe_face_id = 0, right_user_fringe_face_id = 2, 
          bidi_p = 0, bidi_it = {bytepos = 0, charpos = 1048576, ch = 13, 
            nchars = 13, ch_len = 78, type = STRONG_L, 
            type_after_w1 = UNKNOWN_BT, orig_type = STRONG_L, 
            resolved_level = 0, invalid_levels = 1, invalid_rl_levels = 1, 
            prev = {bytepos = 1, charpos = -4294967296, type = PDF, 
              type_after_w1 = UNKNOWN_BT, orig_type = PDF}, last_strong = {
              bytepos = 25769803782, charpos = 6, type = RLE, 
              type_after_w1 = UNKNOWN_BT, orig_type = RLE}, 
            next_for_neutral = {bytepos = 0, charpos = 0, type = UNKNOWN_BT, 
---Type <return> to continue, or q <return> to quit---
              type_after_w1 = UNKNOWN_BT, orig_type = 4294967295}, 
            prev_for_neutral = {bytepos = 0, charpos = 0, type = PDF, 
              type_after_w1 = UNKNOWN_BT, orig_type = PDF}, next_for_ws = {
              bytepos = 4294967297, charpos = 1, type = LRE, 
              type_after_w1 = UNKNOWN_BT, orig_type = LRE}, next_en_pos = 0, 
            next_en_type = UNKNOWN_BT, ignore_bn_limit = 0, sor = NEUTRAL_DIR, 
            scan_dir = 0, disp_pos = -1, disp_prop = 1, stack_idx = 1, 
            level_stack = {{level = 61, override = NEUTRAL_DIR}, {level = 0, 
                override = NEUTRAL_DIR} <repeats 15 times>, {level = 12517648, 
                override = NEUTRAL_DIR}, {level = -22912, 
                override = (L2R | R2L | unknown: 32764)}, {level = 5902765, 
                override = NEUTRAL_DIR}, {level = 35513104, 
                override = NEUTRAL_DIR}, {level = 12517648, 
                override = NEUTRAL_DIR}, {level = 0, override = NEUTRAL_DIR}, {
                level = 0, override = NEUTRAL_DIR}, {level = 0, 
                override = NEUTRAL_DIR}, {level = 0, 
                override = (R2L | unknown: 4)}, {level = 12648594, 
                override = NEUTRAL_DIR}, {level = 0, override = NEUTRAL_DIR}, {
                level = 12517648, override = NEUTRAL_DIR}, {level = -22912, 
                override = (L2R | R2L | unknown: 32764)}, {level = 5859244, 
                override = NEUTRAL_DIR}, {level = 18657696, 
                override = NEUTRAL_DIR}, {level = -22784, 
                override = (L2R | R2L | unknown: 32764)}, {level = 5905362, 
---Type <return> to continue, or q <return> to quit---
                override = NEUTRAL_DIR}, {level = 0, override = NEUTRAL_DIR}, {
                level = 12446432, override = NEUTRAL_DIR}, {level = -22768, 
                override = (L2R | R2L | unknown: 32764)}, {level = 5902682, 
                override = NEUTRAL_DIR}, {level = 0, override = NEUTRAL_DIR}, {
                level = 12517648, override = NEUTRAL_DIR}, {level = -22736, 
                override = (L2R | R2L | unknown: 32764)}, {level = 5902765, 
                override = NEUTRAL_DIR}, {level = 36694320, 
                override = NEUTRAL_DIR}, {level = 12517648, 
                override = NEUTRAL_DIR}, {level = 5, override = NEUTRAL_DIR}, {
                level = 36694325, override = NEUTRAL_DIR}, {level = -22768, 
                override = (L2R | R2L | unknown: 32764)}, {level = 5550869, 
                override = (R2L | unknown: 4)}, {level = 12648594, 
                override = NEUTRAL_DIR}, {level = 36694325, 
                override = NEUTRAL_DIR}, {level = 12517648, 
                override = NEUTRAL_DIR}, {level = 18654077, 
                override = NEUTRAL_DIR}, {level = -22544, 
                override = (L2R | R2L | unknown: 32764)}, {level = 4515305, 
                override = NEUTRAL_DIR}, {level = -22608, 
                override = (L2R | R2L | unknown: 32764)}, {level = 5905362, 
                override = NEUTRAL_DIR}, {level = -22456, 
                override = (L2R | R2L | unknown: 32764)}, {level = 378441, 
                override = NEUTRAL_DIR}, {level = 378442, 
                override = NEUTRAL_DIR}, {level = 18654077, 
---Type <return> to continue, or q <return> to quit---
                override = NEUTRAL_DIR}, {level = -22656, 
                override = (L2R | unknown: 4)}, {level = 36694320, 
                override = L2R}, {level = 0, override = NEUTRAL_DIR}, {
                level = 12867360, override = NEUTRAL_DIR}, {level = 5, 
                override = NEUTRAL_DIR}}, string = {lstring = 36694325, 
              s = 0x7fffffffa7c0 "\360\247\377\377\377\177", schars = 4723261, 
              bufpos = 18654072, from_disp_str = 0, unibyte = 0}, 
            w = 0x596482 <XMARKER+24>, 
            paragraph_dir = (L2R | R2L | unknown: 12687840), 
            separator_limit = 140737488332784, prev_was_pdf = 1, 
            first_elt = 1, new_paragraph = 0, frame_window_p = 1}, 
          paragraph_embedding = (L2R | R2L | unknown: 12687840)}
        delta = 0
        delta_bytes = 0
        stop_pos = 5858376
        dvpos = -25888
        dy = 32767
        start_pos = {charpos = 4313620880, bytepos = 1}
        run = {desired_y = 0, current_y = 0, desired_vpos = 10000, 
          current_vpos = 0, height = 20, nrows = 0}
        first_unchanged_at_end_vpos = 0
        last_text_row = 0xffffffffffffffff
        last_text_row_at_end = 0x7fffffff9a20
---Type <return> to continue, or q <return> to quit---
        start = {charpos = 378441, bytepos = 378442}
        first_changed_charpos = 1
        last_changed_charpos = 1
#4  0x0000000000450c1f in redisplay_window (window=18654077, just_this_one_p=0)
    at xdisp.c:15726
        w = 0x11ca378
        f = 0x11ca190
        buffer = 0x22fe930
        old = 0x21de310
        lpoint = {charpos = 61, bytepos = 61}
        opoint = {charpos = 379139, bytepos = 379140}
        startp = {charpos = 378441, bytepos = 378442}
        update_mode_line = 1
        tem = -1
        it = {window = 61, w = 0x3d, f = 0x3d, method = 61, stop_charpos = 0, 
          prev_stop = 0, base_level_stop = 12648594, end_charpos = 0, s = 0x0, 
          string_nchars = 0, region_beg_charpos = 0, region_end_charpos = 0, 
          redisplay_end_trigger_charpos = 0, multibyte_p = 0, 
          header_line_p = 0, string_from_display_prop_p = 0, 
          string_from_prefix_prop_p = 0, from_disp_prop_p = 0, ellipsis_p = 0, 
          avoid_cursor_p = 0, dp = 0x0, 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 = 0, 
---Type <return> to continue, or q <return> to quit---
              bytepos = 0}, overlay_string_index = 0, string_pos = {
              charpos = 0, bytepos = 0}, dpvec_index = 0}, current = {pos = {
              charpos = 0, bytepos = 0}, overlay_string_index = 0, 
            string_pos = {charpos = 0, bytepos = 0}, dpvec_index = 0}, 
          n_overlay_strings = 0, overlay_strings_charpos = 0, 
          overlay_strings = {0 <repeats 16 times>}, string_overlays = {0, 0, 
            0, 0, 12648594, 0 <repeats 11 times>}, string = 0, 
          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, 
                rule_idx = 0, lookback = 0, nglyphs = 0, reversed_p = false, 
                charpos = 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, paragraph_embedding = NEUTRAL_DIR, 
              multibyte_p = 0, string_from_display_prop_p = 0, 
              string_from_prefix_prop_p = 0, display_ellipsis_p = 0, 
              avoid_cursor_p = 0, bidi_p = 0, from_disp_prop_p = 0, 
---Type <return> to continue, or q <return> to quit---
              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, 
                rule_idx = 0, lookback = 0, nglyphs = 0, reversed_p = false, 
                charpos = 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, paragraph_embedding = NEUTRAL_DIR, 
              multibyte_p = 0, string_from_display_prop_p = 0, 
              string_from_prefix_prop_p = 0, display_ellipsis_p = 0, 
              avoid_cursor_p = 0, bidi_p = 0, from_disp_prop_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, 
                rule_idx = 0, lookback = 0, nglyphs = 0, reversed_p = false, 
                charpos = 0, nchars = 0, nbytes = 0, from = 0, to = 0, 
---Type <return> to continue, or q <return> to quit---
                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, paragraph_embedding = NEUTRAL_DIR, 
              multibyte_p = 0, string_from_display_prop_p = 0, 
              string_from_prefix_prop_p = 0, display_ellipsis_p = 0, 
              avoid_cursor_p = 0, bidi_p = 0, from_disp_prop_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, 
                rule_idx = 0, lookback = 0, nglyphs = 0, reversed_p = false, 
                charpos = 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}, 
---Type <return> to continue, or q <return> to quit---
              from_overlay = 0, area = LEFT_MARGIN_AREA, 
              method = GET_FROM_BUFFER, paragraph_embedding = NEUTRAL_DIR, 
              multibyte_p = 0, string_from_display_prop_p = 0, 
              string_from_prefix_prop_p = 0, display_ellipsis_p = 0, 
              avoid_cursor_p = 0, bidi_p = 0, from_disp_prop_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, 
                rule_idx = 0, lookback = 0, nglyphs = 0, reversed_p = false, 
                charpos = 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 = 8589934595, bytepos = 395136991232}, 
                dpvec_index = 1}, from_overlay = 0, area = ANY_AREA, 
              method = 4294967295, paragraph_embedding = NEUTRAL_DIR, 
              multibyte_p = 0, string_from_display_prop_p = 0, 
              string_from_prefix_prop_p = 0, display_ellipsis_p = 0, 
              avoid_cursor_p = 0, bidi_p = 0, from_disp_prop_p = 0, 
              line_wrap = TRUNCATE, voffset = 0, space_width = 0, 
---Type <return> to continue, or q <return> to quit---
              font_height = 0}}, sp = 0, selective = 0, what = IT_CHARACTER, 
          face_id = 0, selective_display_ellipsis_p = 0, ctl_arrow_p = 0, 
          face_box_p = 0, start_of_box_run_p = 0, end_of_box_run_p = 0, 
          overlay_strings_at_end_processed_p = 0, 
          ignore_overlay_strings_at_pos_p = 1, glyph_not_available_p = 0, 
          starts_in_middle_of_char_p = 1, face_before_selective_p = 0, 
          constrain_row_ascent_descent_p = 1, 
          line_wrap = (WORD_WRAP | WINDOW_WRAP | unknown: 32764), 
          base_face_id = 4420960, c = 0, len = -19400, cmp_it = {
            stop_pos = 30064751656, id = 21857792, ch = -19928, 
            rule_idx = 32767, lookback = 5859379, nglyphs = 0, reversed_p = 6, 
            charpos = 21857792, nchars = -19896, nbytes = 32767, 
            from = 5859379, to = 0, width = -19904}, 
          char_to_display = 21857797, 
          glyphless_method = GLYPHLESS_DISPLAY_THIN_SPACE, 
          image_id = 21857797, slice = {x = 21857792, y = 140737488335456, 
            width = 5859596, height = 12648594}, 
          space_width = 140737488335488, voffset = 16544, tab_width = 92, 
          font_height = 12648594, object = 12867778, position = {
            charpos = 140737488335568, bytepos = 6405252}, 
          truncation_pixel_width = 0, continuation_pixel_width = 0, 
          first_visible_x = 0, last_visible_x = 1, last_visible_y = 1, 
          extra_line_spacing = 12867778, max_extra_line_spacing = 0, 
---Type <return> to continue, or q <return> to quit---
          override_ascent = 12648594, override_descent = 0, override_boff = 0, 
          glyph_row = 0x7fffffffb4d8, area = -19224, nglyphs = 32767, 
          pixel_width = -19232, ascent = 6, descent = 21857792, 
          max_ascent = 0, max_descent = -19704, phys_ascent = 32767, 
          phys_descent = 5859379, max_phys_ascent = 0, max_phys_descent = 0, 
          current_x = 6, continuation_lines_width = 21857792, eol_pos = {
            charpos = 140737488335656, bytepos = 5859379}, current_y = -19680, 
          first_vpos = 6, vpos = 21857797, hpos = 0, 
          left_user_fringe_bitmap = 34309, right_user_fringe_bitmap = 333, 
          left_user_fringe_face_id = 0, right_user_fringe_face_id = 886272, 
          bidi_p = 0, bidi_it = {bytepos = 140737488335680, charpos = 5859596, 
            ch = 21857792, nchars = 140737488335776, ch_len = 6413845, 
            type = 4294948112, type_after_w1 = 32512, orig_type = 4294947784, 
            resolved_level = 32767, invalid_levels = -19512, 
            invalid_rl_levels = 32767, prev = {bytepos = 21857797, 
              charpos = 0, type = STRONG_L, type_after_w1 = UNKNOWN_BT, 
              orig_type = 12648594}, last_strong = {bytepos = 5, charpos = 0, 
              type = 4268336, type_after_w1 = UNKNOWN_BT, 
              orig_type = 4294947808}, next_for_neutral = {bytepos = 6422224, 
              charpos = 32, type = 21857797, type_after_w1 = UNKNOWN_BT, 
              orig_type = 12869346}, prev_for_neutral = {bytepos = 4, 
              charpos = 0, type = 4268336, type_after_w1 = UNKNOWN_BT, 
              orig_type = 4294947888}, next_for_ws = {bytepos = 6442643, 
---Type <return> to continue, or q <return> to quit---
              charpos = 12648594, type = 4294947992, type_after_w1 = 32767, 
              orig_type = 4294947984}, next_en_pos = 140737488336008, 
            next_en_type = LRE, ignore_bn_limit = 8, 
            sor = (unknown: 21857792), scan_dir = 0, disp_pos = 32, 
            disp_prop = -19184, stack_idx = 32767, level_stack = {{
                level = 6450379, override = NEUTRAL_DIR}, {level = 21857792, 
                override = NEUTRAL_DIR}, {level = 12648594, 
                override = NEUTRAL_DIR}, {level = 8, override = NEUTRAL_DIR}, {
                level = 1, override = NEUTRAL_DIR}, {level = 1, 
                override = NEUTRAL_DIR}, {level = -16440, 
                override = (L2R | R2L | unknown: 32764)}, {level = 5859379, 
                override = NEUTRAL_DIR}, {level = -19312, 
                override = (R2L | unknown: 4)}, {level = 21857797, 
                override = (unknown: 500)}, {level = 21857797, 
                override = NEUTRAL_DIR}, {level = 21857792, 
                override = NEUTRAL_DIR}, {level = -19280, 
                override = (L2R | R2L | unknown: 32764)}, {level = 5859596, 
                override = NEUTRAL_DIR}, {level = 21857792, 
                override = NEUTRAL_DIR}, {level = -19184, 
                override = (L2R | R2L | unknown: 32764)}, {level = 6413845, 
                override = NEUTRAL_DIR}, {level = 16, override = NEUTRAL_DIR}, 
              {level = -19144, override = (L2R | R2L | unknown: 32764)}, {
                level = -19144, override = (L2R | R2L | unknown: 32764)}, {
---Type <return> to continue, or q <return> to quit---
                level = 21857797, override = NEUTRAL_DIR}, {level = 0, 
                override = NEUTRAL_DIR}, {level = 1, override = NEUTRAL_DIR}, {
                level = 0, override = NEUTRAL_DIR}, {level = 5, 
                override = NEUTRAL_DIR}, {level = 0, override = NEUTRAL_DIR}, {
                level = 0, override = NEUTRAL_DIR}, {level = -19008, 
                override = (L2R | R2L | unknown: 32764)}, {level = 4400335, 
                override = NEUTRAL_DIR}, {level = 12648594, 
                override = NEUTRAL_DIR}, {level = -18592, 
                override = (L2R | R2L | unknown: 32764)}, {level = -19048, 
                override = (L2R | R2L | unknown: 32764)}, {level = 4, 
                override = NEUTRAL_DIR}, {level = 21857797, 
                override = NEUTRAL_DIR}, {level = 404, 
                override = NEUTRAL_DIR}, {level = 1, override = NEUTRAL_DIR}, {
                level = 1, override = NEUTRAL_DIR}, {level = 0, 
                override = NEUTRAL_DIR}, {level = 8, override = NEUTRAL_DIR}, {
                level = 8, override = NEUTRAL_DIR}, {level = 12648594, 
                override = NEUTRAL_DIR}, {level = -19040, 
                override = (L2R | R2L | unknown: 32764)}, {level = 4425109, 
                override = NEUTRAL_DIR}, {level = 0, override = NEUTRAL_DIR}, {
                level = -18592, override = (L2R | R2L | unknown: 32764)}, {
                level = -19008, override = (L2R | R2L | unknown: 32764)}, {
                level = 4419649, override = NEUTRAL_DIR}, {level = 0, 
                override = NEUTRAL_DIR}, {level = 4268336, 
---Type <return> to continue, or q <return> to quit---
                override = NEUTRAL_DIR}, {level = -18960, 
                override = (L2R | R2L | unknown: 32764)}, {level = 4399293, 
                override = NEUTRAL_DIR}, {level = 0, override = NEUTRAL_DIR}, {
                level = -18592, override = (L2R | R2L | unknown: 32764)}, {
                level = 0, override = L2R}, {level = 9143608, 
                override = NEUTRAL_DIR}, {level = -18896, 
                override = (L2R | R2L | unknown: 32764)}, {level = 4431899, 
                override = NEUTRAL_DIR}, {level = 21857797, override = L2R}, {
                level = 1, override = NEUTRAL_DIR}, {level = 1, 
                override = NEUTRAL_DIR}, {level = -18592, 
                override = (L2R | R2L | unknown: 32764)}, {level = 5859596, 
                override = NEUTRAL_DIR}, {level = 1, override = NEUTRAL_DIR}, {
                level = -18784, override = (L2R | R2L | unknown: 32764)}}, 
            string = {lstring = 4395741, s = 0x14d8605 "", schars = 24967680, 
              bufpos = 1, from_disp_str = 1, unibyte = 0}, w = 0x11cb1a0, 
            paragraph_dir = (unknown: 4294948704), separator_limit = 21857797, 
            prev_was_pdf = 0, first_elt = 0, new_paragraph = 0, 
            frame_window_p = 1}, 
          paragraph_embedding = (L2R | R2L | unknown: 4294967292)}
        current_matrix_up_to_date_p = 1
        used_current_matrix_p = 0
        buffer_unchanged_p = 1
        temp_scroll_step = 0
---Type <return> to continue, or q <return> to quit---
        count = 5
        rc = 1
        centering_position = -1
        last_line_misfit = 0
        beg_unchanged = 0
        end_unchanged = 435537
        frame_line_height = 20
#5  0x000000000044ab95 in redisplay_window_0 (window=18654077) at xdisp.c:13811
No locals.
#6  0x00000000005ba359 in internal_condition_case_1 (
    bfun=0x44ab53 <redisplay_window_0>, arg=18654077, handlers=12863942, 
    hfun=0x44ab22 <redisplay_window_error>) at eval.c:1376
        val = 89184
        c = {tag = 12648594, val = 12648594, next = 0x7fffffffda90, 
          gcpro = 0x0, jmp = {{__jmpbuf = {0, -5305203441639127425, 4268336, 
                140737488346960, 0, 0, -5305203441595087233, 
                5305203919198848639}, __mask_was_saved = 0, __saved_mask = {
                __val = {48, 1858, 0, 140737488340288, 4271563, 
                  140737278900032, 33578464, 33578448, 817, 832, 29851917202, 
                  36694320, 140737488340280, 5859379, 25769803776, 
                  36694325}}}}, handlerlist = 0x7fffffffda60, 
          lisp_eval_depth = 0, pdlcount = 5, poll_suppress_count = 1, 
          interrupt_input_blocked = 0, byte_stack = 0x0}
---Type <return> to continue, or q <return> to quit---
        h = {handler = 12863942, var = 12648594, chosen_clause = 89184, 
          tag = 0x7fffffffc440, next = 0x7fffffffda60}
#7  0x000000000044ab03 in redisplay_windows (window=18654077) at xdisp.c:13791
        w = 0x11ca378
#8  0x000000000044aab9 in redisplay_windows (window=34581901) at xdisp.c:13785
        w = 0x20fad88
#9  0x0000000000449d57 in redisplay_internal () at xdisp.c:13402
        f = 0x11ca190
        w = 0x239c880
        sw = 0x239c880
        fr = 0x11ca190
        pending = 0
        must_finish = true
        match_p = true
        tlbufpos = {charpos = 1, bytepos = 1}
        tlendpos = {charpos = 0, bytepos = 0}
        number_of_visible_frames = 1
        count = 2
        sf = 0x11ca190
        polling_stopped_here = 0
        tail = 16375078
        frame = 18653589
        consider_all_windows_p = 1
---Type <return> to continue, or q <return> to quit---
        update_miniwindow_p = 1
#10 0x00000000004480a9 in redisplay () at xdisp.c:12690
No locals.
#11 0x0000000000528b06 in read_char (commandflag=1, map=37413238, 
    prev_event=12648594, used_mouse_menu=0x7fffffffd739, end_time=0x0)
    at keyboard.c:2553
        echo_current = false
        c = 12648594
        jmpcount = 0
        local_getcjmp = {{__jmpbuf = {-1, 140737488344000, 61, 16692976, 
              140737488344464, 5904111, 140737488344464, 17375138}, 
            __mask_was_saved = 17375136, __saved_mask = {__val = {16692976, 
                140737488344608, 5492430, 140737488344656, 0, 12648594, 2, 
                140737488344544, 12648594, 37413206, 37413222, 
                140737488344608, 5869987, 37413206, 37276854, 244}}}}
        save_jump = {{__jmpbuf = {12648594, 0, 140737488344768, 5494359, 
              12648594, 12648642, 140737488344672, 38654705663}, 
            __mask_was_saved = 32787952, __saved_mask = {__val = {37413238, 
                140737488344704, 5856108, 37413222, 37413238, 140737488344768, 
                5869987, 37413222, 12897595426, 18653584, 140737488344792, 
                5859379, 12922315126, 18653589, 5455749, 18653584}}}}
        tem = 35513104
        save = 30064760024
---Type <return> to continue, or q <return> to quit---
        previous_echo_area_message = 12648594
        also_record = 12648594
        reread = false
        gcpro1 = {next = 0xc10092, var = 0x0, nvars = 140737488344768}
        gcpro2 = {next = 0xc10092, var = 0x0, nvars = 140737488344768}
        polling_stopped_here = false
        orig_kboard = 0x15e6740
#12 0x00000000005349bd in read_key_sequence (keybuf=0x7fffffffd930, 
    bufsize=30, prompt=12648594, dont_downcase_last=false, 
    can_return_switch_frame=true, fix_current_buffer=true) at keyboard.c:9066
        interrupted_kboard = 0x15e6740
        interrupted_frame = 0x11ca190
        key = 5904252
        used_mouse_menu = false
        echo_local_start = 0
        last_real_key_start = 0
        keys_local_start = 0
        new_binding = 12648594
        count = 2
        t = 0
        echo_start = 0
        keys_start = 0
        current_binding = 37413238
---Type <return> to continue, or q <return> to quit---
        first_event = 12648594
        first_unbound = 31
        mock_input = 0
        fkey = {parent = 20593926, map = 20593926, start = 0, end = 0}
        keytran = {parent = 12627526, map = 12627526, start = 0, end = 0}
        indec = {parent = 20593910, map = 20593910, start = 0, end = 0}
        shift_translated = false
        delayed_switch_frame = 12648594
        original_uppercase = 12648594
        original_uppercase_position = -1
        dummyflag = false
        starting_buffer = 0x21de310
        fake_prefixed_keys = 12648594
        gcpro1 = {next = 0x13a3cf6, var = 0x13a3cf6, nvars = 0}
#13 0x000000000052627a in command_loop_1 () at keyboard.c:1436
        cmd = 34503826
        keybuf = {12, 20, 472, 16752658, 12781088, 12781090, 25769793920, 
          12443008, 140737488345584, 6022533, 27275558, 2, 12687968, 12648594, 
          12781088, 16880176, 140737488345584, 6021753, 12648594, 12781090, 
          12781088, 12648594, 0, 0, 140737488345632, 6010768, 12648594, 
          15982150, 21474836485, 2}
        i = 2
        prev_modiff = 1
---Type <return> to continue, or q <return> to quit---
        prev_buffer = 0x21de310
        already_adjusted = false
#14 0x00000000005ba1fc in internal_condition_case (
    bfun=0x525eb7 <command_loop_1>, handlers=12708370, 
    hfun=0x5257e7 <cmd_error>) at eval.c:1339
        val = 5397553
        c = {tag = 12648594, val = 12648594, next = 0x7fffffffdc00, 
          gcpro = 0x0, jmp = {{__jmpbuf = {0, -5305203442408782209, 4268336, 
                140737488346960, 0, 0, -5305203442423462273, 
                5305203919312488063}, __mask_was_saved = 0, __saved_mask = {
                __val = {5305203919312488063, 140733193388032, 
                  140737353957376, 140737488345888, 9139056, 0, 
                  140737488346960, 0, 0, 140737488346384, 140737351945365, 5, 
                  0, 140737278900032, 140737275001032, 0}}}}, 
          handlerlist = 0x0, lisp_eval_depth = 0, pdlcount = 2, 
          poll_suppress_count = 1, interrupt_input_blocked = 0, 
          byte_stack = 0x0}
        h = {handler = 12708370, var = 12648594, chosen_clause = 12708370, 
          tag = 0x7fffffffda90, next = 0x0}
#15 0x0000000000525c14 in command_loop_2 (ignore=12648594) at keyboard.c:1163
        val = 0
#16 0x00000000005b9c19 in internal_catch (tag=12704050, 
    func=0x525bee <command_loop_2>, arg=12648594) at eval.c:1113
---Type <return> to continue, or q <return> to quit---
        c = {tag = 12704050, val = 12648594, next = 0x0, gcpro = 0x0, jmp = {{
              __jmpbuf = {0, -5305203442452822401, 4268336, 140737488346960, 
                0, 0, -5305203442400393601, 5305203919407777407}, 
              __mask_was_saved = 0, __saved_mask = {__val = {16880144, 
                  140737488346352, 5905362, 4294967296, 12648594, 12648594, 
                  12903234, 25769794752, 12687968, 0, 12903232, 5, 12687973, 
                  12687968, 12061200, 5859244}}}}, handlerlist = 0x0, 
          lisp_eval_depth = 0, pdlcount = 2, poll_suppress_count = 1, 
          interrupt_input_blocked = 0, byte_stack = 0x0}
#17 0x0000000000525bc4 in command_loop () at keyboard.c:1142
No locals.
#18 0x00000000005253e2 in recursive_edit_1 () at keyboard.c:781
        count = 1
        val = 5395815
#19 0x000000000052554f in Frecursive_edit () at keyboard.c:845
        count = 0
        buffer = 12648594
#20 0x0000000000523489 in main (argc=1, argv=0x7fffffffdf58) at emacs.c:1570
        dummy = 0
        stack_bottom_variable = -9 '\367'
        do_initial_setlocale = true
        dumping = false
        skip_args = 0
---Type <return> to continue, or q <return> to quit---
        rlim = {rlim_cur = 8720000, rlim_max = 18446744073709551615}
        no_loadup = false
        junk = 0x0
        dname_arg = 0x0
        ch_to_dir = 0xfbad000c <Address 0xfbad000c out of bounds>
(gdb)

(gdb) xbacktrace
"redisplay_internal (C function)" (0xbf6108)
(gdb)

(For all I know, the above may be not accurate, because I loaded the
src/.gdbinit file only after Emacs started up, worked and crashed.)

In GNU Emacs 24.3.50.1 (x86_64-unknown-linux-gnu, GTK+ Version 3.6.4)
 of 2013-09-13 on axl
Bzr revision: 114268 eliz@gnu.org-20130913082603-7sd3pqtlyl0vr2fm
Windowing system distributor `The X.Org Foundation', version 11.0.11303000
System Description:	Ubuntu 13.04

Important settings:
  value of $LC_MONETARY: ru_RU.UTF-8
  value of $LC_NUMERIC: ru_RU.UTF-8
  value of $LC_TIME: ru_RU.UTF-8
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t

Major mode: Emacs-Lisp

Minor modes in effect:
  elisp-slime-nav-mode: t
  paredit-mode: t
  whitespace-mode: t
  hes-mode: t
  global-company-mode: t
  company-mode: t
  global-undo-tree-mode: t
  undo-tree-mode: t
  global-diff-hl-mode: t
  diff-auto-refine-mode: t
  savehist-mode: t
  yas-global-mode: t
  yas-minor-mode: t
  ido-ubiquitous-mode: t
  ido-everywhere: t
  show-paren-mode: t
  global-auto-revert-mode: t
  autopair-global-mode: t
  cua-mode: t
  winner-mode: t
  shell-dirtrack-mode: t
  helm-match-plugin-mode: t
  global-ethan-wspace-mode: t
  eldoc-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  column-number-mode: t
  line-number-mode: t
  auto-fill-function: do-auto-fill
  transient-mark-mode: t

Recent input:
<M-return> M-x r e p o r t <return>

Recent messages:
ad-handle-definition: `tramp-read-passwd' got redefined
Loading /home/gutov/.emacs-locals.el (source)...done
Loading /home/gutov/.emacs-loaddefs.el (source)...done
Switching to window configuration: nil
Ido-ubiquitous mode disabled
Ido-ubiquitous mode enabled
.emacs.d/site-lisp/smartrep.el/smartrep.el: `dont-compile' is an obsolete macro (as of 24.4).
ad-handle-definition: `find-tag' got redefined
For information about GNU Emacs and the GNU system, type C-h C-a.
Quit

Load-path shadows:
/home/gutov/.emacs.d/elpa/pkg-info-20130817.2334/.dir-locals hides /home/gutov/.emacs.d/site-lisp/company/.dir-locals
/home/gutov/.emacs.d/elpa/pkg-info-20130817.2334/.dir-locals hides /home/gutov/.emacs.d/site-lisp/robe/.dir-locals
/home/gutov/.emacs.d/elpa/pkg-info-20130817.2334/.dir-locals hides /home/gutov/.emacs.d/site-lisp/js2-mode/.dir-locals
/home/gutov/.emacs.d/site-lisp/smartrep.el/smartrep hides ~/.emacs.d/site-lisp/smartrep
/home/gutov/.emacs.d/elpa/pkg-info-20130817.2334/.dir-locals hides /home/gutov/emacs-bzr/trunk/lisp/gnus/.dir-locals

Features:
(shadow sort mail-extr emacsbug message rfc822 mml mml-sec mm-decode
mm-bodies mm-encode mailabbrev gmm-utils mailheader sendmail mail-utils
smex elisp-slime-nav paredit whitespace saveplace
highlight-escape-sequences company-files company-oddmuse
company-keywords company-dabbrev-code company-dabbrev company-etags
company-gtags company-cmake company-ropemacs company-xcode company-clang
company-semantic company-eclim company-template company-css company-nxml
company-elisp robe-company robe url-http tls url-auth mail-parse rfc2231
rfc2047 rfc2045 ietf-drums url-gw url url-proxy url-privacy url-expand
url-methods url-history url-cookie url-domsuf url-util mailcap json
etags company-inf-ruby company undo-tree diff diff-hl smartrep
face-remap vc-hg vc-git vc-dir ewoc vc vc-dispatcher diff-mode savehist
yasnippet ido-ubiquitous warnings ido paren autorevert filenotify
autopair cua-base winner .emacs-loaddefs info inf-ruby ruby-mode smie
package bow helm-files image-dired tramp tramp-compat tramp-loaddefs
trampver shell format-spec dired-x dired-aux ffap url-parse auth-source
eieio byte-opt bytecomp byte-compile cconv eieio-core gnus-util mm-util
mail-prsvr password-cache url-vars thingatpt helm-tags helm-locate
helm-help helm-external helm-bookmark helm-buffers helm-grep helm-regexp
grep helm-elscreen helm-utils compile helm-match-plugin helm prelude esk
uniquify devenv eproject-extras ibuf-macs ibuf-ext ibuffer iswitchb
ethan-wspace point-stack eproject derived easy-mmode pcomplete esh-var
esh-io esh-cmd esh-opt esh-ext esh-proc esh-arg eldoc esh-groups eshell
esh-module esh-mode esh-util mmm mmm-auto mmm-vars mmm-compat progmodes
keys find-func quail help-mode windmove helm-config helm-aliases cl-macs
gv cl easymenu hippie hippie-exp comint ansi-color dired winring ring
transpose-frame misc prefs edmacro kmacro cl-loaddefs cl-lib defuns
advice help-fns help-at-pt cus-start cus-load time-date tooltip
ediff-hook vc-hooks lisp-float-type mwheel x-win x-dnd tool-bar dnd
fontset image regexp-opt fringe tabulated-list newcomment lisp-mode
prog-mode register page menu-bar rfn-eshadow timer select scroll-bar
mouse jit-lock font-lock syntax facemenu font-core frame cham georgian
utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean
japanese hebrew greek romanian slovak czech european ethiopic indian
cyrillic chinese case-table epa-hook jka-cmpr-hook help simple abbrev
minibuffer nadvice loaddefs button faces cus-face macroexp files
text-properties overlay sha1 md5 base64 format env code-pages mule
custom widget hashtable-print-readable backquote make-network-process
gfilenotify dynamic-setting system-font-setting font-render-setting
move-toolbar gtk x-toolkit x multi-tty emacs)





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

* bug#15365: 24.3.50; Segfault when calling vc-git-log-edit-toggle-amend
  2013-09-13 11:55 bug#15365: 24.3.50; Segfault when calling vc-git-log-edit-toggle-amend Dmitry Gutov
@ 2013-09-13 13:18 ` Eli Zaretskii
  2013-09-14  1:12   ` Dmitry Gutov
  0 siblings, 1 reply; 19+ messages in thread
From: Eli Zaretskii @ 2013-09-13 13:18 UTC (permalink / raw)
  To: Dmitry Gutov; +Cc: 15365

> From: Dmitry Gutov <dgutov@yandex.ru>
> Date: Fri, 13 Sep 2013 14:55:27 +0300
> 
> Edit a file in a Git repository, then press
> 
> C-x v v, then C-c C-e

Too bad this requires to commit to a git repo.  If you cannot find a
recipe that doesn't need that, please show values of variables
involved in this abort.  The relevant code fragment is this:

      /* If window start is unchanged, we can reuse the whole matrix
	 as is, after adjusting glyph positions.  No need to compute
	 the window end again, since its offset from Z hasn't changed.  */
      r0 = MATRIX_FIRST_TEXT_ROW (current_matrix);
      if (CHARPOS (start) == MATRIX_ROW_START_CHARPOS (r0) + Z_delta
	  && BYTEPOS (start) == MATRIX_ROW_START_BYTEPOS (r0) + Z_delta_bytes
	  /* PT must not be in a partially visible line.  */
	  && !(PT >= MATRIX_ROW_START_CHARPOS (row) + Z_delta
	       && MATRIX_ROW_BOTTOM_Y (row) > window_text_bottom_y (w)))
	{
	  /* Adjust positions in the glyph matrix.  */
	  if (Z_delta || Z_delta_bytes)
	    {
	      struct glyph_row *r1
		= MATRIX_BOTTOM_TEXT_ROW (current_matrix, w);
	      increment_matrix_positions (w->current_matrix,
					  MATRIX_ROW_VPOS (r0, current_matrix),
					  MATRIX_ROW_VPOS (r1, current_matrix),
					  Z_delta, Z_delta_bytes);
	    }

	  /* Set the cursor.  */
	  row = row_containing_pos (w, PT, r0, NULL, 0);
	  if (row)
	    set_cursor_from_row (w, row, current_matrix, 0, 0, 0, 0);
	  else
	    emacs_abort ();
	  return 1;
	}

So the values of PT, Z, and Z_BYTE are important.  Also, the following
GDB commands can tell important details:

  (gdb) pmtxrows current_matrix

Note that you need to be in the call-stack frame of this code, frame
#3 according to the backtrace you show, to be able to reference these
variables.

Thanks.

> (gdb) xbacktrace
> "redisplay_internal (C function)" (0xbf6108)
> (gdb)
> 
> (For all I know, the above may be not accurate, because I loaded the
> src/.gdbinit file only after Emacs started up, worked and crashed.)

It is accurate.  However, if you start GDB from the Emacs's src
directory, you will be free of that doubt.





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

* bug#15365: 24.3.50; Segfault when calling vc-git-log-edit-toggle-amend
  2013-09-13 13:18 ` Eli Zaretskii
@ 2013-09-14  1:12   ` Dmitry Gutov
  2013-09-14  8:02     ` Eli Zaretskii
  0 siblings, 1 reply; 19+ messages in thread
From: Dmitry Gutov @ 2013-09-14  1:12 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 15365

On 13.09.2013 16:18, Eli Zaretskii wrote:
> Too bad this requires to commit to a git repo.

Would your reply have been the same if it were any other VCS, save Bazaar?

Admittedly, the bug is not very stable. I was only able to reproduce it 
2 out of 4 times I tried it, this time around.

> If you cannot find a
> recipe that doesn't need that, please show values of variables
> involved in this abort.  The relevant code fragment is this:
>
>        /* If window start is unchanged, we can reuse the whole matrix
> 	 as is, after adjusting glyph positions.  No need to compute
> 	 the window end again, since its offset from Z hasn't changed.  */
>        r0 = MATRIX_FIRST_TEXT_ROW (current_matrix);
>        if (CHARPOS (start) == MATRIX_ROW_START_CHARPOS (r0) + Z_delta
> 	  && BYTEPOS (start) == MATRIX_ROW_START_BYTEPOS (r0) + Z_delta_bytes
> 	  /* PT must not be in a partially visible line.  */
> 	  && !(PT >= MATRIX_ROW_START_CHARPOS (row) + Z_delta
> 	       && MATRIX_ROW_BOTTOM_Y (row) > window_text_bottom_y (w)))
> 	{
> 	  /* Adjust positions in the glyph matrix.  */
> 	  if (Z_delta || Z_delta_bytes)
> 	    {
> 	      struct glyph_row *r1
> 		= MATRIX_BOTTOM_TEXT_ROW (current_matrix, w);
> 	      increment_matrix_positions (w->current_matrix,
> 					  MATRIX_ROW_VPOS (r0, current_matrix),
> 					  MATRIX_ROW_VPOS (r1, current_matrix),
> 					  Z_delta, Z_delta_bytes);
> 	    }
>
> 	  /* Set the cursor.  */
> 	  row = row_containing_pos (w, PT, r0, NULL, 0);
> 	  if (row)
> 	    set_cursor_from_row (w, row, current_matrix, 0, 0, 0, 0);
> 	  else
> 	    emacs_abort ();
> 	  return 1;
> 	}
>
> So the values of PT, Z, and Z_BYTE are important.

(gdb) p PT
$16 = 78
(gdb) p Z
$17 = 17704
(gdb) p Z_BYTE
$18 = 17704

>    (gdb) pmtxrows current_matrix

Here you go:

(gdb) pmtxrows current_matrix
0: edges=(1,77),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
1: edges=(77,78),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
2: edges=(78,79),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
3: edges=(79,124),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
4: edges=(124,171),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
5: edges=(171,193),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
6: edges=(193,212),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
7: edges=(212,250),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
8: edges=(250,251),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
9: edges=(251,290),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
10: edges=(290,291),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
11: edges=(291,360),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
12: edges=(360,432),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
13: edges=(432,501),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
14: edges=(501,540),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
15: edges=(540,541),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
16: edges=(541,605),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
17: edges=(605,671),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
18: edges=(671,736),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
19: edges=(736,784),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
20: edges=(784,785),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
21: edges=(785,854),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
22: edges=(854,924),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
---Type <return> to continue, or q <return> to quit---
23: edges=(924,925),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
24: edges=(925,941),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
25: edges=(941,942),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
26: edges=(942,1017),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
27: edges=(1017,1094),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
28: edges=(1094,1095),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
29: edges=(1095,1117),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
30: edges=(1117,1120),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
31: edges=(1120,1157),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
32: edges=(1157,1194),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
33: edges=(1194,1231),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
34: edges=(1231,1268),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
35: edges=(1268,1271),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
36: edges=(1271,1333),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
37: edges=(1333,1334),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
38: edges=(1334,1384),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
39: edges=(1384,1387),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
40: edges=(1387,1416),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
41: edges=(1416,1419),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
42: edges=(1419,1444),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
43: edges=(1444,1447),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
44: edges=(1447,1506),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
45: edges=(1506,1509),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
---Type <return> to continue, or q <return> to quit---
46: edges=(1509,1561),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
47: edges=(1561,1615),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
48: edges=(1615,1616),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
49: edges=(1616,1626),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
50: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
51: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
52: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
53: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
54: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
55: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
56: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
57: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
58: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
59: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
60: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
61: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
62: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
63: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
64: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
65: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
66: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
67: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
68: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
---Type <return> to continue, or q <return> to quit---
69: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
70: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
71: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
72: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
73: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
74: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
75: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
76: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
77: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
78: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
79: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
80: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
81: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
82: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
83: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
84: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
85: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
86: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
87: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
88: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
89: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
90: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
91: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
---Type <return> to continue, or q <return> to quit---
92: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
93: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
94: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
95: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
96: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
97: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
98: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
99: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
100: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
101: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
102: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
103: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
104: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
105: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
106: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
107: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
108: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
109: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
110: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
111: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
112: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
113: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
114: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
---Type <return> to continue, or q <return> to quit---
115: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
116: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
117: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
118: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
119: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
120: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
121: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
122: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
123: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
124: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
125: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
126: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
127: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
128: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
129: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
130: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
131: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
132: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
133: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
134: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
135: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
136: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
137: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
---Type <return> to continue, or q <return> to quit---
138: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
139: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
140: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
141: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
142: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
143: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
144: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
145: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
146: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
147: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
148: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
149: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
150: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
151: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
152: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
153: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
154: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
155: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
156: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
157: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
158: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
159: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
160: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
---Type <return> to continue, or q <return> to quit---
161: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
162: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
163: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
164: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
165: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
166: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
167: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
168: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
169: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
170: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
171: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
172: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
173: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
174: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
175: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
176: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
177: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
178: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
179: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
180: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
181: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
182: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
183: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
---Type <return> to continue, or q <return> to quit---
184: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
185: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
186: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
187: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
188: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
189: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
190: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
191: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
192: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
193: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
194: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
195: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
196: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
197: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
198: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
199: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
200: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
201: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
202: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
203: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
204: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
205: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
206: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
---Type <return> to continue, or q <return> to quit---
207: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
208: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
209: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
210: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
211: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
212: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
213: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
214: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
215: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
216: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
217: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
218: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
219: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
220: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
221: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
222: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
223: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
224: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
225: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
226: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
227: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
228: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
229: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
---Type <return> to continue, or q <return> to quit---
230: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
231: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
232: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
233: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
234: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
235: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
236: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
237: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
238: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
239: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
240: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
241: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
242: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
243: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
244: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
245: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
246: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
247: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
248: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
249: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
250: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
251: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
252: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
---Type <return> to continue, or q <return> to quit---
253: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
254: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
255: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
256: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
257: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
258: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
259: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
260: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
261: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
262: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
263: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
264: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
265: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
266: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
267: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
268: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
269: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
270: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
271: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
272: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
273: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
274: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
275: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
---Type <return> to continue, or q <return> to quit---
276: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
277: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
278: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
279: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
280: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
281: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
282: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
283: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
284: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
285: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
286: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
287: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
288: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
289: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
290: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
291: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
292: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
293: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
294: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
295: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
296: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
297: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
298: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
---Type <return> to continue, or q <return> to quit---
299: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
300: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
301: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
302: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
303: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
304: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
305: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
306: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
307: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
308: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
309: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
310: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
311: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
312: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
313: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
314: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
315: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
316: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
317: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
318: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
319: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
320: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
321: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
---Type <return> to continue, or q <return> to quit---
322: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
323: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
324: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
325: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
326: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
327: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
328: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
329: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
330: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
331: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
332: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
333: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
334: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
335: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
336: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
337: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
338: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
339: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
340: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
341: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
342: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
343: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
344: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
---Type <return> to continue, or q <return> to quit---
345: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
346: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
347: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
348: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
349: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
350: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
351: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
352: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
353: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
354: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
355: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
356: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
357: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
358: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
359: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
360: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
361: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
362: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
363: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
364: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
365: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
366: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
367: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
---Type <return> to continue, or q <return> to quit---
368: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
369: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
370: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
371: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
372: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
373: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
374: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
375: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
376: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
377: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
378: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
379: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
380: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
381: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
382: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
383: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
384: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
385: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
386: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
387: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
388: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
389: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
390: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
---Type <return> to continue, or q <return> to quit---
391: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
392: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
393: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
394: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
395: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
396: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
397: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
398: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
399: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
400: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
401: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
402: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
403: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
404: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
405: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
406: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
407: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
408: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
409: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
410: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
411: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
412: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
413: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
---Type <return> to continue, or q <return> to quit---
414: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
415: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
416: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
417: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
418: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
419: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
420: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
421: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
422: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
423: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
424: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
425: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
426: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
427: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
428: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
429: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
430: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
431: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
432: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
433: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
434: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
435: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
436: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
---Type <return> to continue, or q <return> to quit---
437: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
438: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
439: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
440: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
441: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
442: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
443: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
444: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
445: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
446: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
447: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
448: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
449: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
450: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
451: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
452: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
453: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
454: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
455: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
456: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
457: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
458: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
459: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
---Type <return> to continue, or q <return> to quit---
460: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
461: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
462: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
463: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
464: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
465: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
466: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
467: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
468: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
469: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
470: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
471: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
472: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
473: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
474: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
475: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
476: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
477: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
478: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
479: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
480: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
481: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
482: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
---Type <return> to continue, or q <return> to quit---
483: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
484: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
485: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
486: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
487: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
488: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
489: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
490: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
491: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
492: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
493: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
494: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
495: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
496: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
497: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
498: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
499: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
500: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
501: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
502: edges=(0,0),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
(gdb)

> Note that you need to be in the call-stack frame of this code, frame
> #3 according to the backtrace you show, to be able to reference these
> variables.

With src/.gdbinit loaded, it's frame 2 now.

> It is accurate.  However, if you start GDB from the Emacs's src
> directory, you will be free of that doubt.

I did that, but forgot to create ~/.gdbinit in advance to set the 
safe-whatever variable, on my current machine.





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

* bug#15365: 24.3.50; Segfault when calling vc-git-log-edit-toggle-amend
  2013-09-14  1:12   ` Dmitry Gutov
@ 2013-09-14  8:02     ` Eli Zaretskii
  2013-09-14  8:34       ` martin rudalics
  2013-09-14 13:05       ` Dmitry Gutov
  0 siblings, 2 replies; 19+ messages in thread
From: Eli Zaretskii @ 2013-09-14  8:02 UTC (permalink / raw)
  To: Dmitry Gutov; +Cc: 15365

> Date: Sat, 14 Sep 2013 04:12:56 +0300
> From: Dmitry Gutov <dgutov@yandex.ru>
> CC: 15365@debbugs.gnu.org
> 
> On 13.09.2013 16:18, Eli Zaretskii wrote:
> > Too bad this requires to commit to a git repo.
> 
> Would your reply have been the same if it were any other VCS, save Bazaar?

If you can reproduce this with bzr (I tried, but couldn't), please
show the recipe.  I have a number of local bzr repositories, and can
create new ones at will, so I can use them for testing.  For any other
VCS, I have only remote repositories on my machine, and I don't dare
to run such tests for a remote repo.  If you can set up some scratch
git repo for me at some URL, I will try using that to work on this
bug.

And yes, I try to stay away of git, and only use a handful of commands
with it.  There are already people here whose refusal to use bzr is
silently tolerated, so I don't see why my desire not to touch git any
more than I have to should be met with a different reaction.

> > So the values of PT, Z, and Z_BYTE are important.
> 
> (gdb) p PT
> $16 = 78
> (gdb) p Z
> $17 = 17704
> (gdb) p Z_BYTE
> $18 = 17704

I see nothing wrong here.

> >    (gdb) pmtxrows current_matrix
> 
> Here you go:
> 
> (gdb) pmtxrows current_matrix
> 0: edges=(1,77),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
> 1: edges=(77,78),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
> 2: edges=(78,79),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
> 3: edges=(79,124),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
> 4: edges=(124,171),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
> 5: edges=(171,193),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0

Thanks, this was "the missing link".  Please try running with the
following change for a while, and see if it avoids the aborts, and
does not produce any other redisplay problems:

=== modified file 'src/xdisp.c'
--- src/xdisp.c	2013-09-13 15:03:51 +0000
+++ src/xdisp.c	2013-09-14 07:59:19 +0000
@@ -17283,8 +17283,6 @@ try_window_id (struct window *w)
 	  row = row_containing_pos (w, PT, r0, NULL, 0);
 	  if (row)
 	    set_cursor_from_row (w, row, current_matrix, 0, 0, 0, 0);
-	  else
-	    emacs_abort ();
 	  return 1;
 	}
     }
@@ -17325,8 +17323,6 @@ try_window_id (struct window *w)
 	  row = row_containing_pos (w, PT, r0, NULL, 0);
 	  if (row)
 	    set_cursor_from_row (w, row, current_matrix, 0, 0, 0, 0);
-	  else
-	    emacs_abort ();
 	  return 2;
 	}
     }






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

* bug#15365: 24.3.50; Segfault when calling vc-git-log-edit-toggle-amend
  2013-09-14  8:02     ` Eli Zaretskii
@ 2013-09-14  8:34       ` martin rudalics
  2013-09-14  8:59         ` Eli Zaretskii
  2013-09-14 13:05       ` Dmitry Gutov
  1 sibling, 1 reply; 19+ messages in thread
From: martin rudalics @ 2013-09-14  8:34 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 15365, Dmitry Gutov

 > Thanks, this was "the missing link".

So where was Dmitry's cursor?

martin





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

* bug#15365: 24.3.50; Segfault when calling vc-git-log-edit-toggle-amend
  2013-09-14  8:34       ` martin rudalics
@ 2013-09-14  8:59         ` Eli Zaretskii
  2013-09-14  9:47           ` martin rudalics
  0 siblings, 1 reply; 19+ messages in thread
From: Eli Zaretskii @ 2013-09-14  8:59 UTC (permalink / raw)
  To: martin rudalics; +Cc: 15365, dgutov

> Date: Sat, 14 Sep 2013 10:34:34 +0200
> From: martin rudalics <rudalics@gmx.at>
> CC: Dmitry Gutov <dgutov@yandex.ru>, 15365@debbugs.gnu.org
> 
>  > Thanks, this was "the missing link".
> 
> So where was Dmitry's cursor?

At PT, whose value was 78.

But I probably don't understand what you wanted to ask or tell.





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

* bug#15365: 24.3.50; Segfault when calling vc-git-log-edit-toggle-amend
  2013-09-14  8:59         ` Eli Zaretskii
@ 2013-09-14  9:47           ` martin rudalics
  2013-09-14 10:16             ` Eli Zaretskii
  0 siblings, 1 reply; 19+ messages in thread
From: martin rudalics @ 2013-09-14  9:47 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 15365, dgutov

 >> So where was Dmitry's cursor?
 >
 > At PT, whose value was 78.

So PT was not in the window and the fact that it apparently passed the
earlier check (PT < CHARPOS (start)) means that PT was after the end of
the window.  Is that conclusion correct?

 > But I probably don't understand what you wanted to ask or tell.

Figure out why row_containing_pos (w, PT, r0, NULL, 0) returned 0.  And
why try_window_id was supposed to abort in this case and why this abort
didn't occur more frequently.

martin





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

* bug#15365: 24.3.50; Segfault when calling vc-git-log-edit-toggle-amend
  2013-09-14  9:47           ` martin rudalics
@ 2013-09-14 10:16             ` Eli Zaretskii
  2013-09-14 13:08               ` Dmitry Gutov
  0 siblings, 1 reply; 19+ messages in thread
From: Eli Zaretskii @ 2013-09-14 10:16 UTC (permalink / raw)
  To: martin rudalics; +Cc: 15365, dgutov

> Date: Sat, 14 Sep 2013 11:47:39 +0200
> From: martin rudalics <rudalics@gmx.at>
> CC: dgutov@yandex.ru, 15365@debbugs.gnu.org
> 
>  >> So where was Dmitry's cursor?
>  >
>  > At PT, whose value was 78.
> 
> So PT was not in the window and the fact that it apparently passed the
> earlier check (PT < CHARPOS (start)) means that PT was after the end of
> the window.  Is that conclusion correct?

No.  It was in the 3rd line:

  0: edges=(1,77),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
  1: edges=(77,78),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0
  2: edges=(78,79),enb=0,r2l=0,cont=0,trunc=(0,0),at_zv=0

As you see, the 3rd line begins with character position 78, and that's
where point is.  So the cursor should be displayed there.

>  > But I probably don't understand what you wanted to ask or tell.
> 
> Figure out why row_containing_pos (w, PT, r0, NULL, 0) returned 0.

That's easy: r0->enabled_p is zero (that's what enb=0 is about).  And
row_containing_pos immediately returns NULL in that case.

> And why try_window_id was supposed to abort in this case and why
> this abort didn't occur more frequently.

My analysis concluded that it wasn't supposed to abort, just not call
set_cursor_from_row in that case.  The call to abort was added long
ago, when row_containing_pos got a minor modification, and the person
who made the change thought that perhaps that change will cause
damage.  I think we can remove that call to abort now.  And if that
causes any regressions, there's a more drastic way of calling GIVE_UP
in that case.





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

* bug#15365: 24.3.50; Segfault when calling vc-git-log-edit-toggle-amend
  2013-09-14  8:02     ` Eli Zaretskii
  2013-09-14  8:34       ` martin rudalics
@ 2013-09-14 13:05       ` Dmitry Gutov
  2013-09-14 13:29         ` Eli Zaretskii
  2013-09-14 14:37         ` Stefan Monnier
  1 sibling, 2 replies; 19+ messages in thread
From: Dmitry Gutov @ 2013-09-14 13:05 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 15365

On 14.09.2013 11:02, Eli Zaretskii wrote:
> If you can reproduce this with bzr (I tried, but couldn't), please
> show the recipe.

There's no point trying, vc-bzr doesn't have a corresponding command. If 
the bug manifested during the usual commit procedure, I'd have noticed it.

> I have a number of local bzr repositories, and can
> create new ones at will, so I can use them for testing.  For any other
> VCS, I have only remote repositories on my machine, and I don't dare
> to run such tests for a remote repo.  If you can set up some scratch
> git repo for me at some URL, I will try using that to work on this
> bug.

Why scratch?
Since we're talking about a DVCS, you'd have to have a local repository 
clone to interact with it. So you'll end up with a local repo anyway.
I've seen the bug when trying to amend the latest commits in these two:

https://github.com/mooz/js2-mode.git
https://github.com/dgutov/diff-hl.git

> And yes, I try to stay away of git, and only use a handful of commands
> with it.  There are already people here whose refusal to use bzr is
> silently tolerated, so I don't see why my desire not to touch git any
> more than I have to should be met with a different reaction.

I don't think any of the people you mention are considered core 
contributors. And from casual contributors, many things can be tolerated 
(e.g. no tests, ChangeLog and NEWS entries), because a patch is often 
better than no patch.

> Thanks, this was "the missing link".  Please try running with the
> following change for a while, and see if it avoids the aborts, and
> does not produce any other redisplay problems:

Thank you, the crash seems to be fixed, no new problems so far.





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

* bug#15365: 24.3.50; Segfault when calling vc-git-log-edit-toggle-amend
  2013-09-14 10:16             ` Eli Zaretskii
@ 2013-09-14 13:08               ` Dmitry Gutov
  2013-09-14 13:45                 ` Eli Zaretskii
  0 siblings, 1 reply; 19+ messages in thread
From: Dmitry Gutov @ 2013-09-14 13:08 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 15365

On 14.09.2013 13:16, Eli Zaretskii wrote:
> My analysis concluded that it wasn't supposed to abort, just not call
> set_cursor_from_row in that case.  The call to abort was added long
> ago, when row_containing_pos got a minor modification, and the person
> who made the change thought that perhaps that change will cause
> damage.  I think we can remove that call to abort now.  And if that
> causes any regressions, there's a more drastic way of calling GIVE_UP
> in that case.

Since that code is old, I wonder what could have changed lately.

I've been using `vc-git-log-edit-toggle-amend' without crashes for 
nearly a year now, since it's been added.





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

* bug#15365: 24.3.50; Segfault when calling vc-git-log-edit-toggle-amend
  2013-09-14 13:05       ` Dmitry Gutov
@ 2013-09-14 13:29         ` Eli Zaretskii
  2013-09-19  8:23           ` Eli Zaretskii
  2013-09-14 14:37         ` Stefan Monnier
  1 sibling, 1 reply; 19+ messages in thread
From: Eli Zaretskii @ 2013-09-14 13:29 UTC (permalink / raw)
  To: Dmitry Gutov; +Cc: 15365

> Date: Sat, 14 Sep 2013 16:05:27 +0300
> From: Dmitry Gutov <dgutov@yandex.ru>
> CC: 15365@debbugs.gnu.org
> 
> On 14.09.2013 11:02, Eli Zaretskii wrote:
> > If you can reproduce this with bzr (I tried, but couldn't), please
> > show the recipe.
> 
> There's no point trying, vc-bzr doesn't have a corresponding command.

Yes, but I didn't know that until I tried.

> > I have a number of local bzr repositories, and can
> > create new ones at will, so I can use them for testing.  For any other
> > VCS, I have only remote repositories on my machine, and I don't dare
> > to run such tests for a remote repo.  If you can set up some scratch
> > git repo for me at some URL, I will try using that to work on this
> > bug.
> 
> Why scratch?

Because it could be messed up by the testing.

> Since we're talking about a DVCS, you'd have to have a local repository 
> clone to interact with it. So you'll end up with a local repo anyway.

I don't know how to make sure my commits are never pushed.  I'm simply
too afraid of git, sorry.  I have a very simple workflow, which works
with a couple of git repositories I need to track for the projects
that use it to which I contribute.  It took me a while to set up that
workflow, including a couple of aliases I needed to keep me sane, and
I'm trying very hard not to deviate from that workflow.

> > And yes, I try to stay away of git, and only use a handful of commands
> > with it.  There are already people here whose refusal to use bzr is
> > silently tolerated, so I don't see why my desire not to touch git any
> > more than I have to should be met with a different reaction.
> 
> I don't think any of the people you mention are considered core 
> contributors.

I don't see the importance of this distinction: committing from git,
or even using git, is not a requirement for core contributors to
Emacs, except for Elpa.

> > Thanks, this was "the missing link".  Please try running with the
> > following change for a while, and see if it avoids the aborts, and
> > does not produce any other redisplay problems:
> 
> Thank you, the crash seems to be fixed, no new problems so far.

Thanks.  Let's wait for a few days, and if you see no adverse effects,
I will commit the changes.





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

* bug#15365: 24.3.50; Segfault when calling vc-git-log-edit-toggle-amend
  2013-09-14 13:08               ` Dmitry Gutov
@ 2013-09-14 13:45                 ` Eli Zaretskii
  2013-09-15  3:01                   ` Dmitry Gutov
  0 siblings, 1 reply; 19+ messages in thread
From: Eli Zaretskii @ 2013-09-14 13:45 UTC (permalink / raw)
  To: Dmitry Gutov; +Cc: 15365

> Date: Sat, 14 Sep 2013 16:08:17 +0300
> From: Dmitry Gutov <dgutov@yandex.ru>
> CC: martin rudalics <rudalics@gmx.at>, 15365@debbugs.gnu.org
> 
> On 14.09.2013 13:16, Eli Zaretskii wrote:
> > My analysis concluded that it wasn't supposed to abort, just not call
> > set_cursor_from_row in that case.  The call to abort was added long
> > ago, when row_containing_pos got a minor modification, and the person
> > who made the change thought that perhaps that change will cause
> > damage.  I think we can remove that call to abort now.  And if that
> > causes any regressions, there's a more drastic way of calling GIVE_UP
> > in that case.
> 
> Since that code is old, I wonder what could have changed lately.

I don't know, but the amount of display-related changes committed
lately is very large.

In any case, I don't see why try_window_id should be unable to handle
the case of all matrix rows being not enabled.  We must not call
set_cursor_from_row with a NULL row, because that function cannot
tolerate such situations; but other than that, I cannot find any
reason for not handling such matrices, let alone aborting.

> I've been using `vc-git-log-edit-toggle-amend' without crashes for 
> nearly a year now, since it's been added.

If you can identify the last revision where this abort didn't happen,
I could try figuring out what changed.





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

* bug#15365: 24.3.50; Segfault when calling vc-git-log-edit-toggle-amend
  2013-09-14 13:05       ` Dmitry Gutov
  2013-09-14 13:29         ` Eli Zaretskii
@ 2013-09-14 14:37         ` Stefan Monnier
  1 sibling, 0 replies; 19+ messages in thread
From: Stefan Monnier @ 2013-09-14 14:37 UTC (permalink / raw)
  To: Dmitry Gutov; +Cc: 15365

>> silently tolerated, so I don't see why my desire not to touch git any
>> more than I have to should be met with a different reaction.
> I don't think any of the people you mention are considered core
> contributors. And from casual contributors, many things can be tolerated

Let's please not get into this discussion.  Thank you.


        Stefan





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

* bug#15365: 24.3.50; Segfault when calling vc-git-log-edit-toggle-amend
  2013-09-14 13:45                 ` Eli Zaretskii
@ 2013-09-15  3:01                   ` Dmitry Gutov
  2013-09-15  6:20                     ` Eli Zaretskii
  0 siblings, 1 reply; 19+ messages in thread
From: Dmitry Gutov @ 2013-09-15  3:01 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 15365

On 14.09.2013 16:45, Eli Zaretskii wrote:
>> I've been using `vc-git-log-edit-toggle-amend' without crashes for
>> nearly a year now, since it's been added.
>
> If you can identify the last revision where this abort didn't happen,
> I could try figuring out what changed.

It's 114149.

(TIL that 'git bisect', unlike its Bazaar counterpart, supports 
filtering commits by files they touched. xdisp.c, in this example).

On 14.09.2013 16:29, Eli Zaretskii wrote:
 >> Why scratch?
 >
 > Because it could be messed up by the testing.

None of GitHub repositories are publicly writable, so there's zero 
danger of that.

 > I don't know how to make sure my commits are never pushed.

Aside from you not having commit rights, Git doesn't have anything 
analogous to Bzr's bound branches built-in, so 'git push' always has to 
be called explicitly (or one can write a custom hook).

To reproduce this bug, the only git command you'd have to type is 'git 
clone', then edit some file inside, then `C-x v v' and `C-c C-e'.

In all likelihood, though, you won't be able to reproduce it, since I 
can't do that starting from 'emacs -Q' either. Sorry about not trying 
that up until now.





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

* bug#15365: 24.3.50; Segfault when calling vc-git-log-edit-toggle-amend
  2013-09-15  3:01                   ` Dmitry Gutov
@ 2013-09-15  6:20                     ` Eli Zaretskii
  2013-09-15 14:53                       ` Dmitry Gutov
  0 siblings, 1 reply; 19+ messages in thread
From: Eli Zaretskii @ 2013-09-15  6:20 UTC (permalink / raw)
  To: Dmitry Gutov; +Cc: 15365

> Date: Sun, 15 Sep 2013 06:01:29 +0300
> From: Dmitry Gutov <dgutov@yandex.ru>
> CC: rudalics@gmx.at, 15365@debbugs.gnu.org
> 
> On 14.09.2013 16:45, Eli Zaretskii wrote:
> >> I've been using `vc-git-log-edit-toggle-amend' without crashes for
> >> nearly a year now, since it's been added.
> >
> > If you can identify the last revision where this abort didn't happen,
> > I could try figuring out what changed.
> 
> It's 114149.

Thanks, I will have a look.

Do the situations that triggered the bug involve font changes?  (The
revision you pointed to made tracking of font changes be per frame,
rather than global.)

In any case, that revision was about making redisplay optimizations
more aggressive, so it is small wonder that try_window_id, which is
part of those optimizations, is now called in situations where
previously it wasn't.  IOW, it is quite possible that there's nothing
wrong with try_window_id being invoked in these situations.

> (TIL that 'git bisect', unlike its Bazaar counterpart, supports 
> filtering commits by files they touched. xdisp.c, in this example).

The display engine is not limited to xdisp.c; dispnew.c and
dispextern.h are important parts of it, and sometimes window.c and the
display-specific back-ends (xterm.c and xfns.c for X and similarly for
w32 and NS) are also involved.

>  >> Why scratch?
>  >
>  > Because it could be messed up by the testing.
> 
> None of GitHub repositories are publicly writable, so there's zero 
> danger of that.

Thanks, I didn't know that.  (Of course, I never had to use GitHub,
either.)

>  > I don't know how to make sure my commits are never pushed.
> 
> Aside from you not having commit rights, Git doesn't have anything 
> analogous to Bzr's bound branches built-in, so 'git push' always has to 
> be called explicitly (or one can write a custom hook).

I know about "git push" vs "git commit".  What I didn't know is what
exactly do the Emacs commands you used do, in git terms, and how does
that relate to commit and push and the myriad of their options.  The
only thing that was clear to me was that a commit is required, because
that's what "C-x v v" does in a modified buffer.  I know nothing about
"C-c C-e" in that context.

And even if I knew that "push" is not involved, committing to a
repository that tracks upstream development (which is all I do with
git) would need some way to subsequently un-commit that, something I
don't know how to do with git.  I didn't want to screw up my work on
GNU Make and Gawk, I'm sure you will understand.





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

* bug#15365: 24.3.50; Segfault when calling vc-git-log-edit-toggle-amend
  2013-09-15  6:20                     ` Eli Zaretskii
@ 2013-09-15 14:53                       ` Dmitry Gutov
  0 siblings, 0 replies; 19+ messages in thread
From: Dmitry Gutov @ 2013-09-15 14:53 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 15365

On 15.09.2013 09:20, Eli Zaretskii wrote:
> Do the situations that triggered the bug involve font changes?

Not to my knowledge, no.

> In any case, that revision was about making redisplay optimizations
> more aggressive, so it is small wonder that try_window_id, which is
> part of those optimizations, is now called in situations where
> previously it wasn't.  IOW, it is quite possible that there's nothing
> wrong with try_window_id being invoked in these situations.

I see.

>> (TIL that 'git bisect', unlike its Bazaar counterpart, supports
>> filtering commits by files they touched. xdisp.c, in this example).
>
> The display engine is not limited to xdisp.c; dispnew.c and
> dispextern.h are important parts of it, and sometimes window.c and the
> display-specific back-ends (xterm.c and xfns.c for X and similarly for
> w32 and NS) are also involved.

I figured that most changes to the display engine would still touch 
xdisp.c, though maybe it was just a lucky guess.

>> None of GitHub repositories are publicly writable, so there's zero
>> danger of that.
>
> Thanks, I didn't know that.  (Of course, I never had to use GitHub,
> either.)

I think it's the same with most of the project hostings. Such as 
Savannah, for example.

> I know about "git push" vs "git commit".  What I didn't know is what
> exactly do the Emacs commands you used do, in git terms, and how does
> that relate to commit and push and the myriad of their options.  The
> only thing that was clear to me was that a commit is required, because
> that's what "C-x v v" does in a modified buffer.  I know nothing about
> "C-c C-e" in that context.

`C-x v v` won't perform the commit until you press `C-c C-c`.

`vc-git-log-edit-toggle-amend` works in a Log-Edit buffer. It just 
toggles the value of the "Amend" header and inserts the last commit's 
message, so that the user can edit it before committing.

> And even if I knew that "push" is not involved, committing to a
> repository that tracks upstream development (which is all I do with
> git) would need some way to subsequently un-commit that, something I
> don't know how to do with git.  I didn't want to screw up my work on
> GNU Make and Gawk, I'm sure you will understand.

Sure. But just in case you're eventually going to make time to study 
Git, 'git reset' is the command you're looking for.

And speaking of experimenting, you can just create a new local 
repository, not tied to any remotes, with 'git init'.





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

* bug#15365: 24.3.50; Segfault when calling vc-git-log-edit-toggle-amend
  2013-09-14 13:29         ` Eli Zaretskii
@ 2013-09-19  8:23           ` Eli Zaretskii
  2013-09-22  5:00             ` Dmitry Gutov
  0 siblings, 1 reply; 19+ messages in thread
From: Eli Zaretskii @ 2013-09-19  8:23 UTC (permalink / raw)
  To: dgutov; +Cc: 15365

> Date: Sat, 14 Sep 2013 16:29:02 +0300
> From: Eli Zaretskii <eliz@gnu.org>
> Cc: 15365@debbugs.gnu.org
> 
> > > Thanks, this was "the missing link".  Please try running with the
> > > following change for a while, and see if it avoids the aborts, and
> > > does not produce any other redisplay problems:
> > 
> > Thank you, the crash seems to be fixed, no new problems so far.
> 
> Thanks.  Let's wait for a few days, and if you see no adverse effects,
> I will commit the changes.

Any news?  If you are running with the change since 5 days ago, and
saw no adverse effects, I'd like to commit the change.

Thanks.





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

* bug#15365: 24.3.50; Segfault when calling vc-git-log-edit-toggle-amend
  2013-09-19  8:23           ` Eli Zaretskii
@ 2013-09-22  5:00             ` Dmitry Gutov
  2013-09-22  7:14               ` Eli Zaretskii
  0 siblings, 1 reply; 19+ messages in thread
From: Dmitry Gutov @ 2013-09-22  5:00 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 15365

Eli Zaretskii <eliz@gnu.org> writes:

> Any news?  If you are running with the change since 5 days ago, and
> saw no adverse effects, I'd like to commit the change.

Yes, it works fine, no crashes since.

Please install, and mark this bug as closed.





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

* bug#15365: 24.3.50; Segfault when calling vc-git-log-edit-toggle-amend
  2013-09-22  5:00             ` Dmitry Gutov
@ 2013-09-22  7:14               ` Eli Zaretskii
  0 siblings, 0 replies; 19+ messages in thread
From: Eli Zaretskii @ 2013-09-22  7:14 UTC (permalink / raw)
  To: Dmitry Gutov; +Cc: 15365-done

> From: Dmitry Gutov <dgutov@yandex.ru>
> Cc: 15365@debbugs.gnu.org
> Date: Sun, 22 Sep 2013 08:00:25 +0300
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> > Any news?  If you are running with the change since 5 days ago, and
> > saw no adverse effects, I'd like to commit the change.
> 
> Yes, it works fine, no crashes since.
> 
> Please install, and mark this bug as closed.

Done (trunk revision 114425).

Thanks.





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

end of thread, other threads:[~2013-09-22  7:14 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-09-13 11:55 bug#15365: 24.3.50; Segfault when calling vc-git-log-edit-toggle-amend Dmitry Gutov
2013-09-13 13:18 ` Eli Zaretskii
2013-09-14  1:12   ` Dmitry Gutov
2013-09-14  8:02     ` Eli Zaretskii
2013-09-14  8:34       ` martin rudalics
2013-09-14  8:59         ` Eli Zaretskii
2013-09-14  9:47           ` martin rudalics
2013-09-14 10:16             ` Eli Zaretskii
2013-09-14 13:08               ` Dmitry Gutov
2013-09-14 13:45                 ` Eli Zaretskii
2013-09-15  3:01                   ` Dmitry Gutov
2013-09-15  6:20                     ` Eli Zaretskii
2013-09-15 14:53                       ` Dmitry Gutov
2013-09-14 13:05       ` Dmitry Gutov
2013-09-14 13:29         ` Eli Zaretskii
2013-09-19  8:23           ` Eli Zaretskii
2013-09-22  5:00             ` Dmitry Gutov
2013-09-22  7:14               ` Eli Zaretskii
2013-09-14 14:37         ` Stefan Monnier

Code repositories for project(s) associated with this public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).