unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#28710: 27.0.50; eassert failure in maybe_produce_line_number
@ 2017-10-04 22:31 Alex
  2017-10-05  8:30 ` Eli Zaretskii
  0 siblings, 1 reply; 18+ messages in thread
From: Alex @ 2017-10-04 22:31 UTC (permalink / raw)
  To: 28710

[-- Attachment #1: Type: text/plain, Size: 672 bytes --]


I can so far only produce this with magit[1], but I've attached the output
of "bt full" below.

1. Open up a diff in magit (e.g., M-x magit-status then RET on the first
line).
2. Press RET on an added line.
3. In the opened buffer, do M-: (setq display-line-numbers t)
4. C-x b RET
5. Press RET on the line again.

If I use (e)debug to try and trace the function call, then for whatever
reason it doesn't crash at step 5, but a call to `list-buffers' will
then crash. It also doesn't crash if I use (call-interactively
#'magit-diff-visit-file) rather than hitting RET, even though RET is
bound to `magit-diff-visit-file'.

Footnotes:

[1] https://github.com/magit/magit


[-- Attachment #2: bt full --]
[-- Type: text/plain, Size: 76255 bytes --]

#0  0x00007f31a265ef9f in raise (sig=6) at ../sysdeps/unix/sysv/linux/raise.c:51
        set = {__val = {402653184, 0, 0, 0, 0, 0, 0, 1095216725760, 7311138192406574195, 3258134669403762035, 8031173095775809139, 7596496585268228909, 0, 0, 123808, 139851179295787}}
        pid = <optimized out>
        tid = <optimized out>
#1  0x000000000058c5d5 in terminate_due_to_signal (sig=6, backtrace_limit=2147483647) at emacs.c:394
#2  0x00000000006233ad in die (msg=0x72ad60 "it->glyph_row == NULL || it->glyph_row->used[TEXT_AREA] == 0", file=0x726c3d "xdisp.c", line=21061) at alloc.c:7419
#3  0x0000000000483af6 in maybe_produce_line_number (it=0x7ffef1f01900) at xdisp.c:21061
        last_line = 3066
        start_from = 121910
        bytepos = 123808
        this_line = 3129
        first_time = true
        beg_byte = 1
        z_byte = 149563
        itdata = 0x0
        tem_it = {window = {i = 22924341}, w = 0x15dcc30 <bss_sbrk_buffer+8131984>, f = 0x15dbc30 <bss_sbrk_buffer+8127888>, method = GET_FROM_BUFFER, stop_charpos = 0, prev_stop = 0, base_level_stop = 0, end_charpos = 0, s = 0x0, string_nchars = 0, redisplay_end_trigger_charpos = 0, multibyte_p = true, header_line_p = false, string_from_display_prop_p = false, string_from_prefix_prop_p = false, from_disp_prop_p = false, ellipsis_p = false, avoid_cursor_p = true, dp = 0x0, dpvec = 0x0, dpend = 0x0, dpvec_char_len = 0, dpvec_face_id = 0, saved_face_id = 0, ctl_chars = {{i = 0} <repeats 16 times>}, start = {pos = {charpos = 0, bytepos = 0}, overlay_string_index = 0, string_pos = {charpos = 0, bytepos = 0}, dpvec_index = 0}, current = {pos = {charpos = 0, bytepos = 0}, overlay_string_index = -1, string_pos = {charpos = -1, bytepos = -1}, dpvec_index = -1}, n_overlay_strings = 0, overlay_strings_charpos = 0, overlay_strings = {{i = 0} <repeats 16 times>}, string_overlays = {{i = 0} <repeats 16 times>}, string = {i = 0}, from_overlay = {i = 0}, stack = {{string = {i = 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 = {i = 0}, slice = {x = {i = 0}, y = {i = 0}, width = {i = 0}, height = {i = 0}}, image_id = 0}, stretch = {object = {i = 0}}, xwidget = {object = {i = 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 = {i = 0}, area = LEFT_MARGIN_AREA, method = GET_FROM_BUFFER, paragraph_embedding = NEUTRAL_DIR, multibyte_p = false, string_from_display_prop_p = false, string_from_prefix_prop_p = false, display_ellipsis_p = false, avoid_cursor_p = false, bidi_p = false, from_disp_prop_p = false, line_wrap = TRUNCATE, voffset = 0, space_width = {i = 0}, font_height = {i = 0}}, {string = {i = 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 = {i = 0}, slice = {x = {i = 0}, y = {i = 0}, width = {i = 0}, height = {i = 0}}, image_id = 0}, stretch = {object = {i = 0}}, xwidget = {object = {i = 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 = {i = 0}, area = LEFT_MARGIN_AREA, method = GET_FROM_BUFFER, paragraph_embedding = NEUTRAL_DIR, multibyte_p = false, string_from_display_prop_p = false, string_from_prefix_prop_p = false, display_ellipsis_p = false, avoid_cursor_p = false, bidi_p = false, from_disp_prop_p = false, line_wrap = TRUNCATE, voffset = 0, space_width = {i = 0}, font_height = {i = 0}}, {string = {i = 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 = {i = 0}, slice = {x = {i = 0}, y = {i = 0}, width = {i = 0}, height = {i = 0}}, image_id = 0}, stretch = {object = {i = 0}}, xwidget = {object = {i = 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 = {i = 0}, area = LEFT_MARGIN_AREA, method = GET_FROM_BUFFER, paragraph_embedding = NEUTRAL_DIR, multibyte_p = false, string_from_display_prop_p = false, string_from_prefix_prop_p = false, display_ellipsis_p = false, avoid_cursor_p = false, bidi_p = false, from_disp_prop_p = false, line_wrap = TRUNCATE, voffset = 0, space_width = {i = 0}, font_height = {i = 0}}, {string = {i = 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 = {i = 0}, slice = {x = {i = 0}, y = {i = 0}, width = {i = 0}, height = {i = 0}}, image_id = 0}, stretch = {object = {i = 0}}, xwidget = {object = {i = 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 = {i = 0}, area = LEFT_MARGIN_AREA, method = GET_FROM_BUFFER, paragraph_embedding = NEUTRAL_DIR, multibyte_p = false, string_from_display_prop_p = false, string_from_prefix_prop_p = false, display_ellipsis_p = false, avoid_cursor_p = false, bidi_p = false, from_disp_prop_p = false, line_wrap = TRUNCATE, voffset = 0, space_width = {i = 0}, font_height = {i = 0}}, {string = {i = 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 = {i = 0}, slice = {x = {i = 0}, y = {i = 0}, width = {i = 0}, height = {i = 0}}, image_id = 0}, stretch = {object = {i = 0}}, xwidget = {object = {i = 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 = {i = 0}, area = LEFT_MARGIN_AREA, method = GET_FROM_BUFFER, paragraph_embedding = NEUTRAL_DIR, multibyte_p = false, string_from_display_prop_p = false, string_from_prefix_prop_p = false, display_ellipsis_p = false, avoid_cursor_p = false, bidi_p = false, from_disp_prop_p = false, line_wrap = TRUNCATE, voffset = 0, space_width = {i = 0}, font_height = {i = 0}}}, sp = 0, selective = 0, what = IT_CHARACTER, face_id = 35, selective_display_ellipsis_p = true, ctl_arrow_p = true, face_box_p = false, start_of_box_run_p = false, end_of_box_run_p = false, overlay_strings_at_end_processed_p = false, ignore_overlay_strings_at_pos_p = false, glyph_not_available_p = false, starts_in_middle_of_char_p = false, face_before_selective_p = false, constrain_row_ascent_descent_p = false, line_wrap = WINDOW_WRAP, base_face_id = 0, c = 32, len = 1, cmp_it = {stop_pos = 0, id = -1, ch = 0, rule_idx = 0, lookback = 0, nglyphs = 0, reversed_p = false, charpos = 0, nchars = 0, nbytes = 0, from = 0, to = 0, width = 0}, char_to_display = 32, glyphless_method = GLYPHLESS_DISPLAY_THIN_SPACE, image_id = 0, xwidget = 0x0, slice = {x = {i = 0}, y = {i = 0}, width = {i = 0}, height = {i = 0}}, space_width = {i = 0}, voffset = 0, tab_width = 8, font_height = {i = 0}, object = {i = 0}, position = {charpos = -1, bytepos = -1}, truncation_pixel_width = 0, continuation_pixel_width = 9, first_visible_x = 0, last_visible_x = 720, last_visible_y = 288, extra_line_spacing = 0, max_extra_line_spacing = 0, override_ascent = -1, override_descent = 0, override_boff = 0, glyph_row = 0xd8a280 <scratch_glyph_row>, area = TEXT_AREA, nglyphs = 1, pixel_width = 9, ascent = 14, descent = 4, max_ascent = 14, max_descent = 4, phys_ascent = 0, phys_descent = 0, max_phys_ascent = 12, max_phys_descent = 0, current_x = 54, continuation_lines_width = 0, eol_pos = {charpos = 0, bytepos = 0}, current_y = 0, first_vpos = 0, vpos = 0, hpos = 0, lnum = 0, lnum_bytepos = 0, lnum_width = 0, lnum_pixel_width = 0, pt_lnum = 0, left_user_fringe_bitmap = 0, right_user_fringe_bitmap = 0, left_user_fringe_face_id = 0, right_user_fringe_face_id = 0, bidi_p = true, bidi_it = {bytepos = 0, charpos = 0, ch = 0, nchars = 0, ch_len = 0, type = WEAK_EN, type_after_wn = UNKNOWN_BT, orig_type = UNKNOWN_BT, resolved_level = 2 '\002', isolate_level = 0 '\000', invalid_levels = 0, invalid_isolates = 0, prev = {charpos = 0, type = UNKNOWN_BT, orig_type = UNKNOWN_BT}, last_strong = {charpos = 0, type = UNKNOWN_BT, orig_type = UNKNOWN_BT}, next_for_neutral = {charpos = 0, type = UNKNOWN_BT, orig_type = UNKNOWN_BT}, prev_for_neutral = {charpos = 0, type = UNKNOWN_BT, orig_type = UNKNOWN_BT}, next_for_ws = {charpos = 0, type = UNKNOWN_BT, orig_type = UNKNOWN_BT}, bracket_pairing_pos = 0, bracket_enclosed_type = UNKNOWN_BT, next_en_pos = 0, next_en_type = UNKNOWN_BT, sos = NEUTRAL_DIR, scan_dir = 0, disp_pos = 0, disp_prop = 0, stack_idx = 0, level_stack = {{next_for_neutral_pos = 0, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'} <repeats 128 times>}, string = {lstring = {i = 0}, s = 0x0, schars = 0, bufpos = 0, from_disp_str = false, unibyte = false}, w = 0x15dcc30 <bss_sbrk_buffer+8131984>, paragraph_dir = NEUTRAL_DIR, separator_limit = 0, first_elt = false, new_paragraph = false, frame_window_p = false}, paragraph_embedding = L2R}
        lnum_buf = " 3130 \000\000\000\000\000\000\000\000\000\000p\360\357\361\376"
        beyond_zv = false
        lnum_offset = -1
        lnum_face_id = 35
        current_lnum_face_id = 35
        lnum_to_display = 3130
        n_glyphs_before = 5
        g = 0xd8a380 <scratch_glyphs>
        e = 0xd8a4a0 <scratch_glyphs+288>
        p = 0x39c8400
        u = 0x3bb2022
#4  0x00000000004844c0 in display_line (it=0x7ffef1f01900, cursor_vpos=9) at xdisp.c:21276
        row = 0x3bb2000
        overlay_arrow_string = {i = 49296}
        wrap_it = {window = {i = 0}, w = 0x49ff1f00578, f = 0x7ffef1f00450, method = 5418844, stop_charpos = 0, prev_stop = 0, base_level_stop = 0, end_charpos = 22416960, s = 0x7ffef1f004f0 "0\274]\001", string_nchars = 6599642, redisplay_end_trigger_charpos = 0, multibyte_p = false, header_line_p = false, string_from_display_prop_p = false, string_from_prefix_prop_p = true, from_disp_prop_p = true, ellipsis_p = true, avoid_cursor_p = true, dp = 0x1, dpvec = 0xdf7a80 <lispsym>, dpend = 0x9d4140 <Sterminal_live_p>, dpvec_char_len = 0, dpvec_face_id = 0, saved_face_id = 14202632, ctl_chars = {{i = 5791821}, {i = 10305861}, {i = 0}, {i = 140732957464608}, {i = 4835510}, {i = 30070567948}, {i = 140732957464832}, {i = 92}, {i = 140732957459832}, {i = 22924341}, {i = 22924336}, {i = 22920240}, {i = 0}, {i = 0}, {i = 0}, {i = 0}}, start = {pos = {charpos = 0, bytepos = 0}, overlay_string_index = 0, string_pos = {charpos = 0, bytepos = 1}, 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 = {{i = 0} <repeats 16 times>}, string_overlays = {{i = 0} <repeats 16 times>}, string = {i = 0}, from_overlay = {i = 0}, stack = {{string = {i = 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 = {i = 0}, slice = {x = {i = 0}, y = {i = 0}, width = {i = 0}, height = {i = 0}}, image_id = 0}, stretch = {object = {i = 0}}, xwidget = {object = {i = 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 = {i = 0}, area = LEFT_MARGIN_AREA, method = GET_FROM_BUFFER, paragraph_embedding = NEUTRAL_DIR, multibyte_p = false, string_from_display_prop_p = false, string_from_prefix_prop_p = false, display_ellipsis_p = false, avoid_cursor_p = false, bidi_p = false, from_disp_prop_p = false, line_wrap = TRUNCATE, voffset = 0, space_width = {i = 0}, font_height = {i = 0}}, {string = {i = 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 = {i = 0}, slice = {x = {i = 0}, y = {i = 0}, width = {i = 0}, height = {i = 0}}, image_id = 0}, stretch = {object = {i = 0}}, xwidget = {object = {i = 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 = {i = 0}, area = LEFT_MARGIN_AREA, method = GET_FROM_BUFFER, paragraph_embedding = NEUTRAL_DIR, multibyte_p = false, string_from_display_prop_p = false, string_from_prefix_prop_p = false, display_ellipsis_p = false, avoid_cursor_p = false, bidi_p = false, from_disp_prop_p = false, line_wrap = TRUNCATE, voffset = 0, space_width = {i = 0}, font_height = {i = 0}}, {string = {i = 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 = {i = 0}, slice = {x = {i = 0}, y = {i = 0}, width = {i = 0}, height = {i = 0}}, image_id = 0}, stretch = {object = {i = 0}}, xwidget = {object = {i = 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 = {i = 0}, area = LEFT_MARGIN_AREA, method = GET_FROM_BUFFER, paragraph_embedding = NEUTRAL_DIR, multibyte_p = false, string_from_display_prop_p = false, string_from_prefix_prop_p = false, display_ellipsis_p = false, avoid_cursor_p = false, bidi_p = false, from_disp_prop_p = false, line_wrap = TRUNCATE, voffset = 0, space_width = {i = 0}, font_height = {i = 0}}, {string = {i = 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 = {i = 0}, slice = {x = {i = 0}, y = {i = 0}, width = {i = 0}, height = {i = 0}}, image_id = 0}, stretch = {object = {i = 0}}, xwidget = {object = {i = 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 = {i = 0}, area = LEFT_MARGIN_AREA, method = GET_FROM_BUFFER, paragraph_embedding = NEUTRAL_DIR, multibyte_p = false, string_from_display_prop_p = false, string_from_prefix_prop_p = false, display_ellipsis_p = false, avoid_cursor_p = false, bidi_p = false, from_disp_prop_p = false, line_wrap = TRUNCATE, voffset = 0, space_width = {i = 0}, font_height = {i = 0}}, {string = {i = 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 = {i = 0}, slice = {x = {i = 0}, y = {i = 0}, width = {i = 0}, height = {i = 0}}, image_id = 0}, stretch = {object = {i = 0}}, xwidget = {object = {i = 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 = {i = 0}, area = LEFT_MARGIN_AREA, method = GET_FROM_BUFFER, paragraph_embedding = NEUTRAL_DIR, multibyte_p = false, string_from_display_prop_p = false, string_from_prefix_prop_p = false, display_ellipsis_p = false, avoid_cursor_p = false, bidi_p = false, from_disp_prop_p = false, line_wrap = TRUNCATE, voffset = 0, space_width = {i = 0}, font_height = {i = 0}}}, sp = 0, selective = 0, what = IT_CHARACTER, face_id = 0, selective_display_ellipsis_p = false, ctl_arrow_p = false, face_box_p = false, start_of_box_run_p = false, end_of_box_run_p = false, overlay_strings_at_end_processed_p = false, ignore_overlay_strings_at_pos_p = false, glyph_not_available_p = false, starts_in_middle_of_char_p = false, face_before_selective_p = false, constrain_row_ascent_descent_p = false, line_wrap = TRUNCATE, base_face_id = 0, c = 0, len = 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}, char_to_display = 0, glyphless_method = GLYPHLESS_DISPLAY_THIN_SPACE, image_id = 0, xwidget = 0x0, slice = {x = {i = 0}, y = {i = 0}, width = {i = 0}, height = {i = 0}}, space_width = {i = 0}, voffset = 0, tab_width = 0, font_height = {i = 0}, object = {i = 0}, position = {charpos = 0, bytepos = 0}, truncation_pixel_width = 3, continuation_pixel_width = 0, first_visible_x = 2, last_visible_x = 0, last_visible_y = 92, extra_line_spacing = 1, max_extra_line_spacing = 0, override_ascent = 0, override_descent = 0, override_boff = -1, glyph_row = 0x0, area = LEFT_MARGIN_AREA, nglyphs = 0, pixel_width = 0, ascent = 0, descent = 0, max_ascent = 0, max_descent = 0, phys_ascent = 0, phys_descent = 0, max_phys_ascent = 0, max_phys_descent = 0, current_x = 0, continuation_lines_width = 0, eol_pos = {charpos = 92, bytepos = 0}, current_y = 0, first_vpos = 0, vpos = 0, hpos = 0, lnum = 0, lnum_bytepos = 0, lnum_width = 0, lnum_pixel_width = 0, pt_lnum = 0, left_user_fringe_bitmap = 0, right_user_fringe_bitmap = 8, left_user_fringe_face_id = 0, right_user_fringe_face_id = 0, bidi_p = false, bidi_it = {bytepos = 0, charpos = 0, ch = 0, nchars = 0, ch_len = 0, type = UNKNOWN_BT, type_after_wn = UNKNOWN_BT, orig_type = 4294967295, resolved_level = 0 '\000', isolate_level = 0 '\000', invalid_levels = 0, invalid_isolates = 0, prev = {charpos = 4294967296, type = LRO, orig_type = RLI}, last_strong = {charpos = 60129542148, type = WEAK_AN, orig_type = PDF}, next_for_neutral = {charpos = 51539607553, type = STRONG_L, orig_type = UNKNOWN_BT}, prev_for_neutral = {charpos = 0, type = UNKNOWN_BT, orig_type = UNKNOWN_BT}, next_for_ws = {charpos = 0, type = UNKNOWN_BT, orig_type = UNKNOWN_BT}, bracket_pairing_pos = 0, bracket_enclosed_type = UNKNOWN_BT, next_en_pos = 0, next_en_type = UNKNOWN_BT, sos = NEUTRAL_DIR, scan_dir = 0, disp_pos = 0, disp_prop = 0, stack_idx = 0, level_stack = {{next_for_neutral_pos = 0, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'} <repeats 69 times>, {next_for_neutral_pos = 0, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 71334928, next_for_neutral_type = 0, last_strong_type = 5, prev_for_neutral_type = 5, level = 240 '\360', flags = 241 '\361'}, {next_for_neutral_pos = 5794744, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 71334933, next_for_neutral_type = 0, last_strong_type = 1, prev_for_neutral_type = 6, level = 240 '\360', flags = 241 '\361'}, {next_for_neutral_pos = 71334928, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 6, level = 240 '\360', flags = 241 '\361'}, {next_for_neutral_pos = 5807294, next_for_neutral_type = 5, last_strong_type = 2, prev_for_neutral_type = 0, level = 64 '@', flags = 4 '\004'}, {next_for_neutral_pos = 140732957463456, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 2, level = 223 '\337', flags = 0 '\000'}, {next_for_neutral_pos = 72414064, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 4, level = 240 '\360', flags = 241 '\361'}, {next_for_neutral_pos = 140732957464336, next_for_neutral_type = 5, last_strong_type = 2, prev_for_neutral_type = 6, level = 69 'E', flags = 0 '\000'}, {next_for_neutral_pos = 123808, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 4, level = 240 '\360', flags = 241 '\361'}, {next_for_neutral_pos = 140732957463536, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 140732957463536, next_for_neutral_type = 5, last_strong_type = 1, prev_for_neutral_type = 1, level = 88 'X', flags = 0 '\000'}, {next_for_neutral_pos = 5807294, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 140732957463616, next_for_neutral_type = 7, last_strong_type = 0, prev_for_neutral_type = 6, level = 101 'e', flags = 0 '\000'}, {next_for_neutral_pos = 71334928, next_for_neutral_type = 0, last_strong_type = 7, prev_for_neutral_type = 0, level = 240 '\360', flags = 241 '\361'}, {next_for_neutral_pos = 5794744, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 71334933, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 2, level = 223 '\337', flags = 0 '\000'}, {next_for_neutral_pos = 71334928, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 140732957463648, next_for_neutral_type = 5, last_strong_type = 1, prev_for_neutral_type = 1, level = 88 'X', flags = 0 '\000'}, {next_for_neutral_pos = 140732957463664, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 2, level = 223 '\337', flags = 0 '\000'}, {next_for_neutral_pos = 140732957463696, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 140732957463696, next_for_neutral_type = 5, last_strong_type = 1, prev_for_neutral_type = 1, level = 88 'X', flags = 0 '\000'}, {next_for_neutral_pos = 71334928, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 140732957463776, next_for_neutral_type = 7, last_strong_type = 0, prev_for_neutral_type = 6, level = 101 'e', flags = 0 '\000'}, {next_for_neutral_pos = 72689299, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 2, level = 223 '\337', flags = 0 '\000'}, {next_for_neutral_pos = 72689299, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 140732957463776, next_for_neutral_type = 5, last_strong_type = 1, prev_for_neutral_type = 1, level = 88 'X', flags = 0 '\000'}, {next_for_neutral_pos = 140732957463776, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 140732957463856, next_for_neutral_type = 3, last_strong_type = 3, prev_for_neutral_type = 1, level = 108 'l', flags = 0 '\000'}, {next_for_neutral_pos = 0, next_for_neutral_type = 0, last_strong_type = 7, prev_for_neutral_type = 5, level = 240 '\360', flags = 241 '\361'}, {next_for_neutral_pos = 16320, next_for_neutral_type = 3, last_strong_type = 2, prev_for_neutral_type = 4, level = 80 'P', flags = 4 '\004'}, {next_for_neutral_pos = 0, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 2, level = 223 '\337', flags = 0 '\000'}, {next_for_neutral_pos = 123808, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 15377944, next_for_neutral_type = 0, last_strong_type = 5, prev_for_neutral_type = 5, level = 240 '\360', flags = 241 '\361'}, {next_for_neutral_pos = 5794744, next_for_neutral_type = 3, last_strong_type = 2, prev_for_neutral_type = 4, level = 80 'P', flags = 4 '\004'}, {next_for_neutral_pos = 15377949, next_for_neutral_type = 0, last_strong_type = 2, prev_for_neutral_type = 1, level = 108 'l', flags = 0 '\000'}, {next_for_neutral_pos = 15377944, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 2, level = 223 '\337', flags = 0 '\000'}, {next_for_neutral_pos = 0, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 140732957463968, next_for_neutral_type = 5, last_strong_type = 1, prev_for_neutral_type = 1, level = 88 'X', flags = 0 '\000'}, {next_for_neutral_pos = 5796357, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 140732957464032, next_for_neutral_type = 6, last_strong_type = 3, prev_for_neutral_type = 4, level = 88 'X', flags = 0 '\000'}, {next_for_neutral_pos = 44, next_for_neutral_type = 5, last_strong_type = 3, prev_for_neutral_type = 0, level = 234 '\352', flags = 0 '\000'}, {next_for_neutral_pos = 0, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 2, level = 223 '\337', flags = 0 '\000'}, {next_for_neutral_pos = 124308, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 140732957464064, next_for_neutral_type = 5, last_strong_type = 1, prev_for_neutral_type = 1, level = 88 'X', flags = 0 '\000'}, {next_for_neutral_pos = 193037604368, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 140732957464320, next_for_neutral_type = 6, last_strong_type = 7, prev_for_neutral_type = 2, level = 109 'm', flags = 0 '\000'}, {next_for_neutral_pos = 140732957464128, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 124308, next_for_neutral_type = 4, last_strong_type = 7, prev_for_neutral_type = 6, level = 1 '\001', flags = 0 '\000'}, {next_for_neutral_pos = 123836, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 6, level = 240 '\360', flags = 241 '\361'}, {next_for_neutral_pos = 140732957464208, next_for_neutral_type = 7, last_strong_type = 0, prev_for_neutral_type = 6, level = 101 'e', flags = 0 '\000'}, {next_for_neutral_pos = 72689299, next_for_neutral_type = 1, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 0, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 140732957464208, next_for_neutral_type = 0, last_strong_type = 4, prev_for_neutral_type = 6, level = 1 '\001', flags = 0 '\000'}, {next_for_neutral_pos = 140732957464208, next_for_neutral_type = 2, last_strong_type = 3, prev_for_neutral_type = 0, level = 88 'X', flags = 4 '\004'}, {next_for_neutral_pos = 140732957464288, next_for_neutral_type = 1, last_strong_type = 7, prev_for_neutral_type = 0, level = 108 'l', flags = 0 '\000'}, {next_for_neutral_pos = 16320, next_for_neutral_type = 0, last_strong_type = 4, prev_for_neutral_type = 5, level = 240 '\360', flags = 241 '\361'}, {next_for_neutral_pos = 22176, next_for_neutral_type = 3, last_strong_type = 4, prev_for_neutral_type = 4, level = 81 'Q', flags = 4 '\004'}, {next_for_neutral_pos = 0, next_for_neutral_type = 3, last_strong_type = 4, prev_for_neutral_type = 4, level = 81 'Q', flags = 4 '\004'}}, string = {lstring = {i = 123808}, s = 0x460ac38 "\006", schars = 140732957464320, bufpos = 42956771197, from_disp_str = false, unibyte = false}, w = 0x0, paragraph_dir = (unknown: 4059043760), separator_limit = 4503202, first_elt = false, new_paragraph = false, frame_window_p = false}, paragraph_embedding = (unknown: 4059044096)}
        wrap_data = 0x0
        may_wrap = false
        wrap_x = 0
        wrap_row_used = -1
        wrap_row_ascent = 0
        wrap_row_height = 0
        wrap_row_phys_ascent = 0
        wrap_row_phys_height = 0
        wrap_row_extra_line_spacing = 0
        wrap_row_min_pos = 0
        wrap_row_min_bpos = 0
        wrap_row_max_pos = 0
        wrap_row_max_bpos = 0
        cvpos = 0
        min_pos = 149564
        max_pos = 0
        min_bpos = 0
        max_bpos = 0
        pending_handle_line_prefix = false
        header_line = 0
        hscroll_this_line = false
        first_visible_x = 0
        last_visible_x = 720
        x_incr = 0
        line_number_needed = true
#5  0x00000000004772b8 in try_window (window=..., pos=..., flags=1) at xdisp.c:17592
        w = 0x15dcc30 <bss_sbrk_buffer+8131984>
        it = {window = {i = 22924341}, w = 0x15dcc30 <bss_sbrk_buffer+8131984>, f = 0x15dbc30 <bss_sbrk_buffer+8127888>, method = GET_FROM_BUFFER, stop_charpos = 123809, prev_stop = 123808, base_level_stop = 0, end_charpos = 149563, s = 0x0, string_nchars = 0, redisplay_end_trigger_charpos = 0, multibyte_p = true, header_line_p = false, string_from_display_prop_p = false, string_from_prefix_prop_p = false, from_disp_prop_p = false, ellipsis_p = false, avoid_cursor_p = false, dp = 0x0, dpvec = 0x0, dpend = 0x0, dpvec_char_len = 0, dpvec_face_id = 0, saved_face_id = 0, ctl_chars = {{i = 0} <repeats 16 times>}, start = {pos = {charpos = 123808, bytepos = 123808}, overlay_string_index = -1, string_pos = {charpos = -1, bytepos = -1}, dpvec_index = -1}, current = {pos = {charpos = 123808, bytepos = 123808}, overlay_string_index = -1, string_pos = {charpos = -1, bytepos = -1}, dpvec_index = -1}, n_overlay_strings = 0, overlay_strings_charpos = 123808, overlay_strings = {{i = 0} <repeats 16 times>}, string_overlays = {{i = 0} <repeats 16 times>}, string = {i = 0}, from_overlay = {i = 0}, stack = {{string = {i = 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 = {i = 0}, slice = {x = {i = 0}, y = {i = 0}, width = {i = 0}, height = {i = 0}}, image_id = 0}, stretch = {object = {i = 0}}, xwidget = {object = {i = 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 = {i = 0}, area = LEFT_MARGIN_AREA, method = GET_FROM_BUFFER, paragraph_embedding = NEUTRAL_DIR, multibyte_p = false, string_from_display_prop_p = false, string_from_prefix_prop_p = false, display_ellipsis_p = false, avoid_cursor_p = false, bidi_p = false, from_disp_prop_p = false, line_wrap = TRUNCATE, voffset = 0, space_width = {i = 0}, font_height = {i = 0}}, {string = {i = 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 = {i = 0}, slice = {x = {i = 0}, y = {i = 0}, width = {i = 0}, height = {i = 0}}, image_id = 0}, stretch = {object = {i = 0}}, xwidget = {object = {i = 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 = {i = 0}, area = LEFT_MARGIN_AREA, method = GET_FROM_BUFFER, paragraph_embedding = NEUTRAL_DIR, multibyte_p = false, string_from_display_prop_p = false, string_from_prefix_prop_p = false, display_ellipsis_p = false, avoid_cursor_p = false, bidi_p = false, from_disp_prop_p = false, line_wrap = TRUNCATE, voffset = 0, space_width = {i = 0}, font_height = {i = 0}}, {string = {i = 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 = {i = 0}, slice = {x = {i = 0}, y = {i = 0}, width = {i = 0}, height = {i = 0}}, image_id = 0}, stretch = {object = {i = 0}}, xwidget = {object = {i = 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 = {i = 0}, area = LEFT_MARGIN_AREA, method = GET_FROM_BUFFER, paragraph_embedding = NEUTRAL_DIR, multibyte_p = false, string_from_display_prop_p = false, string_from_prefix_prop_p = false, display_ellipsis_p = false, avoid_cursor_p = false, bidi_p = false, from_disp_prop_p = false, line_wrap = TRUNCATE, voffset = 0, space_width = {i = 0}, font_height = {i = 0}}, {string = {i = 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 = {i = 0}, slice = {x = {i = 0}, y = {i = 0}, width = {i = 0}, height = {i = 0}}, image_id = 0}, stretch = {object = {i = 0}}, xwidget = {object = {i = 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 = {i = 0}, area = LEFT_MARGIN_AREA, method = GET_FROM_BUFFER, paragraph_embedding = NEUTRAL_DIR, multibyte_p = false, string_from_display_prop_p = false, string_from_prefix_prop_p = false, display_ellipsis_p = false, avoid_cursor_p = false, bidi_p = false, from_disp_prop_p = false, line_wrap = TRUNCATE, voffset = 0, space_width = {i = 0}, font_height = {i = 0}}, {string = {i = 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 = {i = 0}, slice = {x = {i = 0}, y = {i = 0}, width = {i = 0}, height = {i = 0}}, image_id = 0}, stretch = {object = {i = 0}}, xwidget = {object = {i = 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 = {i = 0}, area = LEFT_MARGIN_AREA, method = GET_FROM_BUFFER, paragraph_embedding = NEUTRAL_DIR, multibyte_p = false, string_from_display_prop_p = false, string_from_prefix_prop_p = false, display_ellipsis_p = false, avoid_cursor_p = false, bidi_p = false, from_disp_prop_p = false, line_wrap = TRUNCATE, voffset = 0, space_width = {i = 0}, font_height = {i = 0}}}, sp = 0, selective = 0, what = IT_CHARACTER, face_id = 0, selective_display_ellipsis_p = true, ctl_arrow_p = true, face_box_p = false, start_of_box_run_p = false, end_of_box_run_p = false, overlay_strings_at_end_processed_p = false, ignore_overlay_strings_at_pos_p = false, glyph_not_available_p = false, starts_in_middle_of_char_p = false, face_before_selective_p = false, constrain_row_ascent_descent_p = false, line_wrap = WINDOW_WRAP, base_face_id = 0, c = 64, len = 0, cmp_it = {stop_pos = 123836, id = -1, ch = -2, rule_idx = 0, lookback = 0, nglyphs = 0, 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, xwidget = 0x0, slice = {x = {i = 0}, y = {i = 0}, width = {i = 0}, height = {i = 0}}, space_width = {i = 0}, voffset = 0, tab_width = 8, font_height = {i = 0}, object = {i = 71334933}, position = {charpos = 123808, bytepos = 123808}, truncation_pixel_width = 0, continuation_pixel_width = 9, first_visible_x = 0, last_visible_x = 720, last_visible_y = 288, extra_line_spacing = 0, max_extra_line_spacing = 0, override_ascent = -1, override_descent = 0, override_boff = 0, glyph_row = 0x3bb2000, area = TEXT_AREA, nglyphs = 1, pixel_width = 0, ascent = 0, descent = 0, max_ascent = 0, max_descent = 0, phys_ascent = 0, phys_descent = 0, 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, lnum = 3129, lnum_bytepos = 123808, lnum_width = 4, lnum_pixel_width = 54, pt_lnum = 0, left_user_fringe_bitmap = 0, right_user_fringe_bitmap = 0, left_user_fringe_face_id = 0, right_user_fringe_face_id = 0, bidi_p = true, bidi_it = {bytepos = 123808, charpos = 123808, ch = 0, nchars = -1, ch_len = 0, type = NEUTRAL_B, type_after_wn = NEUTRAL_B, orig_type = NEUTRAL_B, resolved_level = 0 '\000', isolate_level = 0 '\000', invalid_levels = 0, invalid_isolates = 0, prev = {charpos = 0, type = UNKNOWN_BT, orig_type = UNKNOWN_BT}, last_strong = {charpos = 0, type = UNKNOWN_BT, orig_type = UNKNOWN_BT}, next_for_neutral = {charpos = -1, type = UNKNOWN_BT, orig_type = UNKNOWN_BT}, prev_for_neutral = {charpos = -1, type = UNKNOWN_BT, orig_type = UNKNOWN_BT}, next_for_ws = {charpos = 0, type = UNKNOWN_BT, orig_type = UNKNOWN_BT}, bracket_pairing_pos = -1, bracket_enclosed_type = UNKNOWN_BT, next_en_pos = 0, next_en_type = UNKNOWN_BT, sos = L2R, scan_dir = 0, disp_pos = -1, disp_prop = 0, stack_idx = 0, level_stack = {{next_for_neutral_pos = 0, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'} <repeats 128 times>}, string = {lstring = {i = 0}, s = 0x0, schars = 0, bufpos = 0, from_disp_str = false, unibyte = false}, w = 0x15dcc30 <bss_sbrk_buffer+8131984>, paragraph_dir = NEUTRAL_DIR, separator_limit = -1, first_elt = true, new_paragraph = true, frame_window_p = true}, paragraph_embedding = NEUTRAL_DIR}
        last_text_row = 0x0
        f = 0x15dbc30 <bss_sbrk_buffer+8127888>
        cursor_vpos = 9
        it_charpos = 22920245
#6  0x000000000047479e in redisplay_window (window=..., just_this_one_p=false) at xdisp.c:17039
        d2 = -235913248
        d6 = 6931020
        d1 = 32766
        d5 = 0
        rtop = 32766
        rbot = -235912400
        w = 0x15dcc30 <bss_sbrk_buffer+8131984>
        f = 0x15dbc30 <bss_sbrk_buffer+8127888>
        buffer = 0x4407c10
        old = 0x4407c10
        lpoint = {charpos = 124198, bytepos = 124198}
        opoint = {charpos = 124198, bytepos = 124198}
        startp = {charpos = 123808, bytepos = 123808}
        update_mode_line = true
        tem = 0
        it = {window = {i = 2267087296}, w = 0xd8b9a0 <o_fwd>, f = 0x1, method = 15307776, stop_charpos = 140732957476352, prev_stop = 25784007072, base_level_stop = 15307776, end_charpos = 14203296, s = 0x7ffef1f04030 "P@\360\361\376\177", string_nchars = 6437035, redisplay_end_trigger_charpos = 15307781, multibyte_p = false, header_line_p = false, string_from_display_prop_p = false, string_from_prefix_prop_p = false, from_disp_prop_p = false, ellipsis_p = true, avoid_cursor_p = false, dp = 0x7ffef1f04050, dpvec = 0x6239a5 <XOBJFWD+35>, dpend = 0x589cbe <BUFFERP+29>, dpvec_char_len = 14203296, dpvec_face_id = 0, saved_face_id = -235913104, ctl_chars = {{i = 6444568}, {i = 15307776}, {i = 11088}, {i = 140732957474992}, {i = 14698256}, {i = 15307776}, {i = 52368}, {i = 140732957474992}, {i = 5791821}, {i = 14203296}, {i = 4685823976912}, {i = 140732957475056}, {i = 6452905}, {i = 5807294}, {i = 11088}, {i = 14203296}}, start = {pos = {charpos = 49296, bytepos = 5801095}, overlay_string_index = 15307776, string_pos = {charpos = 140732957475136, bytepos = 6026301}, dpvec_index = 15307781}, current = {pos = {charpos = 14698256, bytepos = 25252720}, overlay_string_index = 52368, string_pos = {charpos = 140732957475136, bytepos = 5791821}, dpvec_index = 49296}, n_overlay_strings = 17194515072, overlay_strings_charpos = 0, overlay_strings = {{i = 0}, {i = 140732957475184}, {i = 140732957475184}, {i = 5809753}, {i = 0}, {i = 140732957480240}, {i = 4623138}, {i = 0}, {i = 0}, {i = 0}, {i = 140732957475376}, {i = 140732957475552}, {i = 66702544}, {i = 140732957475408}, {i = 0}, {i = 7262}}, string_overlays = {{i = 139851231884585}, {i = 0}, {i = 140732957475456}, {i = 72057594037927937}, {i = 140732957475856}, {i = 140732957475856}, {i = 36}, {i = 49296}, {i = 140732957475856}, {i = 58860528}, {i = 139851235015032}, {i = 139851261551120}, {i = 139851234856668}, {i = 66784704}, {i = 1}, {i = 1}}, string = {i = 1}, from_overlay = {i = 1}, stack = {{string = {i = 257}, string_nchars = -235913264, end_charpos = 140732957474768, stop_charpos = 16348, prev_stop = 4, base_level_stop = 4, cmp_it = {stop_pos = 1, id = 58833056, ch = -91688704, rule_idx = 140732957475728, lookback = 58833056, nglyphs = 0, reversed_p = 135, charpos = 1, nchars = 1, nbytes = 0, from = 17, to = 0, width = -235913260}, face_id = -235913264, u = {image = {object = {i = 140732957474752}, slice = {x = {i = 140732957474736}, y = {i = 5794744}, width = {i = 17}, height = {i = 72057594060874325}}, image_id = 15562520}, stretch = {object = {i = 140732957474752}}, xwidget = {object = {i = 140732957474752}}}, position = {charpos = 140732957475632, bytepos = 140732957476344}, current = {pos = {charpos = 15562517, bytepos = 14}, overlay_string_index = 140732957475776, string_pos = {charpos = 6601478, bytepos = 1}, dpvec_index = 22946389}, from_overlay = {i = 31}, area = -1493108625, method = 32561, paragraph_embedding = (R2L | unknown: 188), multibyte_p = false, string_from_display_prop_p = false, string_from_prefix_prop_p = false, display_ellipsis_p = false, avoid_cursor_p = false, bidi_p = false, from_disp_prop_p = false, line_wrap = (unknown: 14645888), voffset = 18, space_width = {i = 1030}, font_height = {i = 140732957475752}}, {string = {i = 5}, string_nchars = 17, end_charpos = 22946389, stop_charpos = 1, prev_stop = 22946384, base_level_stop = 72695987, cmp_it = {stop_pos = 0, id = 60778152, ch = -235912160, rule_idx = 6598896, lookback = 140732957476336, nglyphs = 2, reversed_p = false, charpos = 49296, nchars = 2, nbytes = 0, from = 22946389, to = 0, width = 22946389}, face_id = 16, u = {image = {object = {i = 1}, slice = {x = {i = 72695987}, y = {i = 72695987}, width = {i = 140732957476032}, height = {i = 6593831}}, image_id = 140732957476336}, stretch = {object = {i = 1}}, xwidget = {object = {i = 1}}}, position = {charpos = 2, bytepos = 140732957475936}, current = {pos = {charpos = 5795816, bytepos = 1}, overlay_string_index = 26601525, string_pos = {charpos = 140732957475968, bytepos = 22946389}, dpvec_index = 1}, from_overlay = {i = 16}, area = 16384, method = GET_FROM_BUFFER, paragraph_embedding = (L2R | unknown: 6677364), multibyte_p = false, string_from_display_prop_p = false, string_from_prefix_prop_p = false, display_ellipsis_p = false, avoid_cursor_p = false, bidi_p = false, from_disp_prop_p = false, line_wrap = (unknown: 4059055584), voffset = 32766, space_width = {i = 0}, font_height = {i = 20397909}}, {string = {i = 140732957476336}, string_nchars = 20414293, end_charpos = 62, stop_charpos = 140732957476192, prev_stop = 6599373, base_level_stop = 0, cmp_it = {stop_pos = 140732957476336, id = 2, ch = 14155144, rule_idx = 14155144, lookback = 140732957476136, nglyphs = 5794744, reversed_p = false, charpos = 42964318848, nchars = 14155149, nbytes = 0, from = -235911864, to = 32766, width = 14155144}, face_id = -235911872, u = {image = {object = {i = 5796876}, slice = {x = {i = 14155149}, y = {i = 140732957476192}, width = {i = 5796913}, height = {i = 5796876}}, image_id = 60778112}, stretch = {object = {i = 5796876}}, xwidget = {object = {i = 5796876}}}, position = {charpos = 140732957476288, bytepos = 6598896}, current = {pos = {charpos = 140732957476328, bytepos = 3}, overlay_string_index = 49296, string_pos = {charpos = 14645888, bytepos = 10464}, dpvec_index = 14155149}, from_overlay = {i = 15}, area = RIGHT_MARGIN_AREA, method = GET_FROM_BUFFER, paragraph_embedding = (unknown: 4059055552), multibyte_p = false, string_from_display_prop_p = true, string_from_prefix_prop_p = true, display_ellipsis_p = true, avoid_cursor_p = true, bidi_p = true, from_disp_prop_p = true, line_wrap = (WORD_WRAP | unknown: 22946388), voffset = 0, space_width = {i = 140732957477328}, font_height = {i = 6931020}}, {string = {i = 140732957476336}, string_nchars = 72695987, end_charpos = 56784, stop_charpos = 49296, prev_stop = 22946389, base_level_stop = 144, cmp_it = {stop_pos = 22946389, id = 22114419, ch = 20397909, rule_idx = 5794337, lookback = 0, nglyphs = 20414293, reversed_p = false, charpos = 0, nchars = 21689828, nbytes = 0, from = -235911584, to = 32766, width = 21689824}, face_id = 46646796, u = {image = {object = {i = -4555390844741221886}, slice = {x = {i = 794542062371520969}, y = {i = 2675738296388231693}, width = {i = -5581780579176545330}, height = {i = 148580157535745}}, image_id = 140732957477328}, stretch = {object = {i = -4555390844741221886}}, xwidget = {object = {i = -4555390844741221886}}}, position = {charpos = 6926403, bytepos = 140732957477600}, current = {pos = {charpos = 1, bytepos = 514}, overlay_string_index = 62, string_pos = {charpos = 20414293, bytepos = 21689828}, dpvec_index = 0}, from_overlay = {i = 0}, area = LEFT_MARGIN_AREA, method = GET_FROM_BUFFER, paragraph_embedding = (L2R | unknown: 20661268), multibyte_p = false, string_from_display_prop_p = false, string_from_prefix_prop_p = false, display_ellipsis_p = false, avoid_cursor_p = false, bidi_p = false, from_disp_prop_p = false, line_wrap = TRUNCATE, voffset = 0, space_width = {i = 0}, font_height = {i = 72695987}}, {string = {i = 71618984}, string_nchars = 71619000, end_charpos = 0, stop_charpos = 1, prev_stop = 130, base_level_stop = 71618984, cmp_it = {stop_pos = 32, id = 140732957476928, ch = 6356575, rule_idx = 0, lookback = 32, nglyphs = 14208, reversed_p = false, charpos = 14145813, nchars = 32, nbytes = 0, from = 32, to = 0, width = 71618968}, face_id = 0, u = {image = {object = {i = 0}, slice = {x = {i = 14563008}, y = {i = 0}, width = {i = 4294967297}, height = {i = 71618999}}, image_id = 72696051}, stretch = {object = {i = 0}}, xwidget = {object = {i = 0}}}, position = {charpos = 140732957476848, bytepos = -1}, current = {pos = {charpos = 32, bytepos = 14563744}, overlay_string_index = 140732957476848, string_pos = {charpos = 6437035, bytepos = 32}, dpvec_index = 14563744}, from_overlay = {i = 140732957476880}, area = 6437285, method = GET_FROM_BUFFER, paragraph_embedding = (unknown: 4059056160), multibyte_p = false, string_from_display_prop_p = true, string_from_prefix_prop_p = true, display_ellipsis_p = true, avoid_cursor_p = true, bidi_p = true, from_disp_prop_p = true, line_wrap = (unknown: 14563744), voffset = 0, space_width = {i = 140732957477040}, font_height = {i = 6446659}}}, sp = 71334928, selective = 140732957477024, what = 4059056256, face_id = 32766, selective_display_ellipsis_p = false, ctl_arrow_p = false, face_box_p = true, start_of_box_run_p = false, end_of_box_run_p = false, overlay_strings_at_end_processed_p = true, ignore_overlay_strings_at_pos_p = false, glyph_not_available_p = true, starts_in_middle_of_char_p = true, face_before_selective_p = false, constrain_row_ascent_descent_p = false, line_wrap = TRUNCATE, base_face_id = 2, c = 32513, len = 14645888, cmp_it = {stop_pos = 0, id = 0, ch = -235911040, rule_idx = 5791821, lookback = 0, nglyphs = 10586048, reversed_p = false, charpos = 21173765, nchars = 10360032, nbytes = 0, from = 0, to = 0, width = 174}, char_to_display = 49296, glyphless_method = GLYPHLESS_DISPLAY_THIN_SPACE, image_id = 1, xwidget = 0x36d2738, slice = {x = {i = 10586048}, y = {i = 0}, width = {i = 139851141983723}, height = {i = 0}}, space_width = {i = 0}, voffset = -1, tab_width = -1, font_height = {i = 0}, object = {i = 72057594037927936}, position = {charpos = 128, bytepos = 140732957476432}, truncation_pixel_width = 18000, continuation_pixel_width = -3600, first_visible_x = 32766, last_visible_x = 16210, last_visible_y = 0, extra_line_spacing = 16, max_extra_line_spacing = 0, override_ascent = 46, override_descent = 0, override_boff = 15, glyph_row = 0x7ffef1f049a0, area = 57485056, nglyphs = 0, pixel_width = -235910544, ascent = 32766, descent = 34, max_ascent = 0, max_descent = -235910672, phys_ascent = 135, phys_descent = 6599675, max_phys_ascent = 0, max_phys_descent = 0, current_x = 0, continuation_lines_width = 15, eol_pos = {charpos = 140732957476478, bytepos = 140732957476432}, current_y = -235911704, first_vpos = 32766, vpos = -235911728, hpos = 32766, lnum = 5794744, lnum_bytepos = 15, lnum_width = 26509173, lnum_pixel_width = 16777216, pt_lnum = 20414296, left_user_fringe_bitmap = 18896, right_user_fringe_bitmap = 61936, left_user_fringe_face_id = 32766, right_user_fringe_face_id = 19168, bidi_p = true, bidi_it = {bytepos = 20414293, charpos = 62, ch = -235910560, nchars = 6601478, ch_len = 1, type = 26509173, type_after_wn = UNKNOWN_BT, orig_type = 14554912, resolved_level = 0 '\000', isolate_level = 0 '\000', invalid_levels = 140732957477392, invalid_isolates = 5801095, prev = {charpos = 14554912, type = 4059056688, orig_type = 32766}, last_strong = {charpos = 5801138, type = WEAK_BN, orig_type = 56}, next_for_neutral = {charpos = 71334928, type = 4059056720, orig_type = 32766}, prev_for_neutral = {charpos = 6444615, type = 49296, orig_type = UNKNOWN_BT}, next_for_ws = {charpos = 14698256, type = 4059056768, orig_type = 32766}, bracket_pairing_pos = 52368, bracket_enclosed_type = 4059056768, next_en_pos = 5791821, next_en_type = 4059056856, sos = (R2L | unknown: 32764), scan_dir = 14659088, disp_pos = 140732957477568, disp_prop = 14695184, stack_idx = 0, level_stack = {{next_for_neutral_pos = 5458496, next_for_neutral_type = 0, last_strong_type = 2, prev_for_neutral_type = 2, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 140732957477568, next_for_neutral_type = 5, last_strong_type = 1, prev_for_neutral_type = 1, level = 88 'X', flags = 0 '\000'}, {next_for_neutral_pos = 4230306876112, next_for_neutral_type = 0, last_strong_type = 2, prev_for_neutral_type = 2, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 140732957478480, next_for_neutral_type = 4, last_strong_type = 1, prev_for_neutral_type = 1, level = 105 'i', flags = 0 '\000'}, {next_for_neutral_pos = 140732957477632, next_for_neutral_type = 0, last_strong_type = 2, prev_for_neutral_type = 2, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 144, next_for_neutral_type = 3, last_strong_type = 0, prev_for_neutral_type = 3, level = 33 '!', flags = 132 '\204'}, {next_for_neutral_pos = 1333699942271779617, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 4, level = 133 '\205', flags = 23 '\027'}, {next_for_neutral_pos = 140732957478480, next_for_neutral_type = 3, last_strong_type = 0, prev_for_neutral_type = 1, level = 105 'i', flags = 0 '\000'}, {next_for_neutral_pos = 0, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 0, next_for_neutral_type = 2, last_strong_type = 1, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 11619285, next_for_neutral_type = 4, last_strong_type = 6, prev_for_neutral_type = 6, level = 177 '\261', flags = 0 '\000'}, {next_for_neutral_pos = 14154136, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 140732957478000, next_for_neutral_type = 7, last_strong_type = 2, prev_for_neutral_type = 0, level = 100 'd', flags = 0 '\000'}, {next_for_neutral_pos = 140732957477760, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 6, level = 10 '\n', flags = 0 '\000'}, {next_for_neutral_pos = 1, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 2, level = 159 '\237', flags = 3 '\003'}, {next_for_neutral_pos = 140732957478048, next_for_neutral_type = 6, last_strong_type = 0, prev_for_neutral_type = 7, level = 100 'd', flags = 0 '\000'}, {next_for_neutral_pos = 72696227, next_for_neutral_type = 3, last_strong_type = 4, prev_for_neutral_type = 4, level = 177 '\261', flags = 0 '\000'}, {next_for_neutral_pos = 140732957477824, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 2361585796316825122, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 2, level = 223 '\337', flags = 0 '\000'}, {next_for_neutral_pos = 140732957478112, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 140732957477872, next_for_neutral_type = 5, last_strong_type = 1, prev_for_neutral_type = 1, level = 88 'X', flags = 0 '\000'}, {next_for_neutral_pos = 0, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 2, level = 223 '\337', flags = 0 '\000'}, {next_for_neutral_pos = 140732957477920, next_for_neutral_type = 2, last_strong_type = 5, prev_for_neutral_type = 1, level = 88 'X', flags = 0 '\000'}, {next_for_neutral_pos = 14144272, next_for_neutral_type = 0, last_strong_type = 7, prev_for_neutral_type = 0, level = 240 '\360', flags = 241 '\361'}, {next_for_neutral_pos = 5794744, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 2, level = 223 '\337', flags = 0 '\000'}, {next_for_neutral_pos = 14144277, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 140732957477968, next_for_neutral_type = 5, last_strong_type = 1, prev_for_neutral_type = 1, level = 88 'X', flags = 0 '\000'}, {next_for_neutral_pos = 5796876, next_for_neutral_type = 5, last_strong_type = 2, prev_for_neutral_type = 4, level = 215 '\327', flags = 0 '\000'}, {next_for_neutral_pos = 140732957478000, next_for_neutral_type = 7, last_strong_type = 6, prev_for_neutral_type = 0, level = 98 'b', flags = 0 '\000'}, {next_for_neutral_pos = 140732957478096, next_for_neutral_type = 0, last_strong_type = 3, prev_for_neutral_type = 1, level = 159 '\237', flags = 3 '\003'}, {next_for_neutral_pos = 140732957478288, next_for_neutral_type = 6, last_strong_type = 0, prev_for_neutral_type = 7, level = 100 'd', flags = 0 '\000'}, {next_for_neutral_pos = 140732957478048, next_for_neutral_type = 3, last_strong_type = 0, prev_for_neutral_type = 6, level = 177 '\261', flags = 0 '\000'}, {next_for_neutral_pos = 4413280, next_for_neutral_type = 0, last_strong_type = 3, prev_for_neutral_type = 1, level = 159 '\237', flags = 3 '\003'}, {next_for_neutral_pos = 140732957478336, next_for_neutral_type = 6, last_strong_type = 0, prev_for_neutral_type = 7, level = 100 'd', flags = 0 '\000'}, {next_for_neutral_pos = 5796876, next_for_neutral_type = 6, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 0, next_for_neutral_type = 3, last_strong_type = 1, prev_for_neutral_type = 4, level = 98 'b', flags = 0 '\000'}, {next_for_neutral_pos = 0, next_for_neutral_type = 0, last_strong_type = 3, prev_for_neutral_type = 1, level = 159 '\237', flags = 3 '\003'}, {next_for_neutral_pos = 140732957478400, next_for_neutral_type = 2, last_strong_type = 1, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 0, next_for_neutral_type = 3, last_strong_type = 2, prev_for_neutral_type = 2, level = 177 '\261', flags = 0 '\000'}, {next_for_neutral_pos = 0, next_for_neutral_type = 0, last_strong_type = 2, prev_for_neutral_type = 6, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 49296, next_for_neutral_type = 0, last_strong_type = 6, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 49296, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 5, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 14555328, next_for_neutral_type = 0, last_strong_type = 2, prev_for_neutral_type = 5, level = 240 '\360', flags = 241 '\361'}, {next_for_neutral_pos = 5801095, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 3, level = 222 '\336', flags = 0 '\000'}, {next_for_neutral_pos = 140732957478256, next_for_neutral_type = 2, last_strong_type = 6, prev_for_neutral_type = 2, level = 88 'X', flags = 0 '\000'}, {next_for_neutral_pos = 1374389534734, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 2, level = 223 '\337', flags = 0 '\000'}, {next_for_neutral_pos = 140732957478288, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 140732957477608, next_for_neutral_type = 0, last_strong_type = 5, prev_for_neutral_type = 3, level = 240 '\360', flags = 241 '\361'}, {next_for_neutral_pos = 16336, next_for_neutral_type = 3, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 24, next_for_neutral_type = 7, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 14154136, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 2, level = 223 '\337', flags = 0 '\000'}, {next_for_neutral_pos = 5794744, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 140732957478384, next_for_neutral_type = 5, last_strong_type = 1, prev_for_neutral_type = 1, level = 88 'X', flags = 0 '\000'}, {next_for_neutral_pos = 14154136, next_for_neutral_type = 6, last_strong_type = 1, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 140732957478480, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 7, level = 223 '\337', flags = 0 '\000'}, {next_for_neutral_pos = 140732957478432, next_for_neutral_type = 3, last_strong_type = 5, prev_for_neutral_type = 2, level = 98 'b', flags = 0 '\000'}, {next_for_neutral_pos = 5794744, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 7, level = 223 '\337', flags = 0 '\000'}, {next_for_neutral_pos = 140732957478464, next_for_neutral_type = 5, last_strong_type = 4, prev_for_neutral_type = 6, level = 98 'b', flags = 0 '\000'}, {next_for_neutral_pos = 140732957478480, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 7, level = 223 '\337', flags = 0 '\000'}, {next_for_neutral_pos = 140732957478624, next_for_neutral_type = 3, last_strong_type = 0, prev_for_neutral_type = 1, level = 98 'b', flags = 0 '\000'}, {next_for_neutral_pos = 71334928, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 7, level = 223 '\337', flags = 0 '\000'}, {next_for_neutral_pos = 0, next_for_neutral_type = 5, last_strong_type = 1, prev_for_neutral_type = 6, level = 177 '\261', flags = 0 '\000'}, {next_for_neutral_pos = 11619195, next_for_neutral_type = 4, last_strong_type = 6, prev_for_neutral_type = 4, level = 69 'E', flags = 4 '\004'}, {next_for_neutral_pos = 0, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 2, level = 223 '\337', flags = 0 '\000'}, {next_for_neutral_pos = 0, next_for_neutral_type = 0, last_strong_type = 2, prev_for_neutral_type = 2, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 4, next_for_neutral_type = 0, last_strong_type = 6, prev_for_neutral_type = 5, level = 216 '\330', flags = 0 '\000'}, {next_for_neutral_pos = 140732957478608, next_for_neutral_type = 3, last_strong_type = 5, prev_for_neutral_type = 2, level = 98 'b', flags = 0 '\000'}, {next_for_neutral_pos = 14643648, next_for_neutral_type = 0, last_strong_type = 6, prev_for_neutral_type = 5, level = 216 '\330', flags = 0 '\000'}, {next_for_neutral_pos = 140732957478640, next_for_neutral_type = 5, last_strong_type = 4, prev_for_neutral_type = 6, level = 98 'b', flags = 0 '\000'}, {next_for_neutral_pos = 140732957478752, next_for_neutral_type = 0, last_strong_type = 6, prev_for_neutral_type = 5, level = 216 '\330', flags = 0 '\000'}, {next_for_neutral_pos = 140732957478800, next_for_neutral_type = 3, last_strong_type = 0, prev_for_neutral_type = 1, level = 98 'b', flags = 0 '\000'}, {next_for_neutral_pos = 71334928, next_for_neutral_type = 0, last_strong_type = 6, prev_for_neutral_type = 5, level = 216 '\330', flags = 0 '\000'}, {next_for_neutral_pos = 11619213, next_for_neutral_type = 5, last_strong_type = 1, prev_for_neutral_type = 6, level = 177 '\261', flags = 0 '\000'}, {next_for_neutral_pos = 13, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 2, level = 223 '\337', flags = 0 '\000'}, {next_for_neutral_pos = 14643648, next_for_neutral_type = 0, last_strong_type = 2, prev_for_neutral_type = 0, level = 64 '@', flags = 4 '\004'}, {next_for_neutral_pos = 140732957478752, next_for_neutral_type = 0, last_strong_type = 4, prev_for_neutral_type = 1, level = 223 '\337', flags = 0 '\000'}, {next_for_neutral_pos = 5801095, next_for_neutral_type = 0, last_strong_type = 2, prev_for_neutral_type = 4, level = 224 '\340', flags = 0 '\000'}, {next_for_neutral_pos = 0, next_for_neutral_type = 0, last_strong_type = 2, prev_for_neutral_type = 2, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 14202736, next_for_neutral_type = 0, last_strong_type = 2, prev_for_neutral_type = 6, level = 240 '\360', flags = 241 '\361'}, {next_for_neutral_pos = 0, next_for_neutral_type = 0, last_strong_type = 6, prev_for_neutral_type = 4, level = 65 'A', flags = 0 '\000'}, {next_for_neutral_pos = 140732957478928, next_for_neutral_type = 6, last_strong_type = 1, prev_for_neutral_type = 7, level = 98 'b', flags = 0 '\000'}, {next_for_neutral_pos = 8589934600, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 0, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 7, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 80, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 140732957478944, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 2, level = 223 '\337', flags = 0 '\000'}, {next_for_neutral_pos = 14202736, next_for_neutral_type = 0, last_strong_type = 2, prev_for_neutral_type = 0, level = 64 '@', flags = 4 '\004'}, {next_for_neutral_pos = 140732957478928, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 1, level = 223 '\337', flags = 0 '\000'}, {next_for_neutral_pos = 5801095, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 140732957479040, next_for_neutral_type = 5, last_strong_type = 6, prev_for_neutral_type = 7, level = 98 'b', flags = 0 '\000'}, {next_for_neutral_pos = 140732957479040, next_for_neutral_type = 6, last_strong_type = 4, prev_for_neutral_type = 2, level = 100 'd', flags = 0 '\000'}, {next_for_neutral_pos = 0, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 7, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 5, next_for_neutral_type = 0, last_strong_type = 4, prev_for_neutral_type = 7, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 0, next_for_neutral_type = 0, last_strong_type = 6, prev_for_neutral_type = 5, level = 216 '\330', flags = 0 '\000'}, {next_for_neutral_pos = 0, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 1, level = 223 '\337', flags = 0 '\000'}, {next_for_neutral_pos = 140732957479088, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 140732957479120, next_for_neutral_type = 6, last_strong_type = 1, prev_for_neutral_type = 0, level = 100 'd', flags = 0 '\000'}, {next_for_neutral_pos = 4294967298, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 2, level = 223 '\337', flags = 0 '\000'}, {next_for_neutral_pos = 140732957479104, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 140732957479120, next_for_neutral_type = 5, last_strong_type = 1, prev_for_neutral_type = 1, level = 88 'X', flags = 0 '\000'}, {next_for_neutral_pos = 140732957479136, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 2, level = 223 '\337', flags = 0 '\000'}, {next_for_neutral_pos = 140732957479216, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 140732957479168, next_for_neutral_type = 5, last_strong_type = 1, prev_for_neutral_type = 1, level = 88 'X', flags = 0 '\000'}, {next_for_neutral_pos = 140732957479200, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 2, level = 223 '\337', flags = 0 '\000'}, {next_for_neutral_pos = 140732957479216, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 2, level = 223 '\337', flags = 0 '\000'}, {next_for_neutral_pos = 140732957479216, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 140732957479232, next_for_neutral_type = 5, last_strong_type = 1, prev_for_neutral_type = 1, level = 88 'X', flags = 0 '\000'}, {next_for_neutral_pos = 140732957479280, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 2, level = 223 '\337', flags = 0 '\000'}, {next_for_neutral_pos = 140732957479280, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 140732957479280, next_for_neutral_type = 5, last_strong_type = 1, prev_for_neutral_type = 1, level = 88 'X', flags = 0 '\000'}, {next_for_neutral_pos = 2, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 140732957479360, next_for_neutral_type = 5, last_strong_type = 6, prev_for_neutral_type = 0, level = 101 'e', flags = 0 '\000'}, {next_for_neutral_pos = 21504, next_for_neutral_type = 3, last_strong_type = 0, prev_for_neutral_type = 4, level = 48 '0', flags = 1 '\001'}, {next_for_neutral_pos = 24485635, next_for_neutral_type = 0, last_strong_type = 1, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 0, next_for_neutral_type = 6, last_strong_type = 0, prev_for_neutral_type = 0, level = 88 'X', flags = 0 '\000'}, {next_for_neutral_pos = 140732957479376, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 22920240, next_for_neutral_type = 0, last_strong_type = 6, prev_for_neutral_type = 2, level = 221 '\335', flags = 0 '\000'}, {next_for_neutral_pos = 140732957479408, next_for_neutral_type = 3, last_strong_type = 1, prev_for_neutral_type = 2, level = 98 'b', flags = 0 '\000'}, {next_for_neutral_pos = 22920245, next_for_neutral_type = 0, last_strong_type = 6, prev_for_neutral_type = 2, level = 221 '\335', flags = 0 '\000'}, {next_for_neutral_pos = 140732957479440, next_for_neutral_type = 3, last_strong_type = 3, prev_for_neutral_type = 4, level = 98 'b', flags = 0 '\000'}, {next_for_neutral_pos = 5801674, next_for_neutral_type = 0, last_strong_type = 6, prev_for_neutral_type = 2, level = 221 '\335', flags = 0 '\000'}, {next_for_neutral_pos = 140732957479600, next_for_neutral_type = 7, last_strong_type = 1, prev_for_neutral_type = 4, level = 98 'b', flags = 0 '\000'}, {next_for_neutral_pos = 71334928, next_for_neutral_type = 0, last_strong_type = 6, prev_for_neutral_type = 2, level = 221 '\335', flags = 0 '\000'}, {next_for_neutral_pos = 140732957479504, next_for_neutral_type = 5, last_strong_type = 1, prev_for_neutral_type = 1, level = 88 'X', flags = 0 '\000'}, {next_for_neutral_pos = 14, next_for_neutral_type = 0, last_strong_type = 0, prev_for_neutral_type = 0, level = 0 '\000', flags = 0 '\000'}, {next_for_neutral_pos = 140732957479568, next_for_neutral_type = 4, last_strong_type = 0, prev_for_neutral_type = 6, level = 68 'D', flags = 4 '\004'}, {next_for_neutral_pos = 140732957479552, next_for_neutral_type = 4, last_strong_type = 4, prev_for_neutral_type = 7, level = 69 'E', flags = 4 '\004'}, {next_for_neutral_pos = 140732957479568, next_for_neutral_type = 0, last_strong_type = 2, prev_for_neutral_type = 4, level = 224 '\340', flags = 0 '\000'}, {next_for_neutral_pos = 0, next_for_neutral_type = 0, last_strong_type = 2, prev_for_neutral_type = 2, level = 0 '\000', flags = 0 '\000'}}, string = {lstring = {i = 58745928}, s = 0x3806440 "", schars = 0, bufpos = 4299056, from_disp_str = false, unibyte = false}, w = 0x626dce <set_internal+1542>, paragraph_dir = NEUTRAL_DIR, separator_limit = 14645888, first_elt = false, new_paragraph = false, frame_window_p = false}, paragraph_embedding = NEUTRAL_DIR}
        current_matrix_up_to_date_p = false
        used_current_matrix_p = false
        buffer_unchanged_p = false
        temp_scroll_step = false
        count = 6
        rc = 0
        centering_position = -1
        last_line_misfit = false
        beg_unchanged = 0
        end_unchanged = 149562
        frame_line_height = 18
        margin = 0
        use_desired_matrix = false
        itdata = 0x0
#7  0x000000000046cf39 in redisplay_window_0 (window=...) at xdisp.c:14799
#8  0x000000000064713d in internal_condition_case_1 (bfun=0x46cef7 <redisplay_window_0>, arg=..., handlers=..., hfun=0x46cebf <redisplay_window_error>) at eval.c:1356
        val = {i = 5807390}
        c = 0x36d6940
#9  0x000000000046ce94 in redisplay_windows (window=...) at xdisp.c:14779
        w = 0x15dcc30 <bss_sbrk_buffer+8131984>
#10 0x000000000046ce46 in redisplay_windows (window=...) at xdisp.c:14773
        w = 0x44d7c10
#11 0x000000000046b82d in redisplay_internal () at xdisp.c:14268
        gcscrollbars = true
        f_redisplay_flag = true
        f = 0x15dbc30 <bss_sbrk_buffer+8127888>
        w = 0x15dcc30 <bss_sbrk_buffer+8131984>
        sw = 0x15dcc30 <bss_sbrk_buffer+8131984>
        fr = 0x15dbc30 <bss_sbrk_buffer+8127888>
        pending = false
        must_finish = false
        match_p = true
        tlbufpos = {charpos = 1373, bytepos = 1373}
        tlendpos = {charpos = 3830, bytepos = 3830}
        number_of_visible_frames = 1
        count = 3
        sf = 0x15dbc30 <bss_sbrk_buffer+8127888>
        polling_stopped_here = false
        tail = {i = 19384163}
        frame = {i = 22920245}
        hscroll_retries = 0
        garbaged_frame_retries = 0
        consider_all_windows_p = true
        update_miniwindow_p = false
#12 0x0000000000469012 in redisplay () at xdisp.c:13488
#13 0x0000000000594c66 in read_char (commandflag=1, map=..., prev_event=..., used_mouse_menu=0x7ffef1f06d7f, end_time=0x0) at keyboard.c:2484
        echo_current = true
        c = {i = 0}
        jmpcount = 0
        local_getcjmp = {{__jmpbuf = {4299056, 0, 140732957485952, 5791821, 0, 0, 140732957486048, 6608038}, __mask_was_saved = 0, __saved_mask = {__val = {3, 140732957486048, 14645888, 72612099, 0, 140732957486048, 0, 0, 0, 140732957486208, 5964844, 0, 49296, 0, 14643472, 140732957486128}}}}
        save_jump = {{__jmpbuf = {21547472800, 14645888, 140732957485760, 0, 140732957485760, 5791821, 21481507, 20059456}, __mask_was_saved = -235902208, __saved_mask = {__val = {6448527, 20059456, 20224864, 140732957485824, 5578976, 0, 14645888, 140732957485872, 0, 140732957485872, 5791821, 20059456, 20224864, 140732957486048, 5962415, 140732957486136}}}}
        tem = {i = 5791821}
        save = {i = 140732957485712}
        previous_echo_area_message = {i = 0}
        also_record = {i = 0}
        reread = false
        recorded = false
        polling_stopped_here = false
        orig_kboard = 0x3806440
#14 0x00000000005a4fb5 in read_key_sequence (keybuf=0x7ffef1f06ed0, bufsize=30, prompt=..., dont_downcase_last=false, can_return_switch_frame=true, fix_current_buffer=true, prevent_redisplay=false) at keyboard.c:9154
        interrupted_kboard = 0x3806440
        interrupted_frame = 0x15dbc30 <bss_sbrk_buffer+8127888>
        key = {i = 140732957486496}
        used_mouse_menu = false
        echo_local_start = 0
        last_real_key_start = 0
        keys_local_start = 0
        new_binding = {i = 0}
        count = 3
        t = 0
        echo_start = 0
        keys_start = 0
        current_binding = {i = 72606659}
        first_event = {i = 0}
        first_unbound = 31
        mock_input = 0
        fkey = {parent = {i = 19418419}, map = {i = 19418419}, start = 0, end = 0}
        keytran = {parent = {i = 15231635}, map = {i = 15231635}, start = 0, end = 0}
        indec = {parent = {i = 19418435}, map = {i = 19418435}, start = 0, end = 0}
        shift_translated = false
        delayed_switch_frame = {i = 0}
        original_uppercase = {i = 0}
        original_uppercase_position = -1
        dummyflag = false
        starting_buffer = 0x4407c10
        fake_prefixed_keys = {i = 0}
#15 0x0000000000591897 in command_loop_1 () at keyboard.c:1372
        cmd = {i = 56552912}
        keybuf = {{i = 54}, {i = 394}, {i = 7146840432}, {i = 0}, {i = 0}, {i = 14643648}, {i = 140732957486880}, {i = 14677088}, {i = 0}, {i = 0}, {i = 140732957486960}, {i = 6607374}, {i = 139642271694850}, {i = 14645888}, {i = 5801095}, {i = 0}, {i = 140732957486960}, {i = 5791821}, {i = 0}, {i = 0}, {i = 140732957487056}, {i = 14645888}, {i = 15547123}, {i = 0}, {i = 140732957487024}, {i = 5791821}, {i = 0}, {i = 15242245}, {i = 140732957487088}, {i = 6583417}}
        i = 1
        prev_modiff = 413
        prev_buffer = 0x45457a0
        already_adjusted = false
#16 0x0000000000647062 in internal_condition_case (bfun=0x591453 <command_loop_1>, handlers=..., hfun=0x590a5a <cmd_error>) at eval.c:1332
        val = {i = 5791821}
        c = 0x36d6820
#17 0x000000000059102d in command_loop_2 (ignore=...) at keyboard.c:1114
        val = {i = 0}
#18 0x000000000064656b in internal_catch (tag=..., func=0x591000 <command_loop_2>, arg=...) at eval.c:1097
        val = {i = 0}
        c = 0x36d6700
#19 0x0000000000590fcb in command_loop () at keyboard.c:1093
#20 0x0000000000590544 in recursive_edit_1 () at keyboard.c:699
        count = 1
        val = {i = 140732957487440}
#21 0x0000000000590739 in Frecursive_edit () at keyboard.c:770
        count = 0
        buffer = {i = 0}
#22 0x000000000058e2e1 in main (argc=2, argv=0x7ffef1f07398) at emacs.c:1713
        stack_bottom_variable = 0x7f31a28acd84
        do_initial_setlocale = true
        dumping = false
        skip_args = 0
        no_loadup = false
        junk = 0x0
        dname_arg = 0x0
        ch_to_dir = 0x0
        original_pwd = 0x0
        disable_aslr = false
        rlim = {rlim_cur = 10022912, rlim_max = 18446744073709551615}
        sockfd = -1

[-- Attachment #3: Type: text/plain, Size: 407 bytes --]


In GNU Emacs 27.0.50 (build 3, x86_64-pc-linux-gnu, GTK+ Version 3.22.21)
 of 2017-10-04 built on lylat
Repository revision: 92045f4546b9708dc9f69954799d211c1f56ff1e
Windowing system distributor 'The X.Org Foundation', version 11.0.11903000
System Description:	Debian GNU/Linux testing (buster)

Configured using:
 'configure --enable-checking=yes,glyphs --enable-check-lisp-object-type
 'CFLAGS=-O0 -g3''

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

* bug#28710: 27.0.50; eassert failure in maybe_produce_line_number
  2017-10-04 22:31 bug#28710: 27.0.50; eassert failure in maybe_produce_line_number Alex
@ 2017-10-05  8:30 ` Eli Zaretskii
  2017-10-05 23:51   ` Alex
  0 siblings, 1 reply; 18+ messages in thread
From: Eli Zaretskii @ 2017-10-05  8:30 UTC (permalink / raw)
  To: Alex; +Cc: 28710

> From: Alex <agrambot@gmail.com>
> Date: Wed, 04 Oct 2017 16:31:33 -0600
> 
> 1. Open up a diff in magit (e.g., M-x magit-status then RET on the first
> line).
> 2. Press RET on an added line.
> 3. In the opened buffer, do M-: (setq display-line-numbers t)
> 4. C-x b RET
> 5. Press RET on the line again.

It doesn't crash for me here.  But since it's hardly repeatable for
you, I'm not surprised.

> #2  0x00000000006233ad in die (msg=0x72ad60 "it->glyph_row == NULL || it->glyph_row->used[TEXT_AREA] == 0", file=0x726c3d "xdisp.c", line=21061) at alloc.c:7419
> #3  0x0000000000483af6 in maybe_produce_line_number (it=0x7ffef1f01900) at xdisp.c:21061

If you go to frame #3, in maybe_produce_line_number, and type

  (gdb) pgrowx it->glyph_row

what does that produce?  (You will need to source src/.gdbinit for the
pgrowx command to work.)

Btw, your recipe didn't quite work for me: the first step failed when
I pressed RET "on the first line" of the buffer presented by "M-x
magit-status" in the current release branch tip.  It said there was
nothing to show about that line.  I needed to find a suitable line
further down in the buffer.  Am I missing something here?  Can you
specify precise steps, assuming I know nothing about using Magit?

Thanks.





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

* bug#28710: 27.0.50; eassert failure in maybe_produce_line_number
  2017-10-05  8:30 ` Eli Zaretskii
@ 2017-10-05 23:51   ` Alex
  2017-10-06  8:38     ` Eli Zaretskii
  0 siblings, 1 reply; 18+ messages in thread
From: Alex @ 2017-10-05 23:51 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 28710

Eli Zaretskii <eliz@gnu.org> writes:

>> From: Alex <agrambot@gmail.com>
>> Date: Wed, 04 Oct 2017 16:31:33 -0600
>> 
>> 1. Open up a diff in magit (e.g., M-x magit-status then RET on the first
>> line).
>> 2. Press RET on an added line.
>> 3. In the opened buffer, do M-: (setq display-line-numbers t)
>> 4. C-x b RET
>> 5. Press RET on the line again.
>
> It doesn't crash for me here.  But since it's hardly repeatable for
> you, I'm not surprised.

What about using the below recipe?

>> #2  0x00000000006233ad in die (msg=0x72ad60 "it->glyph_row == NULL || it->glyph_row->used[TEXT_AREA] == 0", file=0x726c3d "xdisp.c", line=21061) at alloc.c:7419
>> #3  0x0000000000483af6 in maybe_produce_line_number (it=0x7ffef1f01900) at xdisp.c:21061
>
> If you go to frame #3, in maybe_produce_line_number, and type
>
>   (gdb) pgrowx it->glyph_row
>
> what does that produce?  (You will need to source src/.gdbinit for the
> pgrowx command to work.)

TEXT: 34 glyphs
  0    0: CHAR[ ] pos=-1 blev=2,btyp=EN w=9 a+d=14+4 face=35 MB AVOID
  1    9: CHAR[3] pos=-1 blev=2,btyp=EN w=9 a+d=14+4 face=35 MB AVOID
  2   18: CHAR[1] pos=-1 blev=2,btyp=EN w=9 a+d=14+4 face=35 MB AVOID
  3   27: CHAR[3] pos=-1 blev=2,btyp=EN w=9 a+d=14+4 face=35 MB AVOID
  4   36: CHAR[0] pos=-1 blev=2,btyp=EN w=9 a+d=14+4 face=35 MB AVOID
  5   45: CHAR[ ] pos=-1 blev=2,btyp=EN w=9 a+d=14+4 face=35 MB AVOID
  6   54: CHAR[@] pos=123808 blev=0,btyp=L w=9 a+d=14+4 MB
  7   63: CHAR[c] pos=123809 blev=0,btyp=L w=9 a+d=14+4 face=30 MB
  8   72: CHAR[o] pos=123810 blev=0,btyp=L w=9 a+d=14+4 face=30 MB
  9   81: CHAR[d] pos=123811 blev=0,btyp=L w=9 a+d=14+4 face=30 MB
 10   90: CHAR[e] pos=123812 blev=0,btyp=L w=9 a+d=14+4 face=30 MB
 11   99: CHAR[{] pos=123813 blev=0,btyp=L w=9 a+d=14+4 MB
 12  108: CHAR[f] pos=123814 blev=0,btyp=L w=9 a+d=14+4 face=33 MB
 13  117: CHAR[i] pos=123815 blev=0,btyp=L w=9 a+d=14+4 face=33 MB
 14  126: CHAR[l] pos=123816 blev=0,btyp=L w=9 a+d=14+4 face=33 MB
 15  135: CHAR[e] pos=123817 blev=0,btyp=L w=9 a+d=14+4 face=33 MB
 16  144: CHAR[-] pos=123818 blev=0,btyp=L w=9 a+d=14+4 face=33 MB
 17  153: CHAR[n] pos=123819 blev=0,btyp=L w=9 a+d=14+4 face=33 MB
 18  162: CHAR[a] pos=123820 blev=0,btyp=L w=9 a+d=14+4 face=33 MB
 19  171: CHAR[m] pos=123821 blev=0,btyp=L w=9 a+d=14+4 face=33 MB
 20  180: CHAR[e] pos=123822 blev=0,btyp=L w=9 a+d=14+4 face=33 MB
 21  189: CHAR[-] pos=123823 blev=0,btyp=L w=9 a+d=14+4 face=33 MB
 22  198: CHAR[d] pos=123824 blev=0,btyp=L w=9 a+d=14+4 face=33 MB
 23  207: CHAR[i] pos=123825 blev=0,btyp=L w=9 a+d=14+4 face=33 MB
 24  216: CHAR[r] pos=123826 blev=0,btyp=L w=9 a+d=14+4 face=33 MB
 25  225: CHAR[e] pos=123827 blev=0,btyp=L w=9 a+d=14+4 face=33 MB
 26  234: CHAR[c] pos=123828 blev=0,btyp=L w=9 a+d=14+4 face=33 MB
 27  243: CHAR[t] pos=123829 blev=0,btyp=L w=9 a+d=14+4 face=33 MB
 28  252: CHAR[o] pos=123830 blev=0,btyp=L w=9 a+d=14+4 face=33 MB
 29  261: CHAR[r] pos=123831 blev=0,btyp=L w=9 a+d=14+4 face=33 MB
 30  270: CHAR[y] pos=123832 blev=0,btyp=L w=9 a+d=14+4 face=33 MB
 31  279: CHAR[}] pos=123833 blev=0,btyp=L w=9 a+d=14+4 MB
 32  288: CHAR[,] pos=123834 blev=0,btyp=L w=9 a+d=14+4 MB
 33  297: CHAR[ ] pos=0 blev=0,btyp=B w=9 a+d=14+4 MB
 
> Btw, your recipe didn't quite work for me: the first step failed when
> I pressed RET "on the first line" of the buffer presented by "M-x
> magit-status" in the current release branch tip.  It said there was
> nothing to show about that line.  I needed to find a suitable line
> further down in the buffer.  Am I missing something here?  Can you
> specify precise steps, assuming I know nothing about using Magit?

That's odd, since I believe unless there was a git error the first line
should start with "Head:" and pressing RET on it shows the commit at
HEAD. Maybe there's another situation where that's not the case.

Anyway, this might be more consistent:

1. emacs -Q in a directory containing a git repository
2. M-x package-initialize if needed
2. M-x magit-show-commit RET RET (should default to master)
This should bring up a *magit-revision buffer.
3. Move point to an added line (or any line in a hunk, under the @@
lines) and press RET
4. M-: (setq display-line-numbers t)
5. C-x b RET (should take you back to the *magit-revision buffer)
6. RET

Just to specify a commit, try M-x magit-show-commit RET 92045f45 RET in
an Emacs repo and press RET on the following line:
+@code{file-symlink-p}, @code{file-system-info}





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

* bug#28710: 27.0.50; eassert failure in maybe_produce_line_number
  2017-10-05 23:51   ` Alex
@ 2017-10-06  8:38     ` Eli Zaretskii
  2017-10-07 23:05       ` Alex
  0 siblings, 1 reply; 18+ messages in thread
From: Eli Zaretskii @ 2017-10-06  8:38 UTC (permalink / raw)
  To: Alex; +Cc: 28710

merge 28710 27668
thanks

> From: Alex <agrambot@gmail.com>
> Cc: 28710@debbugs.gnu.org
> Date: Thu, 05 Oct 2017 17:51:41 -0600
> 
> > It doesn't crash for me here.  But since it's hardly repeatable for
> > you, I'm not surprised.
> 
> What about using the below recipe?

Thanks, but still no cigar.

> > If you go to frame #3, in maybe_produce_line_number, and type
> >
> >   (gdb) pgrowx it->glyph_row
> >
> > what does that produce?  (You will need to source src/.gdbinit for the
> > pgrowx command to work.)
> 
> TEXT: 34 glyphs
>   0    0: CHAR[ ] pos=-1 blev=2,btyp=EN w=9 a+d=14+4 face=35 MB AVOID
>   1    9: CHAR[3] pos=-1 blev=2,btyp=EN w=9 a+d=14+4 face=35 MB AVOID
>   2   18: CHAR[1] pos=-1 blev=2,btyp=EN w=9 a+d=14+4 face=35 MB AVOID
>   3   27: CHAR[3] pos=-1 blev=2,btyp=EN w=9 a+d=14+4 face=35 MB AVOID
>   4   36: CHAR[0] pos=-1 blev=2,btyp=EN w=9 a+d=14+4 face=35 MB AVOID
>   5   45: CHAR[ ] pos=-1 blev=2,btyp=EN w=9 a+d=14+4 face=35 MB AVOID
>   6   54: CHAR[@] pos=123808 blev=0,btyp=L w=9 a+d=14+4 MB

It sounds like you've rediscovered bug#27668.  Robert Pluim lost the
ability to reproduce it when we were close to catching the offending
code, but maybe you will be able to pick up where he left off?  In a
nutshell, the glyph rows where display_line produces glyphs are not
cleared, so they still hold the glyphs produced by some previous code
in the display engine.  The question is where should we add a call to
clear_glyph_matrix to force the glyph rows to be cleared at the
beginning of display_line.

I wrote instructions for a debugging session to find that out, see

  https://debbugs.gnu.org/cgi/bugreport.cgi?bug=27668#89

Instead of "r -Q", type just "run" to run Emacs as usual, or even
attach to an already running Emacs with "gdb -p", set the breakpoint,
and type "continue.  The "Inside Emacs" part will have to be replaced
with your recipe, up to and including step 5, and you should invoke
redraw-display just before hitting the final RET in step 6, the one
that triggers the assertion.  After performing the GDB commands and
continuing Emacs, hit RET, and post the backtraces from every time the
watchpoint set by those GDB commands is hit.  I hope we will then see
the offending code that needs to be fixed.

Let me know if you need me to rewrite the instructions to fit your
case exactly.

> > Btw, your recipe didn't quite work for me: the first step failed when
> > I pressed RET "on the first line" of the buffer presented by "M-x
> > magit-status" in the current release branch tip.  It said there was
> > nothing to show about that line.  I needed to find a suitable line
> > further down in the buffer.  Am I missing something here?  Can you
> > specify precise steps, assuming I know nothing about using Magit?
> 
> That's odd, since I believe unless there was a git error the first line
> should start with "Head:" and pressing RET on it shows the commit at
> HEAD. Maybe there's another situation where that's not the case.

What if HEAD is a merge-commit?  I think this is what I got when I
tried.  Anyway, this is just a tangential issue.

> Just to specify a commit, try M-x magit-show-commit RET 92045f45 RET in
> an Emacs repo and press RET on the following line:
> +@code{file-symlink-p}, @code{file-system-info}

You mean "C-u M-x magit-show-commit", right?  Tried this as well,
still no assertion violation.

Thanks.

P.S. Btw, I'm debugging this in the emacs-26 branch, so perhaps so
should you, to avoid any irrelevant differences between what you and I
see.  I tried reproducing the assertion violation in both branches,
and failed in both.





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

* bug#28710: 27.0.50; eassert failure in maybe_produce_line_number
  2017-10-06  8:38     ` Eli Zaretskii
@ 2017-10-07 23:05       ` Alex
  2017-10-08  6:29         ` Eli Zaretskii
  0 siblings, 1 reply; 18+ messages in thread
From: Alex @ 2017-10-07 23:05 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 28710

Eli Zaretskii <eliz@gnu.org> writes:

> I wrote instructions for a debugging session to find that out, see
>
>   https://debbugs.gnu.org/cgi/bugreport.cgi?bug=27668#89
>
> Instead of "r -Q", type just "run" to run Emacs as usual, or even
> attach to an already running Emacs with "gdb -p", set the breakpoint,
> and type "continue.  The "Inside Emacs" part will have to be replaced
> with your recipe, up to and including step 5, and you should invoke
> redraw-display just before hitting the final RET in step 6, the one
> that triggers the assertion.  After performing the GDB commands and
> continuing Emacs, hit RET, and post the backtraces from every time the
> watchpoint set by those GDB commands is hit.  I hope we will then see
> the offending code that needs to be fixed.
>
> Let me know if you need me to rewrite the instructions to fit your
> case exactly.

Okay, I've pasted the output below. 2 watchpoints triggered right after
M-x redraw-display, and I only get the third before the assertion.

After your recipe, you mention update_display and how it runs after
Emacs "redrawn the window to the glass", so it should be noted that the
assertion violated is triggered before the buffer with
display-line-numbers is displayed.

Thread 1 "emacs" hit Hardware watchpoint 4: -location $1->desired_matrix->rows->enabled_p

Old value = false
New value = true
prepare_desired_row (w=0x45066d0, row=0x4509fa0, mode_line_p=true) at dispnew.c:1076
1076	      row->reversed_p = rp;
(gdb) 
Lisp Backtrace:
"redisplay_internal (C function)" (0x0)

Thread 1 "emacs" hit Hardware watchpoint 4: -location $1->desired_matrix->rows->enabled_p

Old value = true
New value = false
clear_glyph_matrix_rows (matrix=0x38d2a30, start=0, end=37) at dispnew.c:693
693	  for (; start < end; ++start)

Lisp Backtrace:
"redisplay_internal (C function)" (0x0)

Thread 1 "emacs" hit Hardware watchpoint 4: -location $1->desired_matrix->rows->enabled_p

Old value = false
New value = true
prepare_desired_row (w=0x45066d0, row=0x4509fa0, mode_line_p=false) at dispnew.c:1076
1076	      row->reversed_p = rp;

Lisp Backtrace:
"redisplay_internal (C function)" (0x0)

Thread 1 "emacs" hit Breakpoint 1, terminate_due_to_signal (sig=6, backtrace_limit=2147483647) at emacs.c:364
364	  signal (sig, SIG_DFL);

>> That's odd, since I believe unless there was a git error the first line
>> should start with "Head:" and pressing RET on it shows the commit at
>> HEAD. Maybe there's another situation where that's not the case.
>
> What if HEAD is a merge-commit?  I think this is what I got when I
> tried.  Anyway, this is just a tangential issue.

I believe it should still show the "Head:" line, but there's no hunks
that are displayed in the revision buffer. I tried reproducing by
pressing RET on a filename in its revision buffer and it also crashes.

>> Just to specify a commit, try M-x magit-show-commit RET 92045f45 RET in
>> an Emacs repo and press RET on the following line:
>> +@code{file-symlink-p}, @code{file-system-info}
>
> You mean "C-u M-x magit-show-commit", right?  Tried this as well,
> still no assertion violation.

If you want to force a completing-read for the commit, then yes. Too bad
you still can't reproduce it; every build I've configured with
"--enable-checking=yes,glyphs --enable-check-lisp-object-type
'CFLAGS=-O0 -g3'" crashes here.

> P.S. Btw, I'm debugging this in the emacs-26 branch, so perhaps so
> should you, to avoid any irrelevant differences between what you and I
> see.  I tried reproducing the assertion violation in both branches,
> and failed in both.

Okay, the debugging done above is with an up-to-date emacs-26
branch.





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

* bug#28710: 27.0.50; eassert failure in maybe_produce_line_number
  2017-10-07 23:05       ` Alex
@ 2017-10-08  6:29         ` Eli Zaretskii
  2017-10-08  7:11           ` Alex
  0 siblings, 1 reply; 18+ messages in thread
From: Eli Zaretskii @ 2017-10-08  6:29 UTC (permalink / raw)
  To: Alex; +Cc: 28710

> From: Alex <agrambot@gmail.com>
> Cc: 28710@debbugs.gnu.org
> Date: Sat, 07 Oct 2017 17:05:34 -0600
> 
> > I wrote instructions for a debugging session to find that out, see
> >
> >   https://debbugs.gnu.org/cgi/bugreport.cgi?bug=27668#89
> >
> > Instead of "r -Q", type just "run" to run Emacs as usual, or even
> > attach to an already running Emacs with "gdb -p", set the breakpoint,
> > and type "continue.  The "Inside Emacs" part will have to be replaced
> > with your recipe, up to and including step 5, and you should invoke
> > redraw-display just before hitting the final RET in step 6, the one
> > that triggers the assertion.  After performing the GDB commands and
> > continuing Emacs, hit RET, and post the backtraces from every time the
> > watchpoint set by those GDB commands is hit.  I hope we will then see
> > the offending code that needs to be fixed.
> >
> > Let me know if you need me to rewrite the instructions to fit your
> > case exactly.
> 
> Okay, I've pasted the output below. 2 watchpoints triggered right after
> M-x redraw-display, and I only get the third before the assertion.
> 
> After your recipe, you mention update_display and how it runs after
> Emacs "redrawn the window to the glass", so it should be noted that the
> assertion violated is triggered before the buffer with
> display-line-numbers is displayed.

Thanks, but I need a backtrace at each hit of the watchpoint.  The GDB
session I posted defined commands to be executed at the watchpoint, so
such a backtrace should have been executed whenever the watchpoint
triggered.  Those backtraces is what I need to determine where is the
enabled_p flag set, because one of those places is unexpected by the
code.  It's probably the last, but given what you posted, I cannot
see where did the call to prepare_desired_row originated.

Thanks.





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

* bug#28710: 27.0.50; eassert failure in maybe_produce_line_number
  2017-10-08  6:29         ` Eli Zaretskii
@ 2017-10-08  7:11           ` Alex
  2017-10-08  9:35             ` Eli Zaretskii
  0 siblings, 1 reply; 18+ messages in thread
From: Alex @ 2017-10-08  7:11 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 28710

Eli Zaretskii <eliz@gnu.org> writes:

> Thanks, but I need a backtrace at each hit of the watchpoint.  The GDB
> session I posted defined commands to be executed at the watchpoint, so
> such a backtrace should have been executed whenever the watchpoint
> triggered.  Those backtraces is what I need to determine where is the
> enabled_p flag set, because one of those places is unexpected by the
> code.  It's probably the last, but given what you posted, I cannot
> see where did the call to prepare_desired_row originated.
>
> Thanks.

Sorry, it seems that "M-x gdb" doesn't show the output of the commands
for me (is that a bug?), even with "M-x gdb-many-windows". I had to try
gdb on the command line to get the following:

Old value = false
New value = true
prepare_desired_row (w=0x15cac30 <bss_sbrk_buffer+8062480>, row=0x3a48c60, 
    mode_line_p=true) at dispnew.c:1076
1076	      row->reversed_p = rp;
#0  0x000000000041c601 in prepare_desired_row (w=0x15cac30 <bss_sbrk_buffer+8062480>, row=0x3a48c60, mode_line_p=true) at dispnew.c:1076
#1  0x000000000048c268 in display_mode_line (w=0x15cac30 <bss_sbrk_buffer+8062480>, face_id=HEADER_LINE_FACE_ID, format=XIL(0x4472854)) at xdisp.c:23210
#2  0x000000000048c151 in display_mode_lines (w=0x15cac30 <bss_sbrk_buffer+8062480>) at xdisp.c:23177
#3  0x000000000047608e in redisplay_window (window=XIL(0x15cac35), just_this_one_p=false) at xdisp.c:17416
#4  0x000000000046d001 in redisplay_window_0 (window=XIL(0x15cac35))
    at xdisp.c:14799
#5  0x0000000000646f53 in internal_condition_case_1 (bfun=0x46cfbf <redisplay_window_0>, arg=XIL(0x15cac35), handlers=XIL(0xe82d93), hfun=0x46cf87 <redisplay_window_error>) at eval.c:1356
---Type <return> to continue, or q <return> to quit---
#6  0x000000000046cf5c in redisplay_windows (window=XIL(0x15cac35)) at xdisp.c:14779
#7  0x000000000046b8f5 in redisplay_internal () at xdisp.c:14268
#8  0x00000000004690da in redisplay () at xdisp.c:13488
#9  0x0000000000594c9f in read_char (commandflag=1, map=XIL(0x4466753), prev_event=XIL(0), used_mouse_menu=0x7ffcdcb7f3bf, end_time=0x0) at keyboard.c:2480
#10 0x00000000005a4ffd in read_key_sequence (keybuf=0x7ffcdcb7f510, bufsize=30, prompt=XIL(0), dont_downcase_last=false, can_return_switch_frame=true, fix_current_buffer=true, prevent_redisplay=false)
    at keyboard.c:9147
#11 0x00000000005918d0 in command_loop_1 () at keyboard.c:1368
#12 0x0000000000646e78 in internal_condition_case (bfun=0x59148c <command_loop_1>, handlers=XIL(0x5220), hfun=0x590a93 <cmd_error>) at eval.c:1332
#13 0x0000000000591066 in command_loop_2 (ignore=XIL(0)) at keyboard.c:1110
#14 0x0000000000646381 in internal_catch (tag=XIL(0xc6c0), func=0x591039 <command_loop_2>, arg=XIL(0)) at eval.c:1097
#15 0x0000000000591004 in command_loop () at keyboard.c:1089
#16 0x000000000059057d in recursive_edit_1 () at keyboard.c:695
#17 0x0000000000590772 in Frecursive_edit () at keyboard.c:766
#18 0x000000000058e31a in main (argc=2, argv=0x7ffcdcb7f9d8) at emacs.c:1713

Lisp Backtrace:
"redisplay_internal (C function)" (0x0)

Thread 1 "emacs" hit Hardware watchpoint 4: -location $1->desired_matrix->rows->enabled_p

Old value = true
New value = false
clear_glyph_matrix_rows (matrix=0x3778570, start=0, end=37) at dispnew.c:693
693	  for (; start < end; ++start)
#0  0x000000000041b026 in clear_glyph_matrix_rows (matrix=0x3778570, start=0, end=37) at dispnew.c:693
#1  0x000000000041b060 in clear_glyph_matrix (matrix=0x3778570) at dispnew.c:712
#2  0x0000000000421a79 in update_window (w=0x15cac30 <bss_sbrk_buffer+8062480>, force_p=true) at dispnew.c:3554
#3  0x0000000000420d9c in update_window_tree (w=0x15cac30 <bss_sbrk_buffer+8062480>, force_p=true) at dispnew.c:3221
#4  0x0000000000420956 in update_frame (f=0x15c9c30 <bss_sbrk_buffer+8058384>, force_p=true, inhibit_hairy_id_p=false) at dispnew.c:3110
#5  0x000000000046bb29 in redisplay_internal () at xdisp.c:14346
#6  0x00000000004690da in redisplay () at xdisp.c:13488
#7  0x0000000000594c9f in read_char (commandflag=1, map=XIL(0x4466753), prev_event=XIL(0), used_mouse_menu=0x7ffcdcb7f3bf, end_time=0x0) at keyboard.c:2480
#8  0x00000000005a4ffd in read_key_sequence (keybuf=0x7ffcdcb7f510, bufsize=30, prompt=XIL(0), dont_downcase_last=false, can_return_switch_frame=true, fix_current_buffer=true, prevent_redisplay=false)
    at keyboard.c:9147
#9  0x00000000005918d0 in command_loop_1 () at keyboard.c:1368
#10 0x0000000000646e78 in internal_condition_case (bfun=0x59148c <command_loop_1>, handlers=XIL(0x5220), hfun=0x590a93 <cmd_error>) at eval.c:1332
#11 0x0000000000591066 in command_loop_2 (ignore=XIL(0)) at keyboard.c:1110
#12 0x0000000000646381 in internal_catch (tag=XIL(0xc6c0), func=0x591039 <command_loop_2>, arg=XIL(0)) at eval.c:1097
#13 0x0000000000591004 in command_loop () at keyboard.c:1089
#14 0x000000000059057d in recursive_edit_1 () at keyboard.c:695
#15 0x0000000000590772 in Frecursive_edit () at keyboard.c:766
#16 0x000000000058e31a in main (argc=2, argv=0x7ffcdcb7f9d8) at emacs.c:1713

Lisp Backtrace:
"redisplay_internal (C function)" (0x0)

Thread 1 "emacs" hit Hardware watchpoint 4: -location $1->desired_matrix->rows->enabled_p

Old value = false
New value = true
prepare_desired_row (w=0x15cac30 <bss_sbrk_buffer+8062480>, row=0x3a48c60, mode_line_p=false) at dispnew.c:1076
1076	      row->reversed_p = rp;
#0  0x000000000041c601 in prepare_desired_row (w=0x15cac30 <bss_sbrk_buffer+8062480>, row=0x3a48c60, mode_line_p=false) at dispnew.c:1076
#1  0x0000000000484290 in display_line (it=0x7ffcdcb79f50, cursor_vpos=15) at xdisp.c:21206
#2  0x0000000000477380 in try_window (window=XIL(0x15cac35), pos=..., flags=1) at xdisp.c:17592
---Type <return> to continue, or q <return> to quit---
#3  0x0000000000474866 in redisplay_window (window=XIL(0x15cac35), just_this_one_p=false) at xdisp.c:17039
#4  0x000000000046d001 in redisplay_window_0 (window=XIL(0x15cac35)) at xdisp.c:14799
#5  0x0000000000646f53 in internal_condition_case_1 (bfun=0x46cfbf <redisplay_window_0>, arg=XIL(0x15cac35), handlers=XIL(0xe82d93), hfun=0x46cf87 <redisplay_window_error>) at eval.c:1356
#6  0x000000000046cf5c in redisplay_windows (window=XIL(0x15cac35)) at xdisp.c:14779
#7  0x000000000046b8f5 in redisplay_internal () at xdisp.c:14268
#8  0x000000000046c628 in redisplay_preserve_echo_area (from_where=5) at xdisp.c:14602
#9  0x0000000000594c98 in read_char (commandflag=1, map=XIL(0x448fc93), prev_event=XIL(0), used_mouse_menu=0x7ffcdcb7f3bf, end_time=0x0) at keyboard.c:2478
#10 0x00000000005a4ffd in read_key_sequence (keybuf=0x7ffcdcb7f510, bufsize=30, prompt=XIL(0), dont_downcase_last=false, can_return_switch_frame=true, fix_current_buffer=true, prevent_redisplay=false)
    at keyboard.c:9147
#11 0x00000000005918d0 in command_loop_1 () at keyboard.c:1368
#12 0x0000000000646e78 in internal_condition_case (bfun=0x59148c <command_loop_1>, handlers=XIL(0x5220), hfun=0x590a93 <cmd_error>) at eval.c:1332
#13 0x0000000000591066 in command_loop_2 (ignore=XIL(0)) at keyboard.c:1110
#14 0x0000000000646381 in internal_catch (tag=XIL(0xc6c0), func=0x591039 <command_loop_2>, arg=XIL(0)) at eval.c:1097
#15 0x0000000000591004 in command_loop () at keyboard.c:1089
#16 0x000000000059057d in recursive_edit_1 () at keyboard.c:695
#17 0x0000000000590772 in Frecursive_edit () at keyboard.c:766
#18 0x000000000058e31a in main (argc=2, argv=0x7ffcdcb7f9d8) at emacs.c:1713








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

* bug#28710: 27.0.50; eassert failure in maybe_produce_line_number
  2017-10-08  7:11           ` Alex
@ 2017-10-08  9:35             ` Eli Zaretskii
  2017-10-08 10:09               ` Eli Zaretskii
  2017-10-08 19:05               ` Alex
  0 siblings, 2 replies; 18+ messages in thread
From: Eli Zaretskii @ 2017-10-08  9:35 UTC (permalink / raw)
  To: Alex; +Cc: 28710

> From: Alex <agrambot@gmail.com>
> Cc: 28710@debbugs.gnu.org
> Date: Sun, 08 Oct 2017 01:11:37 -0600
> 
> Sorry, it seems that "M-x gdb" doesn't show the output of the commands
> for me (is that a bug?)

Maybe it's a bug, I will look into that later.

> I had to try gdb on the command line to get the following:
[...]
> Thread 1 "emacs" hit Hardware watchpoint 4: -location $1->desired_matrix->rows->enabled_p
> 
> Old value = false
> New value = true
> prepare_desired_row (w=0x15cac30 <bss_sbrk_buffer+8062480>, row=0x3a48c60, mode_line_p=false) at dispnew.c:1076
> 1076	      row->reversed_p = rp;
> #0  0x000000000041c601 in prepare_desired_row (w=0x15cac30 <bss_sbrk_buffer+8062480>, row=0x3a48c60, mode_line_p=false) at dispnew.c:1076
> #1  0x0000000000484290 in display_line (it=0x7ffcdcb79f50, cursor_vpos=15) at xdisp.c:21206
> #2  0x0000000000477380 in try_window (window=XIL(0x15cac35), pos=..., flags=1) at xdisp.c:17592
> #3  0x0000000000474866 in redisplay_window (window=XIL(0x15cac35), just_this_one_p=false) at xdisp.c:17039

Hmm... now I'm confused.  Your original backtrace with assertion
violation indicated that it happened with the same call-stack below
redisplay_window:

> #1  0x000000000058c5d5 in terminate_due_to_signal (sig=6, backtrace_limit=2147483647) at emacs.c:394
> #2  0x00000000006233ad in die (msg=0x72ad60 "it->glyph_row == NULL || it->glyph_row->used[TEXT_AREA] == 0", file=0x726c3d "xdisp.c", line=21061) at alloc.c:7419
> #3  0x0000000000483af6 in maybe_produce_line_number (it=0x7ffef1f01900) at xdisp.c:21061
> #4  0x00000000004844c0 in display_line (it=0x7ffef1f01900, cursor_vpos=9) at xdisp.c:21276
> #5  0x00000000004772b8 in try_window (window=..., pos=..., flags=1) at xdisp.c:17592
> #6  0x000000000047479e in redisplay_window (window=..., just_this_one_p=false) at xdisp.c:17039

The only difference is the value of cursor_vpos (probably because you
hit RET on a different line or generally used a different commit?).
But if prepare_desired_row _does_ reset the enabled_p flag, then the
assertion violation could not have happened...

Perhaps try_window is called again, after the call which hit the
watchpoint?  To see if that's the case, please run the session again,
but modify it as follows:

  . do NOT define commands for the watchpoint
  . when the watchpoint triggers the first 2 times, type "continue"
  . when it triggers for the 3rd time, type these commands:

   (gdb) break xdisp.c:17039
   (gdb) commands
         > p w->desired_matrix->rows->enabled_p
	 > end
   (gdb) finish
   (gdb) finish
   (gdb) finish
   (gdb) continue

Then please tell: (a) what was the return value of try_window, as
printed in response to the 3rd "finish" command, and (b) whether the
breakpoint set on line 17039 of xdisp.c triggers right after that.  If
the breakpoint does trigger, please see if the value of the enabled_p
flag is printed as true or false.

> Too bad you still can't reproduce it; every build I've configured
> with "--enable-checking=yes,glyphs --enable-check-lisp-object-type
> 'CFLAGS=-O0 -g3'" crashes here.

I agree that it's unfortunate.  If you prefer, we could instead try
investigating why it doesn't happen for me: maybe we will succeed in
finding a variation that does, and then I can debug it here.

Here are some reasons why my configuration could work differently:

  . the default font/font size is different (although I did try 3
    non-default font sizes as well)
  . my Magit is not installed and is not byte-compiled, and neither
    are its dependencies, dash.el and with-editor.el; instead, I load
    Magit manually, using load-library, from the directory where I
    downloaded the latest Magit snapshot, before typing the recipe
    commands

Thanks.





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

* bug#28710: 27.0.50; eassert failure in maybe_produce_line_number
  2017-10-08  9:35             ` Eli Zaretskii
@ 2017-10-08 10:09               ` Eli Zaretskii
  2017-10-09 13:03                 ` Eli Zaretskii
  2017-10-08 19:05               ` Alex
  1 sibling, 1 reply; 18+ messages in thread
From: Eli Zaretskii @ 2017-10-08 10:09 UTC (permalink / raw)
  To: agrambot; +Cc: 28710

> Date: Sun, 08 Oct 2017 12:35:51 +0300
> From: Eli Zaretskii <eliz@gnu.org>
> Cc: 28710@debbugs.gnu.org
> 
> > From: Alex <agrambot@gmail.com>
> > Cc: 28710@debbugs.gnu.org
> > Date: Sun, 08 Oct 2017 01:11:37 -0600
> > 
> > Sorry, it seems that "M-x gdb" doesn't show the output of the commands
> > for me (is that a bug?)
> 
> Maybe it's a bug, I will look into that later.

Seems like some GDB bug or misfeature.  I've asked a question about it
on the GDB list.





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

* bug#28710: 27.0.50; eassert failure in maybe_produce_line_number
  2017-10-08  9:35             ` Eli Zaretskii
  2017-10-08 10:09               ` Eli Zaretskii
@ 2017-10-08 19:05               ` Alex
  2017-10-08 19:50                 ` Eli Zaretskii
  1 sibling, 1 reply; 18+ messages in thread
From: Alex @ 2017-10-08 19:05 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 28710

Eli Zaretskii <eliz@gnu.org> writes:

> The only difference is the value of cursor_vpos (probably because you
> hit RET on a different line or generally used a different commit?).

Yeah, I'm using a different commit, sorry.

> Then please tell: (a) what was the return value of try_window, as
> printed in response to the 3rd "finish" command, and (b) whether the
> breakpoint set on line 17039 of xdisp.c triggers right after that.  If
> the breakpoint does trigger, please see if the value of the enabled_p
> flag is printed as true or false.

The return value appears to be true. The breakpoint does trigger right
after, and enabled_p is also true:

Thread 1 "emacs" hit Hardware watchpoint 4: -location $1->desired_matrix->rows->enabled_p

Old value = false
New value = true
prepare_desired_row (w=0x1695d60 <bss_sbrk_buffer+8894272>, row=0x4182860, 
    mode_line_p=true) at dispnew.c:1076
1076	      row->reversed_p = rp;
(gdb) c
Continuing.

Thread 1 "emacs" hit Hardware watchpoint 4: -location $1->desired_matrix->rows->enabled_p

Old value = true
New value = false
clear_glyph_matrix_rows (matrix=0x3f524f0, start=0, end=37) at dispnew.c:693
693	  for (; start < end; ++start)
(gdb) c
Continuing.

Thread 1 "emacs" hit Hardware watchpoint 4: -location $1->desired_matrix->rows->enabled_p

Old value = false
New value = true
prepare_desired_row (w=0x1695d60 <bss_sbrk_buffer+8894272>, row=0x4182860, 
    mode_line_p=false) at dispnew.c:1076
1076	      row->reversed_p = rp;
(gdb) break xdisp.c:17039
Breakpoint 5 at 0x474844: file xdisp.c, line 17039.
(gdb) commands
Type commands for breakpoint(s) 5, one per line.
End with a line saying just "end".
>p w->desired_matrix->rows->enabled_p
>end
(gdb) finish
Run till exit from #0  prepare_desired_row (
    w=0x1695d60 <bss_sbrk_buffer+8894272>, row=0x4182860, mode_line_p=false)
    at dispnew.c:1076
display_line (it=0x7ffefb255dc0, cursor_vpos=25) at xdisp.c:21208
warning: Source file is more recent than executable.
21208	  row->y = it->current_y;
(gdb) finish
Run till exit from #0  display_line (it=0x7ffefb255dc0, cursor_vpos=25)
    at xdisp.c:21208
0x0000000000477380 in try_window (window=XIL(0x1695d65), pos=..., flags=1)
    at xdisp.c:17592
17592	      if (display_line (&it, cursor_vpos))
Value returned is $2 = true
(gdb) finish
Run till exit from #0  0x0000000000477380 in try_window (
    window=XIL(0x1695d65), pos=..., flags=1) at xdisp.c:17592
0x0000000000474866 in redisplay_window (window=XIL(0x1695d65), 
    just_this_one_p=false) at xdisp.c:17039
17039		  if (try_window (window, startp, TRY_WINDOW_CHECK_MARGINS) < 0)
Value returned is $3 = 1
(gdb) continue
Continuing.

Thread 1 "emacs" hit Breakpoint 5, redisplay_window (window=XIL(0x1695d65), just_this_one_p=false) at xdisp.c:17039
17039		  if (try_window (window, startp, TRY_WINDOW_CHECK_MARGINS) < 0)
$4 = true
(gdb) p w->desired_matrix->rows->enabled_p
$5 = true

> Here are some reasons why my configuration could work differently:
>
>   . the default font/font size is different (although I did try 3
>     non-default font sizes as well)
>   . my Magit is not installed and is not byte-compiled, and neither
>     are its dependencies, dash.el and with-editor.el; instead, I load
>     Magit manually, using load-library, from the directory where I
>     downloaded the latest Magit snapshot, before typing the recipe
>     commands

I tried it with a different font(size), without byte-compilation, and
with a magit git snapshot -- all still crashed for me. Have you tried
using MELPA[1] to install magit? Maybe that would work.

Footnotes: 
[1]  https://magit.vc/manual/magit/Installing-from-an-Elpa-Archive.html#Installing-from-an-Elpa-Archive






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

* bug#28710: 27.0.50; eassert failure in maybe_produce_line_number
  2017-10-08 19:05               ` Alex
@ 2017-10-08 19:50                 ` Eli Zaretskii
  2017-10-08 21:19                   ` Alex
  0 siblings, 1 reply; 18+ messages in thread
From: Eli Zaretskii @ 2017-10-08 19:50 UTC (permalink / raw)
  To: Alex; +Cc: 28710

> From: Alex <agrambot@gmail.com>
> Cc: 28710@debbugs.gnu.org
> Date: Sun, 08 Oct 2017 13:05:45 -0600
> 
> The return value appears to be true. The breakpoint does trigger right
> after, and enabled_p is also true:
> 
> Thread 1 "emacs" hit Hardware watchpoint 4: -location $1->desired_matrix->rows->enabled_p
> 
> Old value = false
> New value = true
> prepare_desired_row (w=0x1695d60 <bss_sbrk_buffer+8894272>, row=0x4182860, 
>     mode_line_p=true) at dispnew.c:1076
> 1076	      row->reversed_p = rp;
> (gdb) c
> Continuing.
> 
> Thread 1 "emacs" hit Hardware watchpoint 4: -location $1->desired_matrix->rows->enabled_p
> 
> Old value = true
> New value = false
> clear_glyph_matrix_rows (matrix=0x3f524f0, start=0, end=37) at dispnew.c:693
> 693	  for (; start < end; ++start)
> (gdb) c
> Continuing.
> 
> Thread 1 "emacs" hit Hardware watchpoint 4: -location $1->desired_matrix->rows->enabled_p
> 
> Old value = false
> New value = true
> prepare_desired_row (w=0x1695d60 <bss_sbrk_buffer+8894272>, row=0x4182860, 
>     mode_line_p=false) at dispnew.c:1076
> 1076	      row->reversed_p = rp;
> (gdb) break xdisp.c:17039
> Breakpoint 5 at 0x474844: file xdisp.c, line 17039.
> (gdb) commands
> Type commands for breakpoint(s) 5, one per line.
> End with a line saying just "end".
> >p w->desired_matrix->rows->enabled_p
> >end
> (gdb) finish
> Run till exit from #0  prepare_desired_row (
>     w=0x1695d60 <bss_sbrk_buffer+8894272>, row=0x4182860, mode_line_p=false)
>     at dispnew.c:1076
> display_line (it=0x7ffefb255dc0, cursor_vpos=25) at xdisp.c:21208
> warning: Source file is more recent than executable.
> 21208	  row->y = it->current_y;
> (gdb) finish
> Run till exit from #0  display_line (it=0x7ffefb255dc0, cursor_vpos=25)
>     at xdisp.c:21208
> 0x0000000000477380 in try_window (window=XIL(0x1695d65), pos=..., flags=1)
>     at xdisp.c:17592
> 17592	      if (display_line (&it, cursor_vpos))
> Value returned is $2 = true
> (gdb) finish
> Run till exit from #0  0x0000000000477380 in try_window (
>     window=XIL(0x1695d65), pos=..., flags=1) at xdisp.c:17592
> 0x0000000000474866 in redisplay_window (window=XIL(0x1695d65), 
>     just_this_one_p=false) at xdisp.c:17039
> 17039		  if (try_window (window, startp, TRY_WINDOW_CHECK_MARGINS) < 0)
> Value returned is $3 = 1
> (gdb) continue
> Continuing.
> 
> Thread 1 "emacs" hit Breakpoint 5, redisplay_window (window=XIL(0x1695d65), just_this_one_p=false) at xdisp.c:17039
> 17039		  if (try_window (window, startp, TRY_WINDOW_CHECK_MARGINS) < 0)
> $4 = true
> (gdb) p w->desired_matrix->rows->enabled_p
> $5 = true

OK, so we need to understand the path the code takes after try_window
returns the value 1.  This means, after typing "finish" 3 times, type
"next", then continue pressing RET until redisplay_window returns.  I
need to see the path through the code until we exit redisplay_window
to understand where to put the missing call to clear_glyph_matrix.

Also, please recompile Emacs because:

> warning: Source file is more recent than executable.

Thanks.

> Have you tried using MELPA[1] to install magit? Maybe that would
> work.

I'm not sure how will this help.  I don't want to install Magit, I
just use it from a directory where I unzipped its snapshot.  How using
MELPA would change that?





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

* bug#28710: 27.0.50; eassert failure in maybe_produce_line_number
  2017-10-08 19:50                 ` Eli Zaretskii
@ 2017-10-08 21:19                   ` Alex
  2017-10-09 12:40                     ` Eli Zaretskii
  0 siblings, 1 reply; 18+ messages in thread
From: Alex @ 2017-10-08 21:19 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 28710

Eli Zaretskii <eliz@gnu.org> writes:

> OK, so we need to understand the path the code takes after try_window
> returns the value 1.  This means, after typing "finish" 3 times, type
> "next", then continue pressing RET until redisplay_window returns.  I
> need to see the path through the code until we exit redisplay_window
> to understand where to put the missing call to clear_glyph_matrix.

Thread 1 "emacs" hit Hardware watchpoint 2: -location $1->desired_matrix->rows->enabled_p

Old value = false
New value = true
prepare_desired_row (w=0x15cac30 <bss_sbrk_buffer+8062480>, row=0x4827bc0, mode_line_p=false) at dispnew.c:1076
1076	      row->reversed_p = rp;
(gdb) b xdisp.c:17039
Breakpoint 3 at 0x474844: file xdisp.c, line 17039.
(gdb) commands
Type commands for breakpoint(s) 3, one per line.
End with a line saying just "end".
>p w->desired_matrix->rows->enabled_p
>end
(gdb) finish
Run till exit from #0  prepare_desired_row (
    w=0x15cac30 <bss_sbrk_buffer+8062480>, row=0x4827bc0, mode_line_p=false)
    at dispnew.c:1076
display_line (it=0x7ffd11e08a20, cursor_vpos=26) at xdisp.c:21208
21208	  row->y = it->current_y;
(gdb) finish
Run till exit from #0  display_line (it=0x7ffd11e08a20, cursor_vpos=26)
    at xdisp.c:21208
0x0000000000477380 in try_window (window=..., pos=..., flags=1)
    at xdisp.c:17592
17592	      if (display_line (&it, cursor_vpos))
Value returned is $2 = true
(gdb) finish
Run till exit from #0  0x0000000000477380 in try_window (window=..., pos=..., 
    flags=1) at xdisp.c:17592
0x0000000000474866 in redisplay_window (window=..., just_this_one_p=false)
    at xdisp.c:17039
17039		  if (try_window (window, startp, TRY_WINDOW_CHECK_MARGINS) < 0)
Value returned is $3 = 1
(gdb) n
17046	      if (f->fonts_changed)
(gdb) 
17049	      if (w->cursor.vpos >= 0)
(gdb) 
17051		  if (!just_this_one_p
(gdb) 
17055		    w->base_line_number = 0;
(gdb) 
17057		  if (!cursor_row_fully_visible_p (w, true, false))
(gdb) 
17064		    goto done;
(gdb) 
17393	  SET_TEXT_POS_FROM_MARKER (startp, w->start);
(gdb) 
17394	  w->start_at_line_beg = (CHARPOS (startp) == BEGV
(gdb) 
17395				  || FETCH_BYTE (BYTEPOS (startp) - 1) == '\n');
(gdb) 
17394	  w->start_at_line_beg = (CHARPOS (startp) == BEGV
(gdb) 
17398	  if ((update_mode_line
(gdb) 
17412	      && (window_wants_mode_line (w)
(gdb) 

17416	      display_mode_lines (w);
(gdb) 
17420	      if (window_wants_mode_line (w)
(gdb) 
17421		  && CURRENT_MODE_LINE_HEIGHT (w) != DESIRED_MODE_LINE_HEIGHT (w))
(gdb) 
17431	      if (window_wants_header_line (w)
(gdb) 
17440	      if (f->fonts_changed)
(gdb) 
17444	  if (!line_number_displayed && w->base_line_pos != -1)
(gdb) 
17450	 finish_menu_bars:
(gdb) 
17454	  if (update_mode_line
(gdb) 
17455	      && EQ (FRAME_SELECTED_WINDOW (f), window))
(gdb) 
17459	      if (FRAME_WINDOW_P (f))
(gdb) 
17463		  redisplay_menu_p = FRAME_EXTERNAL_MENU_BAR (f);
(gdb) 
17471	      if (redisplay_menu_p)
(gdb) 
17472	        display_menu_bar (w);
(gdb) 
17475	      if (FRAME_WINDOW_P (f))
(gdb) 
17478		  if (FRAME_EXTERNAL_TOOL_BAR (f))
(gdb) 
17479		    redisplay_tool_bar (f);
(gdb) 
17488	      x_consider_frame_title (w->frame);
(gdb) 
17493	  if (FRAME_WINDOW_P (f)
(gdb) 
17496					    || w->pseudo_window_p)))
(gdb) 
17495					    || (!used_current_matrix_p && !overlay_arrow_seen)
(gdb) 
17494	      && update_window_fringes (w, (just_this_one_p
(gdb) 
17511	  if (WINDOW_BOTTOM_DIVIDER_WIDTH (w))
(gdb) 
17519	 need_larger_matrices:
(gdb) 
17523	   if (WINDOW_HAS_VERTICAL_SCROLL_BAR (w) || WINDOW_HAS_HORIZONTAL_SCROLL_BAR (w))
(gdb) 
17525	      if (WINDOW_HAS_VERTICAL_SCROLL_BAR (w))
(gdb) 
17527		set_vertical_scroll_bar (w);
(gdb) 
17529	      if (WINDOW_HAS_HORIZONTAL_SCROLL_BAR (w))
(gdb) 
17535	      if (FRAME_TERMINAL (f)->redeem_scroll_bar_hook)
(gdb) 
17536	        (*FRAME_TERMINAL (f)->redeem_scroll_bar_hook) (w);
(gdb) 

17542	  if (CHARPOS (opoint) < BEGV)
(gdb) 
17544	  else if (CHARPOS (opoint) > ZV)
(gdb) 
17547	    TEMP_SET_PT_BOTH (CHARPOS (opoint), BYTEPOS (opoint));
(gdb) 
17549	  set_buffer_internal_1 (old);
(gdb) 
17552	  if (CHARPOS (lpoint) <= ZV)
(gdb) 
17553	    TEMP_SET_PT_BOTH (CHARPOS (lpoint), BYTEPOS (lpoint));
(gdb) 
17555	  unbind_to (count, Qnil);
(gdb) 
17556	}
(gdb) 
redisplay_window_0 (window=...) at xdisp.c:14800
14800	  return Qnil;
(gdb) 
14801	}
(gdb) 
internal_condition_case_1 (bfun=0x46cfbf <redisplay_window_0>, arg=..., handlers=..., hfun=0x46cf87 <redisplay_window_error>) at eval.c:1357
1357	      eassert (handlerlist == c);
(gdb) 
1358	      handlerlist = c->next;
(gdb) 
1359	      return val;
(gdb) 
1361	}
(gdb) 
redisplay_windows (window=...) at xdisp.c:14784
14784	      window = w->next;
(gdb) 
14768	  while (!NILP (window))
(gdb) 
14770	      struct window *w = XWINDOW (window);
(gdb) 
14772	      if (WINDOWP (w->contents))
(gdb) 
14774	      else if (BUFFERP (w->contents))
(gdb) 
14776		  displayed_buffer = XBUFFER (w->contents);
(gdb) 
14779		  internal_condition_case_1 (redisplay_window_0, window,
(gdb) 
14784	      window = w->next;
(gdb) 
14768	  while (!NILP (window))
(gdb) 
14786	}
(gdb) 
redisplay_internal () at xdisp.c:14275
14275		      if (!FRAME_LIVE_P (f))
(gdb) 
14280		      if (gcscrollbars && FRAME_TERMINAL (f)->judge_scroll_bars_hook)
(gdb) 
14281			FRAME_TERMINAL (f)->judge_scroll_bars_hook (f);
(gdb) 
14283		      if (FRAME_VISIBLE_P (f) && !FRAME_OBSCURED_P (f))
(gdb) 
14286			  if (f->fonts_changed)
(gdb) 
14298			  if (!f->already_hscrolled_p)
(gdb) 
14300			      f->already_hscrolled_p = true;
(gdb) 
14301	                      if (hscroll_retries <= MAX_HSCROLL_RETRIES
(gdb) 
14302	                          && hscroll_windows (f->root_window))
(gdb) 
14320			  if (!f_redisplay_flag && f->redisplay)
(gdb) 
14321	                    goto retry_frame;
(gdb) 
14256		  if (FRAME_WINDOW_P (f) || FRAME_TERMCAP_P (f) || f == sf)
(gdb) 
14260			= f->redisplay || !REDISPLAY_SOME_P ();
(gdb) 
14258		      bool gcscrollbars
(gdb) 
14261		      bool f_redisplay_flag = f->redisplay;
(gdb) 
14264		      if (gcscrollbars && FRAME_TERMINAL (f)->condemn_scroll_bars_hook)
(gdb) 
14265			FRAME_TERMINAL (f)->condemn_scroll_bars_hook (f);
(gdb) 
14267		      if (FRAME_VISIBLE_P (f) && !FRAME_OBSCURED_P (f))
(gdb) 
14268			redisplay_windows (FRAME_ROOT_WINDOW (f));
(gdb) 

Thread 1 "emacs" hit Breakpoint 3, redisplay_window (window=..., just_this_one_p=false) at xdisp.c:17039
17039		  if (try_window (window, startp, TRY_WINDOW_CHECK_MARGINS) < 0)
$4 = true
(gdb) 

Thread 1 "emacs" received signal SIGABRT, Aborted.
raise (sig=6) at ../sysdeps/unix/sysv/linux/raise.c:51

>> Have you tried using MELPA[1] to install magit? Maybe that would
>> work.
>
> I'm not sure how will this help.  I don't want to install Magit, I
> just use it from a directory where I unzipped its snapshot.  How using
> MELPA would change that?

I'm not sure how either; MELPA was just on my mind since that's how I'm
using Magit's dependencies.





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

* bug#28710: 27.0.50; eassert failure in maybe_produce_line_number
  2017-10-08 21:19                   ` Alex
@ 2017-10-09 12:40                     ` Eli Zaretskii
  2017-10-09 17:56                       ` Alex
  0 siblings, 1 reply; 18+ messages in thread
From: Eli Zaretskii @ 2017-10-09 12:40 UTC (permalink / raw)
  To: Alex; +Cc: 28710

> From: Alex <agrambot@gmail.com>
> Cc: 28710@debbugs.gnu.org
> Date: Sun, 08 Oct 2017 15:19:53 -0600
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> > OK, so we need to understand the path the code takes after try_window
> > returns the value 1.  This means, after typing "finish" 3 times, type
> > "next", then continue pressing RET until redisplay_window returns.  I
> > need to see the path through the code until we exit redisplay_window
> > to understand where to put the missing call to clear_glyph_matrix.
> 
> Thread 1 "emacs" hit Hardware watchpoint 2: -location $1->desired_matrix->rows->enabled_p

Thanks.  I installed a change that should fix the problem, please try
the latest emacs-26 branch.

As to why this doesn't happen to me: for some reason, on your system,
when all the frame's windows have been redisplayed, their frame's
'redisplay' flag is set, and that causes redisplay_internal to
immediately redisplay all the windows again, see this part of your
transcript:

> 14320			  if (!f_redisplay_flag && f->redisplay)
> (gdb) 
> 14321	                    goto retry_frame;

On my system, the 'redisplay' flag stays reset, so this goto is
bypassed, and the problem doesn't happen.  If you can afford one last
effort, please re-run the recipe with a watchpoint set on the frame's
'redisplay' flag, and show the backtraces from every one of the
watchpoint's hits, then perhaps I will know next time what else to try
to reproduce such cases.

Specifically, after invoking redraw-display, which causes GDB to kick
in, do this:

  Thread 1 hit Breakpoint 3, Fredraw_display () at dispnew.c:3032
  3032      FOR_EACH_FRAME (tail, frame)
  (gdb) n
  3033        if (FRAME_VISIBLE_P (XFRAME (frame)))
  (gdb) p XFRAME(frame)
  $1 = (struct frame *) 0x1b5e380 <dumped_data+4020672>
  (gdb) p $1->redisplay
  $2 = true
  (gdb) watch -l $1->redisplay
  Hardware watchpoint 4: -location $1->redisplay
  (gdb) commands
     > bt
     > continue
     > end
  (gdb) continue

and then continue with the recipe, and show all the backtraces you get.





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

* bug#28710: 27.0.50; eassert failure in maybe_produce_line_number
  2017-10-08 10:09               ` Eli Zaretskii
@ 2017-10-09 13:03                 ` Eli Zaretskii
  0 siblings, 0 replies; 18+ messages in thread
From: Eli Zaretskii @ 2017-10-09 13:03 UTC (permalink / raw)
  To: agrambot; +Cc: 28710

> Date: Sun, 08 Oct 2017 13:09:30 +0300
> From: Eli Zaretskii <eliz@gnu.org>
> Cc: 28710@debbugs.gnu.org
> 
> > > Sorry, it seems that "M-x gdb" doesn't show the output of the commands
> > > for me (is that a bug?)
> > 
> > Maybe it's a bug, I will look into that later.
> 
> Seems like some GDB bug or misfeature.  I've asked a question about it
> on the GDB list.

The conclusion is that it's a bug, so it will be fixed in a future
version of GDB.  If you can patch and rebuild your GDB, a patch that
worked for me and that applies to GDB 8.0 is here:

  https://sourceware.org/ml/gdb/2017-10/msg00029.html





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

* bug#28710: 27.0.50; eassert failure in maybe_produce_line_number
  2017-10-09 12:40                     ` Eli Zaretskii
@ 2017-10-09 17:56                       ` Alex
  2017-10-09 18:51                         ` Eli Zaretskii
  0 siblings, 1 reply; 18+ messages in thread
From: Alex @ 2017-10-09 17:56 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 28710

Eli Zaretskii <eliz@gnu.org> writes:


> Thanks.  I installed a change that should fix the problem, please try
> the latest emacs-26 branch.

Looks like it's fixed, thanks.

> Specifically, after invoking redraw-display, which causes GDB to kick
> in, do this:
>
>   Thread 1 hit Breakpoint 3, Fredraw_display () at dispnew.c:3032
>   3032      FOR_EACH_FRAME (tail, frame)
>   (gdb) n
>   3033        if (FRAME_VISIBLE_P (XFRAME (frame)))
>   (gdb) p XFRAME(frame)
>   $1 = (struct frame *) 0x1b5e380 <dumped_data+4020672>
>   (gdb) p $1->redisplay
>   $2 = true
>   (gdb) watch -l $1->redisplay
>   Hardware watchpoint 4: -location $1->redisplay
>   (gdb) commands
>      > bt
>      > continue
>      > end
>   (gdb) continue
>
> and then continue with the recipe, and show all the backtraces you get.

Unfortunately, when I try to use XFRAME, I get:
  No symbol "__builtin_assume_aligned" in current context.

I tried the following workaround, but no backtraces showed up:

Thread 1 "emacs-26.0.60.4" hit Breakpoint 1, Fredraw_display ()
    at dispnew.c:3032
3032	  FOR_EACH_FRAME (tail, frame)
(gdb) n
3033	    if (FRAME_VISIBLE_P (XFRAME (frame)))
(gdb) p (struct frame *) XLI(frame) - Lisp_Vectorlike
$3 = (struct frame *) 0x15c9285 <bss_sbrk_buffer+8055909>
(gdb) p $3->redisplay
$4 = false
(gdb) watch -l $3->redisplay
Hardware watchpoint 2: -location $3->redisplay
(gdb) commands
Type commands for breakpoint(s) 2, one per line.
End with a line saying just "end".
>bt
>continue
>end
(gdb) c
Continuing.

Thread 1 "emacs-26.0.60.4" received signal SIGABRT, Aborted.





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

* bug#28710: 27.0.50; eassert failure in maybe_produce_line_number
  2017-10-09 17:56                       ` Alex
@ 2017-10-09 18:51                         ` Eli Zaretskii
  2017-10-09 19:36                           ` Alex
  0 siblings, 1 reply; 18+ messages in thread
From: Eli Zaretskii @ 2017-10-09 18:51 UTC (permalink / raw)
  To: Alex; +Cc: 28710

> From: Alex <agrambot@gmail.com>
> Cc: 28710@debbugs.gnu.org
> Date: Mon, 09 Oct 2017 11:56:20 -0600
> 
> > Thanks.  I installed a change that should fix the problem, please try
> > the latest emacs-26 branch.
> 
> Looks like it's fixed, thanks.

Great, thanks for testing.

> >   Thread 1 hit Breakpoint 3, Fredraw_display () at dispnew.c:3032
> >   3032      FOR_EACH_FRAME (tail, frame)
> >   (gdb) n
> >   3033        if (FRAME_VISIBLE_P (XFRAME (frame)))
> >   (gdb) p XFRAME(frame)
> >   $1 = (struct frame *) 0x1b5e380 <dumped_data+4020672>
> >   (gdb) p $1->redisplay
> >   $2 = true
> >   (gdb) watch -l $1->redisplay
> >   Hardware watchpoint 4: -location $1->redisplay
> >   (gdb) commands
> >      > bt
> >      > continue
> >      > end
> >   (gdb) continue
> >
> > and then continue with the recipe, and show all the backtraces you get.
> 
> Unfortunately, when I try to use XFRAME, I get:
>   No symbol "__builtin_assume_aligned" in current context.

OK, then you could use a slightly different way:

  Thread 1 hit Breakpoint 3, Fredraw_display () at dispnew.c:3032
  3032      FOR_EACH_FRAME (tail, frame)
  (gdb) n
  3033        if (FRAME_VISIBLE_P (XFRAME (frame)))
  (gdb) p frame
  $1 = XIL(0xa000000001b5e380)
  (gdb) xframe
  $2 = (struct frame *) 0x1b5e380 <dumped_data+4020672>
  "emacs@HOME-C4E4A596F7"
  (gdb) p $2->redisplay
  $3 = true
  (gdb) watch -l $2->redisplay
  Hardware watchpoint 4: -location $2->redisplay
  (gdb) commands
  Type commands for breakpoint(s) 4, one per line.
  End with a line saying just "end".
    >bt
    >continue
    >end
  (gdb) continue

(The "xframe" command is defined in src/.gdbinit, so if you are not
running GDB from the src directory, you will need to tell it to read
that file:

  (gdb) source /path/to/emacs/src/.gdbinit

> I tried the following workaround, but no backtraces showed up:
> 
> Thread 1 "emacs-26.0.60.4" hit Breakpoint 1, Fredraw_display ()
>     at dispnew.c:3032
> 3032	  FOR_EACH_FRAME (tail, frame)
> (gdb) n
> 3033	    if (FRAME_VISIBLE_P (XFRAME (frame)))
> (gdb) p (struct frame *) XLI(frame) - Lisp_Vectorlike
> $3 = (struct frame *) 0x15c9285 <bss_sbrk_buffer+8055909>

When I try this, I get a different frame pointer and a warning message
from GDB.  So let's hope this workaround is incorrect ;-)

Thanks.





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

* bug#28710: 27.0.50; eassert failure in maybe_produce_line_number
  2017-10-09 18:51                         ` Eli Zaretskii
@ 2017-10-09 19:36                           ` Alex
  2017-10-10  6:21                             ` Eli Zaretskii
  0 siblings, 1 reply; 18+ messages in thread
From: Alex @ 2017-10-09 19:36 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 28710

Eli Zaretskii <eliz@gnu.org> writes:

> OK, then you could use a slightly different way:
>
>   Thread 1 hit Breakpoint 3, Fredraw_display () at dispnew.c:3032
>   3032      FOR_EACH_FRAME (tail, frame)
>   (gdb) n
>   3033        if (FRAME_VISIBLE_P (XFRAME (frame)))
>   (gdb) p frame
>   $1 = XIL(0xa000000001b5e380)
>   (gdb) xframe
>   $2 = (struct frame *) 0x1b5e380 <dumped_data+4020672>
>   "emacs@HOME-C4E4A596F7"
>   (gdb) p $2->redisplay
>   $3 = true
>   (gdb) watch -l $2->redisplay
>   Hardware watchpoint 4: -location $2->redisplay
>   (gdb) commands
>   Type commands for breakpoint(s) 4, one per line.
>   End with a line saying just "end".
>     >bt
>     >continue
>     >end
>   (gdb) continue

Okay, I got the second backtrace after pressing RET:

Thread 1 "emacs" hit Hardware watchpoint 4: -location $2->redisplay

Old value = true
New value = false
redisplay_internal () at xdisp.c:14366
14366			  f->garbaged = false;
#0  0x000000000046bd61 in redisplay_internal () at xdisp.c:14366
#1  0x00000000004690da in redisplay () at xdisp.c:13488
#2  0x0000000000594cb1 in read_char (commandflag=1, map=XIL(0x541d1c3), prev_event=XIL(0), used_mouse_menu=0x7ffd34b0a21f, end_time=0x0) at keyboard.c:2480
#3  0x00000000005a500f in read_key_sequence (keybuf=0x7ffd34b0a370, bufsize=30, prompt=XIL(0), dont_downcase_last=false, can_return_switch_frame=true, fix_current_buffer=true, prevent_redisplay=false)
    at keyboard.c:9147
#4  0x00000000005918e2 in command_loop_1 () at keyboard.c:1368
#5  0x0000000000646e96 in internal_condition_case (bfun=0x59149e <command_loop_1>, handlers=XIL(0x5220), hfun=0x590aa5 <cmd_error>) at eval.c:1332
#6  0x0000000000591078 in command_loop_2 (ignore=XIL(0)) at keyboard.c:1110
#7  0x000000000064639f in internal_catch (tag=XIL(0xc6c0), func=0x59104b <command_loop_2>, arg=XIL(0)) at eval.c:1097
#8  0x0000000000591016 in command_loop () at keyboard.c:1089
#9  0x000000000059058f in recursive_edit_1 () at keyboard.c:695
#10 0x0000000000590784 in Frecursive_edit () at keyboard.c:766
#11 0x000000000058e32c in main (argc=2, argv=0x7ffd34b0a838) at emacs.c:1713

Lisp Backtrace:
"redisplay_internal (C function)" (0x0)

Thread 1 "emacs" hit Hardware watchpoint 4: -location $2->redisplay

Old value = false
New value = true
fset_redisplay (f=0x15cac30 <bss_sbrk_buffer+8062480>) at xdisp.c:600
600	}
#0  0x000000000043eddc in fset_redisplay (f=0x15cac30 <bss_sbrk_buffer+8062480>) at xdisp.c:600
#1  0x000000000057abb6 in xg_update_scrollbar_pos (f=0x15cac30 <bss_sbrk_buffer+8062480>, scrollbar_id=0, top=0, left=736, width=16, height=612) at gtkutil.c:3942
#2  0x0000000000547fd9 in XTset_vertical_scroll_bar (w=0x15cbc30 <bss_sbrk_buffer+8066576>, portion=1228, whole=8237, position=0) at xterm.c:6809
#3  0x00000000004728d9 in set_vertical_scroll_bar (w=0x15cbc30 <bss_sbrk_buffer+8066576>) at xdisp.c:16372
#4  0x0000000000476f90 in redisplay_window (window=XIL(0x15cbc35), just_this_one_p=false) at xdisp.c:17527
#5  0x000000000046d001 in redisplay_window_0 (window=XIL(0x15cbc35)) at xdisp.c:14799
#6  0x0000000000646f71 in internal_condition_case_1 (bfun=0x46cfbf <redisplay_window_0>, arg=XIL(0x15cbc35), handlers=XIL(0xe82d93), hfun=0x46cf87 <redisplay_window_error>) at eval.c:1356
#7  0x000000000046cf5c in redisplay_windows (window=XIL(0x15cbc35)) at xdisp.c:14779
#8  0x000000000046b8f5 in redisplay_internal () at xdisp.c:14268
#9  0x00000000004690da in redisplay () at xdisp.c:13488
#10 0x0000000000594cb1 in read_char (commandflag=1, map=XIL(0x55117d3), prev_event=XIL(0), used_mouse_menu=0x7ffd34b0a21f, end_time=0x0) at keyboard.c:2480
#11 0x00000000005a500f in read_key_sequence (keybuf=0x7ffd34b0a370, bufsize=30, prompt=XIL(0), dont_downcase_last=false, can_return_switch_frame=true, fix_current_buffer=true, prevent_redisplay=false)
    at keyboard.c:9147
#12 0x00000000005918e2 in command_loop_1 () at keyboard.c:1368
#13 0x0000000000646e96 in internal_condition_case (bfun=0x59149e <command_loop_1>, handlers=XIL(0x5220), hfun=0x590aa5 <cmd_error>) at eval.c:1332
#14 0x0000000000591078 in command_loop_2 (ignore=XIL(0)) at keyboard.c:1110
#15 0x000000000064639f in internal_catch (tag=XIL(0xc6c0), func=0x59104b <command_loop_2>, arg=XIL(0)) at eval.c:1097
#16 0x0000000000591016 in command_loop () at keyboard.c:1089
#17 0x000000000059058f in recursive_edit_1 () at keyboard.c:695
#18 0x0000000000590784 in Frecursive_edit () at keyboard.c:766
#19 0x000000000058e32c in main (argc=2, argv=0x7ffd34b0a838) at emacs.c:1713





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

* bug#28710: 27.0.50; eassert failure in maybe_produce_line_number
  2017-10-09 19:36                           ` Alex
@ 2017-10-10  6:21                             ` Eli Zaretskii
  0 siblings, 0 replies; 18+ messages in thread
From: Eli Zaretskii @ 2017-10-10  6:21 UTC (permalink / raw)
  To: Alex; +Cc: 28710-done

> From: Alex <agrambot@gmail.com>
> Cc: 28710@debbugs.gnu.org
> Date: Mon, 09 Oct 2017 13:36:41 -0600
> 
> Thread 1 "emacs" hit Hardware watchpoint 4: -location $2->redisplay
> 
> Old value = false
> New value = true
> fset_redisplay (f=0x15cac30 <bss_sbrk_buffer+8062480>) at xdisp.c:600
> 600	}
> #0  0x000000000043eddc in fset_redisplay (f=0x15cac30 <bss_sbrk_buffer+8062480>) at xdisp.c:600
> #1  0x000000000057abb6 in xg_update_scrollbar_pos (f=0x15cac30 <bss_sbrk_buffer+8062480>, scrollbar_id=0, top=0, left=736, width=16, height=612) at gtkutil.c:3942
> #2  0x0000000000547fd9 in XTset_vertical_scroll_bar (w=0x15cbc30 <bss_sbrk_buffer+8066576>, portion=1228, whole=8237, position=0) at xterm.c:6809
> #3  0x00000000004728d9 in set_vertical_scroll_bar (w=0x15cbc30 <bss_sbrk_buffer+8066576>) at xdisp.c:16372
> #4  0x0000000000476f90 in redisplay_window (window=XIL(0x15cbc35), just_this_one_p=false) at xdisp.c:17527

Thanks, this is what I suspected: the difference between our systems
is that your Emacs is built with GTK, and moving the thumb of the GTK
scroll bar marks the frame garbaged, which also sets its redisplay
flag.

So this mystery is now solved, and we can close the bug.





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

end of thread, other threads:[~2017-10-10  6:21 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-10-04 22:31 bug#28710: 27.0.50; eassert failure in maybe_produce_line_number Alex
2017-10-05  8:30 ` Eli Zaretskii
2017-10-05 23:51   ` Alex
2017-10-06  8:38     ` Eli Zaretskii
2017-10-07 23:05       ` Alex
2017-10-08  6:29         ` Eli Zaretskii
2017-10-08  7:11           ` Alex
2017-10-08  9:35             ` Eli Zaretskii
2017-10-08 10:09               ` Eli Zaretskii
2017-10-09 13:03                 ` Eli Zaretskii
2017-10-08 19:05               ` Alex
2017-10-08 19:50                 ` Eli Zaretskii
2017-10-08 21:19                   ` Alex
2017-10-09 12:40                     ` Eli Zaretskii
2017-10-09 17:56                       ` Alex
2017-10-09 18:51                         ` Eli Zaretskii
2017-10-09 19:36                           ` Alex
2017-10-10  6:21                             ` Eli Zaretskii

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).