* 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 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-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-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 external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.