bug#27668: 26.0.50; Crash with display-line-numbers t

classic Classic list List threaded Threaded
31 messages Options
12
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

bug#27668: 26.0.50; Crash with display-line-numbers t

Robert Pluim
I've had emacs crash on me twice today with the same backtrace. It
appears to be related to setting display-line-numbers to t, although
I'd been running the scratch/line-numbers branch for a while without
any problems.

It *seems* to happen the second time I do 'C-x C-f' from a buffer that
has display-line-numbers t, although I'm having a hard time coming up
with a reliable reproduction method, nor have a got a recipe from
'emacs -Q' (yet).

I have an example trapped in gdb, let me know if you need more info.

bt full:

(gdb) bt full
#0  terminate_due_to_signal (sig=sig@entry=6, backtrace_limit=backtrace_limit@entry=2147483647) at emacs.c:363
No locals.
#1  0x00000000005a5084 in die (msg=msg@entry=0x6987d8 "pdl->kind == SPECPDL_BACKTRACE",
    file=file@entry=0x698448 "eval.c", line=line@entry=150) at alloc.c:7348
No locals.
#2  0x0000000000419f3b in backtrace_function (pdl=<optimized out>) at eval.c:150
No locals.
#3  <function called from gdb>
No symbol table info available.
#4  terminate_due_to_signal (sig=sig@entry=6, backtrace_limit=backtrace_limit@entry=2147483647) at emacs.c:363
No locals.
#5  0x00000000005a5084 in die (msg=msg@entry=0x679355 "row->pixel_width >= 0", file=file@entry=0x678fc8 "xdisp.c",
    line=line@entry=19775) at alloc.c:7348
No locals.
#6  0x000000000044fd4f in compute_line_metrics (it=it@entry=0x7fffffff8160) at xdisp.c:19775
        i = <optimized out>
        min_y = <optimized out>
        max_y = <optimized out>
        row = 0x343ea30
#7  0x0000000000464404 in display_line (it=it@entry=0x7fffffff8160, cursor_vpos=cursor_vpos@entry=31) at xdisp.c:21944
        row = <optimized out>
        overlay_arrow_string = <optimized out>
        wrap_it = {
          window = XIL(0x306b1a4),
          w = 0x7fffffff8bd8,
          f = 0x1,
          method = GET_FROM_BUFFER,
          stop_charpos = 0,
          prev_stop = 4294967300,
          base_level_stop = 6,
          end_charpos = 0,
          s = 0x2a <error: Cannot access memory at address 0x2a>,
          string_nchars = -7338326661860733952,
          redisplay_end_trigger_charpos = 2,
          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 = true,
          dp = 0x0,
          dpvec = 0x1,
          dpend = 0x6,
          dpvec_char_len = -29744,
          dpvec_face_id = 32767,
          saved_face_id = -29912,
          ctl_chars = {XIL(0x4dea53), make_number(10), XIL(0x146d7d0), XIL(0x100000000), XIL(0x7fffffff8bd8), XIL(0),
            XIL(0x7fffffff8b30), XIL(0x306b1a4), make_number(2), XIL(0), XIL(0), make_number(10),
            XIL(0x9a2906c7fa034c00), XIL(0x1157714), XIL(0x7fffffff8b10), XIL(0)},
          start = {
            pos = {
              charpos = 1,
              bytepos = 0
            },
            overlay_string_index = 140737488327648,
            string_pos = {
              charpos = 0,
              bytepos = 5111028
            },
            dpvec_index = 1
          },
          current = {
---Type <return> to continue, or q <return> to quit---
            pos = {
              charpos = 140737488325392,
              bytepos = 0
            },
            overlay_string_index = 21419984,
            string_pos = {
              charpos = 4294967296,
              bytepos = 1
            },
            dpvec_index = 10
          },
          n_overlay_strings = 140737488325584,
          overlay_strings_charpos = 140737488325416,
          overlay_strings = {XIL(0x9a2906c7fa034c00), XIL(0x7fffffff8b28), XIL(0x7fffffff8b10), XIL(0x7fffffff8b10),
            XIL(0x9a2906c7fa034c00), XIL(0), XIL(0x1), XIL(0x7fffffff70d0), XIL(0x2dacc63), XIL(0), XIL(0x4920),
            XIL(0x7fffffff5d90), XIL(0), XIL(0x1), XIL(0x63116f), XIL(0x7fffffff8b28)},
          string_overlays = {XIL(0xdda404), make_number(1), make_number(1), XIL(0x4920), make_number(0),
            XIL(0xdda404), XIL(0x631ca0), make_number(0), XIL(0x633db8), XIL(0), XIL(0xdda404), make_number(1),
            make_number(1), XIL(0x4920), make_number(0), make_number(1)},
          string = XIL(0x6345a5),
          from_overlay = XIL(0x1),
          stack = {{
              string = make_number(0),
              string_nchars = 1,
              end_charpos = 2,
              stop_charpos = 14525444,
              prev_stop = 1,
              base_level_stop = 14525444,
              cmp_it = {
                stop_pos = 0,
                id = 6,
                ch = 4509939,
                rule_idx = 0,
                lookback = 140737488325592,
                nglyphs = 1,
                reversed_p = true,
                charpos = 0,
                nchars = 0,
                nbytes = 0,
                from = 4,
                to = 1,
                width = 1
              },
              face_id = 0,
              u = {
                image = {
                  object = XIL(0x100000001),
                  slice = {
                    x = XIL(0x9a2906c7fa034c00),
                    y = XIL(0),
                    width = XIL(0x7fffffff93e0),
                    height = XIL(0)
                  },
                  image_id = 1
                },
                stretch = {
                  object = XIL(0x100000001)
                },
                xwidget = {
                  object = XIL(0x100000001)
                }
              },
              position = {
---Type <return> to continue, or q <return> to quit---
                charpos = 1,
                bytepos = 140737488325584
              },
              current = {
                pos = {
                  charpos = 140737488325416,
                  bytepos = 5106259
                },
                overlay_string_index = 0,
                string_pos = {
                  charpos = 21419984,
                  bytepos = 4294967297
                },
                dpvec_index = -29736
              },
              from_overlay = XIL(0),
              area = -29904,
              method = 32767,
              paragraph_embedding = (unknown: 112),
              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 = WORD_WRAP,
              voffset = 0,
              space_width = XIL(0),
              font_height = XIL(0)
            }, {
              string = XIL(0x1),
              string_nchars = -100447232,
              end_charpos = 0,
              stop_charpos = 140737488325392,
              prev_stop = 0,
              base_level_stop = 1,
              cmp_it = {
                stop_pos = 0,
                id = 140737488327648,
                ch = 0,
                rule_idx = 5111028,
                lookback = 1,
                nglyphs = -29936,
                reversed_p = 255,
                charpos = 0,
                nchars = 5111057,
                nbytes = 0,
                from = 0,
                to = 0,
                width = 0
              },
              face_id = 0,
              u = {
                image = {
                  object = XIL(0x1),
                  slice = {
                    x = make_number(2),
                    y = XIL(0x9a2906c7fa034c00),
                    width = XIL(0),
                    height = XIL(0x7fffffff8b10)
                  },
                  image_id = 140737488325392
---Type <return> to continue, or q <return> to quit---
                },
                stretch = {
                  object = XIL(0x1)
                },
                xwidget = {
                  object = XIL(0x1)
                }
              },
              position = {
                charpos = -7338326661860733952,
                bytepos = 0
              },
              current = {
                pos = {
                  charpos = 1,
                  bytepos = 140737488319392
                },
                overlay_string_index = 140737488319392,
                string_pos = {
                  charpos = 0,
                  bytepos = 140737488319392
                },
                dpvec_index = 1
              },
              from_overlay = XIL(0x4e24e9),
              area = LEFT_MARGIN_AREA,
              method = GET_FROM_BUFFER,
              paragraph_embedding = (unknown: 4294937360),
              multibyte_p = true,
              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: 4294937360),
              voffset = 32767,
              space_width = make_number(1277725),
              font_height = XIL(0)
            }, {
              string = XIL(0x7fffffff93e0),
              string_nchars = 0,
              end_charpos = 5111028,
              stop_charpos = 27264240,
              prev_stop = 10,
              base_level_stop = 10,
              cmp_it = {
                stop_pos = 140737302826789,
                id = 0,
                ch = -37360,
                rule_idx = 88080848,
                lookback = 10,
                nglyphs = 10,
                reversed_p = false,
                charpos = 1,
                nchars = -37360,
                nbytes = 32767,
                from = 88080848,
                to = 0,
                width = 10
              },
              face_id = 10,
              u = {
---Type <return> to continue, or q <return> to quit---
                image = {
                  object = XIL(0x7fffffff6e10),
                  slice = {
                    x = XIL(0x7ffff61f8c79),
                    y = XIL(0x20),
                    width = XIL(0xf4ec70),
                    height = XIL(0x7fffffff70dc)
                  },
                  image_id = 94489280513
                },
                stretch = {
                  object = XIL(0x7fffffff6e10)
                },
                xwidget = {
                  object = XIL(0x7fffffff6e10)
                }
              },
              position = {
                charpos = 22,
                bytepos = 27264240
              },
              current = {
                pos = {
                  charpos = 0,
                  bytepos = 140737488325592
                },
                overlay_string_index = 25769803782,
                string_pos = {
                  charpos = 5,
                  bytepos = 0
                },
                dpvec_index = -1
              },
              from_overlay = XIL(0),
              area = LEFT_MARGIN_AREA,
              method = GET_FROM_BUFFER,
              paragraph_embedding = L2R,
              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: 4194520064),
              voffset = 1735,
              space_width = XIL(0),
              font_height = XIL(0x7fffffff93e0)
            }, {
              string = XIL(0),
              string_nchars = 1,
              end_charpos = 1,
              stop_charpos = 140737488325584,
              prev_stop = 140737488325416,
              base_level_stop = 5106259,
              cmp_it = {
                stop_pos = 0,
                id = 21419984,
                ch = 1,
                rule_idx = 140737488325592,
                lookback = 0,
                nglyphs = -29904,
                reversed_p = 255,
---Type <return> to continue, or q <return> to quit---
                charpos = 32,
                nchars = 1,
                nbytes = 0,
                from = 0,
                to = 0,
                width = 0
              },
              face_id = 22,
              u = {
                image = {
                  object = XIL(0x9a2906c7fa034c00),
                  slice = {
                    x = XIL(0),
                    y = XIL(0x7fffffff8b10),
                    width = XIL(0),
                    height = XIL(0x1)
                  },
                  image_id = 0
                },
                stretch = {
                  object = XIL(0x9a2906c7fa034c00)
                },
                xwidget = {
                  object = XIL(0x9a2906c7fa034c00)
                }
              },
              position = {
                charpos = 140737488327648,
                bytepos = 0
              },
              current = {
                pos = {
                  charpos = 5111028,
                  bytepos = 1
                },
                overlay_string_index = 140737488325392,
                string_pos = {
                  charpos = 0,
                  bytepos = 5111057
                },
                dpvec_index = 0
              },
              from_overlay = XIL(0),
              area = LEFT_MARGIN_AREA,
              method = GET_FROM_DISPLAY_VECTOR,
              paragraph_embedding = L2R,
              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 = WINDOW_WRAP,
              voffset = 0,
              space_width = XIL(0x9a2906c7fa034c00),
              font_height = XIL(0)
            }, {
              string = XIL(0x7fffffff8b10),
              string_nchars = -29936,
              end_charpos = 0,
              stop_charpos = 0,
              prev_stop = 16,
---Type <return> to continue, or q <return> to quit---
              base_level_stop = 6799399,
              cmp_it = {
                stop_pos = 5113057,
                id = 0,
                ch = 0,
                rule_idx = 0,
                lookback = 0,
                nglyphs = 0,
                reversed_p = false,
                charpos = 5110902,
                nchars = 0,
                nbytes = 0,
                from = 0,
                to = 0,
                width = 0
              },
              face_id = 0,
              u = {
                image = {
                  object = XIL(0),
                  slice = {
                    x = XIL(0x9a2906c7fa034c00),
                    y = XIL(0),
                    width = XIL(0x7fffffff8b10),
                    height = XIL(0)
                  },
                  image_id = 0
                },
                stretch = {
                  object = XIL(0)
                },
                xwidget = {
                  object = XIL(0)
                }
              },
              position = {
                charpos = 0,
                bytepos = 32
              },
              current = {
                pos = {
                  charpos = 1265,
                  bytepos = 5113057
                },
                overlay_string_index = 0,
                string_pos = {
                  charpos = 0,
                  bytepos = 0
                },
                dpvec_index = 0
              },
              from_overlay = XIL(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,
---Type <return> to continue, or q <return> to quit---
              voffset = 0,
              space_width = XIL(0),
              font_height = XIL(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 = 28,
          len = 3,
          cmp_it = {
            stop_pos = 146028888064,
            id = 0,
            ch = 10935,
            rule_idx = -1,
            lookback = 4294967294,
            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 = XIL(0),
            y = XIL(0),
            width = XIL(0),
            height = XIL(0)
          },
          space_width = XIL(0),
          voffset = 0,
          tab_width = 0,
          font_height = XIL(0),
          object = XIL(0x80000),
          position = {
            charpos = 0,
            bytepos = 16341029
          },
          truncation_pixel_width = 9551,
          continuation_pixel_width = 0,
          first_visible_x = 0,
          last_visible_x = 9551,
          last_visible_y = 0,
          extra_line_spacing = 1048576,
---Type <return> to continue, or q <return> to quit---
          max_extra_line_spacing = 0,
          override_ascent = 3798,
          override_descent = 1958,
          override_boff = 0,
          glyph_row = 0xffffffff,
          area = LEFT_MARGIN_AREA,
          nglyphs = 0,
          pixel_width = 0,
          ascent = 0,
          descent = 1,
          max_ascent = 1,
          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 = 1028,
          lnum_bytepos = 4294967266,
          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 = false,
          bidi_it = {
            bytepos = 0,
            charpos = 1048576,
            ch = 9551,
            nchars = 9551,
            ch_len = 0,
            type = 47893603,
            type_after_wn = UNKNOWN_BT,
            orig_type = UNKNOWN_BT,
            resolved_level = 0 '\000',
            isolate_level = 0 '\000',
            invalid_levels = 21552,
            invalid_isolates = 0,
            prev = {
              charpos = 57619507,
              type = STRONG_L,
              orig_type = UNKNOWN_BT
            },
            last_strong = {
              charpos = 57621456,
              type = 27264240,
              orig_type = UNKNOWN_BT
            },
            next_for_neutral = {
              charpos = 10,
              type = RLE,
              orig_type = UNKNOWN_BT
---Type <return> to continue, or q <return> to quit---
            },
            prev_for_neutral = {
              charpos = 140737302826789,
              type = STRONG_L,
              orig_type = UNKNOWN_BT
            },
            next_for_ws = {
              charpos = 140737488319344,
              type = 88080834,
              orig_type = UNKNOWN_BT
            },
            bracket_pairing_pos = 10,
            bracket_enclosed_type = RLE,
            next_en_pos = 1,
            next_en_type = 4294931312,
            sos = (L2R | R2L | unknown: 32764),
            scan_dir = 88080834,
            disp_pos = 10,
            disp_prop = 10,
            stack_idx = 0,
            level_stack = {{
                next_for_neutral_pos = 140737488319344,
                next_for_neutral_type = 1,
                last_strong_type = 7,
                prev_for_neutral_type = 1,
                level = 31 '\037',
                flags = 246 '\366'
              }, {
                next_for_neutral_pos = 21415872,
                next_for_neutral_type = 0,
                last_strong_type = 6,
                prev_for_neutral_type = 1,
                level = 175 '\257',
                flags = 1 '\001'
              }, {
                next_for_neutral_pos = 140737488320060,
                next_for_neutral_type = 4,
                last_strong_type = 5,
                prev_for_neutral_type = 3,
                level = 79 'O',
                flags = 0 '\000'
              }, {
                next_for_neutral_pos = 140737488316120,
                next_for_neutral_type = 0,
                last_strong_type = 6,
                prev_for_neutral_type = 3,
                level = 160 '\240',
                flags = 1 '\001'
              }, {
                next_for_neutral_pos = 140737488325392,
                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 = 0,
                last_strong_type = 2,
                prev_for_neutral_type = 0,
                level = 0 '\000',
                flags = 0 '\000'
              }, {
---Type <return> to continue, or q <return> to quit---
                next_for_neutral_pos = 0,
                next_for_neutral_type = 1,
                last_strong_type = 7,
                prev_for_neutral_type = 0,
                level = 78 'N',
                flags = 0 '\000'
              }, {
                next_for_neutral_pos = 0,
                next_for_neutral_type = 1,
                last_strong_type = 0,
                prev_for_neutral_type = 0,
                level = 0 '\000',
                flags = 0 '\000'
              }, {
                next_for_neutral_pos = -1,
                next_for_neutral_type = 0,
                last_strong_type = 2,
                prev_for_neutral_type = 7,
                level = 98 'b',
                flags = 0 '\000'
              }, {
                next_for_neutral_pos = 14583440,
                next_for_neutral_type = 0,
                last_strong_type = 0,
                prev_for_neutral_type = 0,
                level = 3 '\003',
                flags = 250 '\372'
              }, {
                next_for_neutral_pos = 140737488325392,
                next_for_neutral_type = 0,
                last_strong_type = 2,
                prev_for_neutral_type = 4,
                level = 255 '\377',
                flags = 255 '\377'
              }, {
                next_for_neutral_pos = 140737488325392,
                next_for_neutral_type = 0,
                last_strong_type = 0,
                prev_for_neutral_type = 0,
                level = 0 '\000',
                flags = 0 '\000'
              }, {
                next_for_neutral_pos = 16,
                next_for_neutral_type = 0,
                last_strong_type = 5,
                prev_for_neutral_type = 1,
                level = 78 'N',
                flags = 0 '\000'
              }, {
                next_for_neutral_pos = 42,
                next_for_neutral_type = 0,
                last_strong_type = 0,
                prev_for_neutral_type = 0,
                level = 3 '\003',
                flags = 250 '\372'
              }, {
                next_for_neutral_pos = 1,
                next_for_neutral_type = 0,
                last_strong_type = 2,
                prev_for_neutral_type = 4,
                level = 255 '\377',
                flags = 255 '\377'
              }, {
---Type <return> to continue, or q <return> to quit---
                next_for_neutral_pos = 0,
                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 = 4,
                prev_for_neutral_type = 1,
                level = 0 '\000',
                flags = 0 '\000'
              }, {
                next_for_neutral_pos = 1217,
                next_for_neutral_type = 1,
                last_strong_type = 7,
                prev_for_neutral_type = 0,
                level = 78 'N',
                flags = 0 '\000'
              }, {
                next_for_neutral_pos = 5,
                next_for_neutral_type = 1,
                last_strong_type = 0,
                prev_for_neutral_type = 0,
                level = 0 '\000',
                flags = 0 '\000'
              }, {
                next_for_neutral_pos = -1,
                next_for_neutral_type = 6,
                last_strong_type = 0,
                prev_for_neutral_type = 0,
                level = 0 '\000',
                flags = 0 '\000'
              }, {
                next_for_neutral_pos = 21419989,
                next_for_neutral_type = 0,
                last_strong_type = 0,
                prev_for_neutral_type = 0,
                level = 3 '\003',
                flags = 250 '\372'
              }, {
                next_for_neutral_pos = 140737488325392,
                next_for_neutral_type = 0,
                last_strong_type = 2,
                prev_for_neutral_type = 4,
                level = 255 '\377',
                flags = 255 '\377'
              }, {
                next_for_neutral_pos = 140737488325392,
                next_for_neutral_type = 0,
                last_strong_type = 0,
                prev_for_neutral_type = 0,
                level = 0 '\000',
                flags = 0 '\000'
              }, {
                next_for_neutral_pos = 1217,
                next_for_neutral_type = 0,
                last_strong_type = 5,
                prev_for_neutral_type = 1,
                level = 78 'N',
                flags = 0 '\000'
              }, {
---Type <return> to continue, or q <return> to quit---
                next_for_neutral_pos = 0,
                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 = 0,
                last_strong_type = 0,
                prev_for_neutral_type = 0,
                level = 0 '\000',
                flags = 0 '\000'
              }, {
                next_for_neutral_pos = 46827888,
                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 = 0,
                level = 0 '\000',
                flags = 0 '\000'
              }, {
                next_for_neutral_pos = 1,
                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 = 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 = 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 = 0,
                last_strong_type = 0,
                prev_for_neutral_type = 0,
                level = 0 '\000',
                flags = 0 '\000'
              }, {
---Type <return> to continue, or q <return> to quit---
                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 = 0,
                last_strong_type = 6,
                prev_for_neutral_type = 0,
                level = 255 '\377',
                flags = 255 '\377'
              }, {
                next_for_neutral_pos = 140737488317748,
                next_for_neutral_type = 4,
                last_strong_type = 6,
                prev_for_neutral_type = 4,
                level = 255 '\377',
                flags = 255 '\377'
              }, {
                next_for_neutral_pos = 140737488316460,
                next_for_neutral_type = 0,
                last_strong_type = 0,
                prev_for_neutral_type = 0,
                level = 0 '\000',
                flags = 0 '\000'
              }, {
                next_for_neutral_pos = 46849344,
                next_for_neutral_type = 3,
                last_strong_type = 3,
                prev_for_neutral_type = 2,
                level = 107 'k',
                flags = 244 '\364'
              }, {
                next_for_neutral_pos = 24868864,
                next_for_neutral_type = 0,
                last_strong_type = 6,
                prev_for_neutral_type = 1,
                level = 255 '\377',
                flags = 255 '\377'
              }, {
                next_for_neutral_pos = 140737488317744,
                next_for_neutral_type = 1,
                last_strong_type = 0,
                prev_for_neutral_type = 0,
                level = 0 '\000',
                flags = 0 '\000'
              }, {
                next_for_neutral_pos = 140737488317828,
                next_for_neutral_type = 4,
                last_strong_type = 0,
                prev_for_neutral_type = 6,
                level = 255 '\377',
                flags = 255 '\377'
              }, {
                next_for_neutral_pos = 140737488316540,
                next_for_neutral_type = 0,
                last_strong_type = 0,
                prev_for_neutral_type = 0,
                level = 0 '\000',
                flags = 0 '\000'
              }, {
---Type <return> to continue, or q <return> to quit---
                next_for_neutral_pos = 46849344,
                next_for_neutral_type = 3,
                last_strong_type = 3,
                prev_for_neutral_type = 2,
                level = 107 'k',
                flags = 244 '\364'
              }, {
                next_for_neutral_pos = 24868864,
                next_for_neutral_type = 0,
                last_strong_type = 0,
                prev_for_neutral_type = 3,
                level = 255 '\377',
                flags = 255 '\377'
              }, {
                next_for_neutral_pos = 140737488317824,
                next_for_neutral_type = 1,
                last_strong_type = 0,
                prev_for_neutral_type = 0,
                level = 0 '\000',
                flags = 0 '\000'
              }, {
                next_for_neutral_pos = 14525444,
                next_for_neutral_type = 1,
                last_strong_type = 0,
                prev_for_neutral_type = 0,
                level = 0 '\000',
                flags = 0 '\000'
              }, {
                next_for_neutral_pos = 21415872,
                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 = 4,
                last_strong_type = 5,
                prev_for_neutral_type = 3,
                level = 79 'O',
                flags = 0 '\000'
              }, {
                next_for_neutral_pos = 140737488316840,
                next_for_neutral_type = 7,
                last_strong_type = 7,
                prev_for_neutral_type = 7,
                level = 255 '\377',
                flags = 255 '\377'
              }, {
                next_for_neutral_pos = 140737488325392,
                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 = 5,
                last_strong_type = 6,
                prev_for_neutral_type = 4,
                level = 24 '\030',
                flags = 246 '\366'
              }, {
---Type <return> to continue, or q <return> to quit---
                next_for_neutral_pos = 0,
                next_for_neutral_type = 0,
                last_strong_type = 4,
                prev_for_neutral_type = 2,
                level = 160 '\240',
                flags = 1 '\001'
              }, {
                next_for_neutral_pos = 17512920,
                next_for_neutral_type = 1,
                last_strong_type = 4,
                prev_for_neutral_type = 2,
                level = 31 '\037',
                flags = 246 '\366'
              }, {
                next_for_neutral_pos = -1,
                next_for_neutral_type = 0,
                last_strong_type = 6,
                prev_for_neutral_type = 1,
                level = 244 '\364',
                flags = 0 '\000'
              }, {
                next_for_neutral_pos = 140737488317968,
                next_for_neutral_type = 0,
                last_strong_type = 0,
                prev_for_neutral_type = 0,
                level = 3 '\003',
                flags = 250 '\372'
              }, {
                next_for_neutral_pos = 140737488325392,
                next_for_neutral_type = 0,
                last_strong_type = 4,
                prev_for_neutral_type = 2,
                level = 255 '\377',
                flags = 255 '\377'
              }, {
                next_for_neutral_pos = 17512560,
                next_for_neutral_type = 0,
                last_strong_type = 2,
                prev_for_neutral_type = 0,
                level = 255 '\377',
                flags = 255 '\377'
              }, {
                next_for_neutral_pos = 140737325249344,
                next_for_neutral_type = 0,
                last_strong_type = 6,
                prev_for_neutral_type = 1,
                level = 244 '\364',
                flags = 0 '\000'
              }, {
                next_for_neutral_pos = 140737488322560,
                next_for_neutral_type = 2,
                last_strong_type = 2,
                prev_for_neutral_type = 0,
                level = 30 '\036',
                flags = 246 '\366'
              }, {
                next_for_neutral_pos = 0,
                next_for_neutral_type = 0,
                last_strong_type = 2,
                prev_for_neutral_type = 4,
                level = 255 '\377',
                flags = 255 '\377'
              }, {
---Type <return> to continue, or q <return> to quit---
                next_for_neutral_pos = 0,
                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 = 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 = 4,
                last_strong_type = 2,
                prev_for_neutral_type = 0,
                level = 0 '\000',
                flags = 0 '\000'
              }, {
                next_for_neutral_pos = 0,
                next_for_neutral_type = 1,
                last_strong_type = 0,
                prev_for_neutral_type = 0,
                level = 0 '\000',
                flags = 0 '\000'
              }, {
                next_for_neutral_pos = -1,
                next_for_neutral_type = 1,
                last_strong_type = 0,
                prev_for_neutral_type = 0,
                level = 0 '\000',
                flags = 0 '\000'
              }, {
                next_for_neutral_pos = 21419989,
                next_for_neutral_type = 0,
                last_strong_type = 0,
                prev_for_neutral_type = 0,
                level = 3 '\003',
                flags = 250 '\372'
              }, {
                next_for_neutral_pos = 140737488325392,
                next_for_neutral_type = 0,
                last_strong_type = 2,
                prev_for_neutral_type = 4,
                level = 255 '\377',
                flags = 255 '\377'
              }, {
                next_for_neutral_pos = 140737488325392,
                next_for_neutral_type = 0,
                last_strong_type = 0,
                prev_for_neutral_type = 0,
                level = 0 '\000',
                flags = 0 '\000'
              }, {
                next_for_neutral_pos = 1249,
                next_for_neutral_type = 0,
                last_strong_type = 5,
                prev_for_neutral_type = 1,
                level = 78 'N',
                flags = 0 '\000'
              }, {
---Type <return> to continue, or q <return> to quit---
                next_for_neutral_pos = 0,
                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 = 46827888,
                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 = 0,
                level = 0 '\000',
                flags = 0 '\000'
              }, {
                next_for_neutral_pos = 1,
                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 = 0,
                level = 0 '\000',
                flags = 0 '\000'
              } <repeats 11 times>, {
                next_for_neutral_pos = 0,
                next_for_neutral_type = 7,
                last_strong_type = 7,
                prev_for_neutral_type = 7,
                level = 255 '\377',
                flags = 255 '\377'
              }, {
                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 = 4294967295,
                next_for_neutral_type = 0,
                last_strong_type = 0,
                prev_for_neutral_type = 0,
                level = 0 '\000',
                flags = 0 '\000'
              }, {
---Type <return> to continue, or q <return> to quit---
                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 = 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 = 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 = 0,
                next_for_neutral_type = 0,
                last_strong_type = 0,
                prev_for_neutral_type = 0,
                level = 3 '\003',
                flags = 250 '\372'
              }, {
                next_for_neutral_pos = 0,
                next_for_neutral_type = 0,
                last_strong_type = 2,
                prev_for_neutral_type = 4,
                level = 255 '\377',
                flags = 255 '\377'
              }, {
                next_for_neutral_pos = 140737488325392,
                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 = 2,
                prev_for_neutral_type = 0,
                level = 0 '\000',
                flags = 0 '\000'
              }, {
                next_for_neutral_pos = 6799399,
                next_for_neutral_type = 1,
                last_strong_type = 7,
                prev_for_neutral_type = 0,
                level = 78 'N',
                flags = 0 '\000'
              }, {
---Type <return> to continue, or q <return> to quit---
                next_for_neutral_pos = 0,
                next_for_neutral_type = 1,
                last_strong_type = 0,
                prev_for_neutral_type = 0,
                level = 0 '\000',
                flags = 0 '\000'
              }, {
                next_for_neutral_pos = -1,
                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 = 0,
                level = 3 '\003',
                flags = 250 '\372'
              }, {
                next_for_neutral_pos = 140737488325392,
                next_for_neutral_type = 0,
                last_strong_type = 2,
                prev_for_neutral_type = 4,
                level = 255 '\377',
                flags = 255 '\377'
              }, {
                next_for_neutral_pos = 140737488325392,
                next_for_neutral_type = 0,
                last_strong_type = 0,
                prev_for_neutral_type = 0,
                level = 0 '\000',
                flags = 0 '\000'
              }, {
                next_for_neutral_pos = 16,
                next_for_neutral_type = 0,
                last_strong_type = 0,
                prev_for_neutral_type = 0,
                level = 3 '\003',
                flags = 250 '\372'
              }, {
                next_for_neutral_pos = 0,
                next_for_neutral_type = 0,
                last_strong_type = 2,
                prev_for_neutral_type = 4,
                level = 255 '\377',
                flags = 255 '\377'
              }, {
                next_for_neutral_pos = 0,
                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 = 4,
                level = 202 '\312',
                flags = 0 '\000'
              }, {
---Type <return> to continue, or q <return> to quit---
                next_for_neutral_pos = 0,
                next_for_neutral_type = 0,
                last_strong_type = 0,
                prev_for_neutral_type = 4,
                level = 241 '\361',
                flags = 0 '\000'
              }, {
                next_for_neutral_pos = 0,
                next_for_neutral_type = 0,
                last_strong_type = 4,
                prev_for_neutral_type = 6,
                level = 255 '\377',
                flags = 255 '\377'
              }, {
                next_for_neutral_pos = 21419984,
                next_for_neutral_type = 2,
                last_strong_type = 1,
                prev_for_neutral_type = 6,
                level = 100 'd',
                flags = 0 '\000'
              }, {
                next_for_neutral_pos = 5629499535654928,
                next_for_neutral_type = 0,
                last_strong_type = 2,
                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 = 3 '\003',
                flags = 250 '\372'
              }, {
                next_for_neutral_pos = 50058280,
                next_for_neutral_type = 7,
                last_strong_type = 6,
                prev_for_neutral_type = 3,
                level = 71 'G',
                flags = 0 '\000'
              }, {
                next_for_neutral_pos = 0,
                next_for_neutral_type = 0,
                last_strong_type = 6,
                prev_for_neutral_type = 7,
                level = 255 '\377',
                flags = 255 '\377'
              }, {
                next_for_neutral_pos = 21419984,
                next_for_neutral_type = 2,
                last_strong_type = 1,
                prev_for_neutral_type = 6,
                level = 100 'd',
                flags = 0 '\000'
              }, {
                next_for_neutral_pos = 5629499535654928,
                next_for_neutral_type = 0,
                last_strong_type = 2,
                prev_for_neutral_type = 0,
                level = 0 '\000',
                flags = 0 '\000'
              }, {
---Type <return> to continue, or q <return> to quit---
                next_for_neutral_pos = 0,
                next_for_neutral_type = 0,
                last_strong_type = 0,
                prev_for_neutral_type = 0,
                level = 3 '\003',
                flags = 250 '\372'
              }, {
                next_for_neutral_pos = 50058280,
                next_for_neutral_type = 7,
                last_strong_type = 6,
                prev_for_neutral_type = 3,
                level = 71 'G',
                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 = 0,
                last_strong_type = 0,
                prev_for_neutral_type = 0,
                level = 3 '\003',
                flags = 250 '\372'
              }, {
                next_for_neutral_pos = 0,
                next_for_neutral_type = 0,
                last_strong_type = 0,
                prev_for_neutral_type = 0,
                level = 123 '{',
                flags = 1 '\001'
              }, {
                next_for_neutral_pos = 140737488322492,
                next_for_neutral_type = 1,
                last_strong_type = 1,
                prev_for_neutral_type = 7,
                level = 64 '@',
                flags = 5 '\005'
              }, {
                next_for_neutral_pos = 573,
                next_for_neutral_type = 0,
                last_strong_type = 4,
                prev_for_neutral_type = 7,
                level = 135 '\207',
                flags = 1 '\001'
              }, {
                next_for_neutral_pos = 88080841,
                next_for_neutral_type = 0,
                last_strong_type = 0,
                prev_for_neutral_type = 0,
                level = 3 '\003',
                flags = 250 '\372'
              }, {
                next_for_neutral_pos = 85899345930,
                next_for_neutral_type = 0,
                last_strong_type = 4,
                prev_for_neutral_type = 5,
                level = 255 '\377',
                flags = 255 '\377'
              }, {
---Type <return> to continue, or q <return> to quit---
                next_for_neutral_pos = 0,
                next_for_neutral_type = 1,
                last_strong_type = 2,
                prev_for_neutral_type = 4,
                level = 0 '\000',
                flags = 0 '\000'
              }, {
                next_for_neutral_pos = 0,
                next_for_neutral_type = 0,
                last_strong_type = 6,
                prev_for_neutral_type = 4,
                level = 67 'C',
                flags = 3 '\003'
              }, {
                next_for_neutral_pos = 21419984,
                next_for_neutral_type = 2,
                last_strong_type = 5,
                prev_for_neutral_type = 3,
                level = 68 'D',
                flags = 0 '\000'
              }, {
                next_for_neutral_pos = 92,
                next_for_neutral_type = 0,
                last_strong_type = 2,
                prev_for_neutral_type = 3,
                level = 39 '\'',
                flags = 3 '\003'
              }},
            string = {
              lstring = XIL(0x146d7d5),
              s = 0x146d7d0 "\027`\002\004",
              schars = 21415872,
              bufpos = 0,
              from_disp_str = false,
              unibyte = false
            },
            w = 0x0,
            paragraph_dir = NEUTRAL_DIR,
            separator_limit = 0,
            first_elt = false,
            new_paragraph = false,
            frame_window_p = false
          },
          paragraph_embedding = NEUTRAL_DIR
        }
        wrap_data = <optimized out>
        may_wrap = <optimized out>
        wrap_x = <optimized out>
        wrap_row_used = <optimized out>
        wrap_row_ascent = <optimized out>
        wrap_row_height = <optimized out>
        wrap_row_phys_ascent = <optimized out>
        wrap_row_phys_height = <optimized out>
        wrap_row_extra_line_spacing = <optimized out>
        wrap_row_min_pos = <optimized out>
        wrap_row_min_bpos = <optimized out>
        wrap_row_max_pos = <optimized out>
        wrap_row_max_bpos = <optimized out>
        cvpos = <optimized out>
        min_pos = <optimized out>
        max_pos = <optimized out>
        min_bpos = <optimized out>
        max_bpos = <optimized out>
---Type <return> to continue, or q <return> to quit---
        pending_handle_line_prefix = <optimized out>
        header_line = <optimized out>
        hscroll_this_line = <optimized out>
        first_visible_x = <optimized out>
        last_visible_x = <optimized out>
        x_incr = <optimized out>
        line_number_needed = true
#8  0x00000000004672bd in try_window (window=..., window@entry=XIL(0x146d7d5), pos=..., flags=flags@entry=1)
    at xdisp.c:17544
        it = {
          window = XIL(0x146d7d5),
          w = 0x146d7d0,
          f = 0x146c7c0,
          method = GET_FROM_BUFFER,
          stop_charpos = 9689,
          prev_stop = 9589,
          base_level_stop = 9589,
          end_charpos = 13348,
          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 = 0x2b75418,
          dpvec = 0x0,
          dpend = 0x0,
          dpvec_char_len = 0,
          dpvec_face_id = 0,
          saved_face_id = 28,
          ctl_chars = {XIL(0) <repeats 16 times>},
          start = {
            pos = {
              charpos = 9551,
              bytepos = 9551
            },
            overlay_string_index = -1,
            string_pos = {
              charpos = -1,
              bytepos = -1
            },
            dpvec_index = -1
          },
          current = {
            pos = {
              charpos = 9615,
              bytepos = 9615
            },
            overlay_string_index = -1,
            string_pos = {
              charpos = -1,
              bytepos = -1
            },
            dpvec_index = -1
          },
          n_overlay_strings = 0,
          overlay_strings_charpos = 9589,
          overlay_strings = {XIL(0) <repeats 16 times>},
          string_overlays = {XIL(0) <repeats 16 times>},
---Type <return> to continue, or q <return> to quit---
          string = XIL(0),
          from_overlay = XIL(0),
          stack = {{
              string = XIL(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 = XIL(0),
                  slice = {
                    x = XIL(0),
                    y = XIL(0),
                    width = XIL(0),
                    height = XIL(0)
                  },
                  image_id = 0
                },
                stretch = {
                  object = XIL(0)
                },
                xwidget = {
                  object = XIL(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 = XIL(0),
              area = LEFT_MARGIN_AREA,
              method = GET_FROM_BUFFER,
              paragraph_embedding = NEUTRAL_DIR,
---Type <return> to continue, or q <return> to quit---
              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 = XIL(0),
              font_height = XIL(0)
            }, {
              string = XIL(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 = XIL(0),
                  slice = {
                    x = XIL(0),
                    y = XIL(0),
                    width = XIL(0),
                    height = XIL(0)
                  },
                  image_id = 0
                },
                stretch = {
                  object = XIL(0)
                },
                xwidget = {
                  object = XIL(0)
                }
              },
              position = {
                charpos = 0,
                bytepos = 0
              },
              current = {
                pos = {
                  charpos = 0,
                  bytepos = 0
                },
                overlay_string_index = 0,
                string_pos = {
---Type <return> to continue, or q <return> to quit---
                  charpos = 0,
                  bytepos = 0
                },
                dpvec_index = 0
              },
              from_overlay = XIL(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 = XIL(0),
              font_height = XIL(0)
            }, {
              string = XIL(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 = XIL(0),
                  slice = {
                    x = XIL(0),
                    y = XIL(0),
                    width = XIL(0),
                    height = XIL(0)
                  },
                  image_id = 0
                },
                stretch = {
                  object = XIL(0)
                },
                xwidget = {
                  object = XIL(0)
                }
              },
              position = {
                charpos = 0,
---Type <return> to continue, or q <return> to quit---
                bytepos = 0
              },
              current = {
                pos = {
                  charpos = 0,
                  bytepos = 0
                },
                overlay_string_index = 0,
                string_pos = {
                  charpos = 0,
                  bytepos = 0
                },
                dpvec_index = 0
              },
              from_overlay = XIL(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 = XIL(0),
              font_height = XIL(0)
            }, {
              string = XIL(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 = XIL(0),
                  slice = {
                    x = XIL(0),
                    y = XIL(0),
                    width = XIL(0),
                    height = XIL(0)
                  },
                  image_id = 0
                },
---Type <return> to continue, or q <return> to quit---
                stretch = {
                  object = XIL(0)
                },
                xwidget = {
                  object = XIL(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 = XIL(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 = XIL(0),
              font_height = XIL(0)
            }, {
              string = XIL(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 = {
---Type <return> to continue, or q <return> to quit---
                  object = XIL(0),
                  slice = {
                    x = XIL(0),
                    y = XIL(0),
                    width = XIL(0),
                    height = XIL(0)
                  },
                  image_id = 0
                },
                stretch = {
                  object = XIL(0)
                },
                xwidget = {
                  object = XIL(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 = XIL(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 = XIL(0),
              font_height = XIL(0)
            }},
          sp = 0,
          selective = 0,
          what = IT_CHARACTER,
          face_id = 28,
          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,
---Type <return> to continue, or q <return> to quit---
          line_wrap = WINDOW_WRAP,
          base_face_id = 0,
          c = 0,
          len = 1,
          cmp_it = {
            stop_pos = 9615,
            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 = 10,
          glyphless_method = GLYPHLESS_DISPLAY_THIN_SPACE,
          image_id = 0,
          xwidget = 0x0,
          slice = {
            x = XIL(0),
            y = XIL(0),
            width = XIL(0),
            height = XIL(0)
          },
          space_width = XIL(0),
          voffset = 0,
          tab_width = 8,
          font_height = XIL(0),
          object = XIL(0xf95825),
          position = {
            charpos = 9614,
            bytepos = 9614
          },
          truncation_pixel_width = 0,
          continuation_pixel_width = 16,
          first_visible_x = 0,
          last_visible_x = 3798,
          last_visible_y = 1958,
          extra_line_spacing = 0,
          max_extra_line_spacing = 0,
          override_ascent = -1,
          override_descent = 0,
          override_boff = 0,
          glyph_row = 0x343ea30,
          area = TEXT_AREA,
          nglyphs = 1,
          pixel_width = 16,
          ascent = 25,
          descent = 6,
          max_ascent = 25,
          max_descent = 6,
          phys_ascent = 0,
          phys_descent = 0,
          max_phys_ascent = 25,
          max_phys_descent = 6,
          current_x = 1088,
          continuation_lines_width = 0,
          eol_pos = {
---Type <return> to continue, or q <return> to quit---
            charpos = 9614,
            bytepos = 9614
          },
          current_y = 31,
          first_vpos = 0,
          vpos = 1,
          hpos = 68,
          lnum = 236,
          lnum_bytepos = 9551,
          lnum_width = 3,
          lnum_pixel_width = 80,
          pt_lnum = 266,
          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 = 9615,
            charpos = 9615,
            ch = 98,
            nchars = 1,
            ch_len = 1,
            type = STRONG_L,
            type_after_wn = STRONG_L,
            orig_type = STRONG_L,
            resolved_level = 0 '\000',
            isolate_level = 0 '\000',
            invalid_levels = 0,
            invalid_isolates = 0,
            prev = {
              charpos = 9614,
              type = NEUTRAL_B,
              orig_type = NEUTRAL_B
            },
            last_strong = {
              charpos = 9613,
              type = UNKNOWN_BT,
              orig_type = UNKNOWN_BT
            },
            next_for_neutral = {
              charpos = -1,
              type = UNKNOWN_BT,
              orig_type = UNKNOWN_BT
            },
            prev_for_neutral = {
              charpos = 9614,
              type = STRONG_L,
              orig_type = STRONG_L
            },
            next_for_ws = {
              charpos = -1,
              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 = 1,
            disp_pos = 9739,
            disp_prop = 0,
---Type <return> to continue, or q <return> to quit---
            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 = XIL(0),
              s = 0x0,
              schars = 0,
              bufpos = 0,
              from_disp_str = false,
              unibyte = false
            },
            w = 0x146d7d0,
            paragraph_dir = L2R,
            separator_limit = -1,
            first_elt = false,
            new_paragraph = false,
            frame_window_p = true
          },
          paragraph_embedding = L2R
        }
        last_text_row = 0x343e930
        cursor_vpos = 31
        it_charpos = <optimized out>
#9  0x000000000047f9ab in redisplay_window (window=XIL(0x146d7d5), just_this_one_p=just_this_one_p@entry=false)
    at xdisp.c:16991
        d2 = 0
        d6 = 0
        d1 = 0
        d5 = 0
        rtop = 0
        rbot = 0
        old = <optimized out>
        lpoint = <optimized out>
        opoint = <optimized out>
        startp = {
          charpos = 9489,
          bytepos = 9489
        }
        update_mode_line = true
        it = {
          window = XIL(0x146d7d5),
          w = 0x146d7d0,
          f = 0x146c7c0,
          method = GET_FROM_BUFFER,
          stop_charpos = 9489,
          prev_stop = 10932,
          base_level_stop = 9489,
          end_charpos = 13348,
          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,
---Type <return> to continue, or q <return> to quit---
          avoid_cursor_p = false,
          dp = 0x2b75418,
          dpvec = 0x0,
          dpend = 0x0,
          dpvec_char_len = 0,
          dpvec_face_id = 0,
          saved_face_id = 0,
          ctl_chars = {XIL(0) <repeats 16 times>},
          start = {
            pos = {
              charpos = 10932,
              bytepos = 10932
            },
            overlay_string_index = -1,
            string_pos = {
              charpos = -1,
              bytepos = -1
            },
            dpvec_index = -1
          },
          current = {
            pos = {
              charpos = 9489,
              bytepos = 9489
            },
            overlay_string_index = -1,
            string_pos = {
              charpos = -1,
              bytepos = -1
            },
            dpvec_index = -1
          },
          n_overlay_strings = 0,
          overlay_strings_charpos = 10932,
          overlay_strings = {XIL(0) <repeats 16 times>},
          string_overlays = {XIL(0) <repeats 16 times>},
          string = XIL(0),
          from_overlay = XIL(0),
          stack = {{
              string = XIL(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 = {
---Type <return> to continue, or q <return> to quit---
                  object = XIL(0),
                  slice = {
                    x = XIL(0),
                    y = XIL(0),
                    width = XIL(0),
                    height = XIL(0)
                  },
                  image_id = 0
                },
                stretch = {
                  object = XIL(0)
                },
                xwidget = {
                  object = XIL(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 = XIL(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 = XIL(0),
              font_height = XIL(0)
            }, {
              string = XIL(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,
---Type <return> to continue, or q <return> to quit---
                nchars = 0,
                nbytes = 0,
                from = 0,
                to = 0,
                width = 0
              },
              face_id = 0,
              u = {
                image = {
                  object = XIL(0),
                  slice = {
                    x = XIL(0),
                    y = XIL(0),
                    width = XIL(0),
                    height = XIL(0)
                  },
                  image_id = 0
                },
                stretch = {
                  object = XIL(0)
                },
                xwidget = {
                  object = XIL(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 = XIL(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 = XIL(0),
              font_height = XIL(0)
            }, {
              string = XIL(0),
              string_nchars = 0,
              end_charpos = 0,
              stop_charpos = 0,
              prev_stop = 0,
              base_level_stop = 0,
---Type <return> to continue, or q <return> to quit---
              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 = XIL(0),
                  slice = {
                    x = XIL(0),
                    y = XIL(0),
                    width = XIL(0),
                    height = XIL(0)
                  },
                  image_id = 0
                },
                stretch = {
                  object = XIL(0)
                },
                xwidget = {
                  object = XIL(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 = XIL(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,
---Type <return> to continue, or q <return> to quit---
              space_width = XIL(0),
              font_height = XIL(0)
            }, {
              string = XIL(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 = XIL(0),
                  slice = {
                    x = XIL(0),
                    y = XIL(0),
                    width = XIL(0),
                    height = XIL(0)
                  },
                  image_id = 0
                },
                stretch = {
                  object = XIL(0)
                },
                xwidget = {
                  object = XIL(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 = XIL(0),
              area = LEFT_MARGIN_AREA,
              method = GET_FROM_BUFFER,
              paragraph_embedding = NEUTRAL_DIR,
---Type <return> to continue, or q <return> to quit---
              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 = XIL(0),
              font_height = XIL(0)
            }, {
              string = XIL(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 = XIL(0),
                  slice = {
                    x = XIL(0),
                    y = XIL(0),
                    width = XIL(0),
                    height = XIL(0)
                  },
                  image_id = 0
                },
                stretch = {
                  object = XIL(0)
                },
                xwidget = {
                  object = XIL(0)
                }
              },
              position = {
                charpos = 0,
                bytepos = 0
              },
              current = {
                pos = {
                  charpos = 0,
                  bytepos = 0
                },
                overlay_string_index = 0,
                string_pos = {
---Type <return> to continue, or q <return> to quit---
                  charpos = 0,
                  bytepos = 0
                },
                dpvec_index = 0
              },
              from_overlay = XIL(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 = XIL(0),
              font_height = XIL(0)
            }},
          sp = 0,
          selective = 0,
          what = IT_CHARACTER,
          face_id = 28,
          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 = 34,
          len = 0,
          cmp_it = {
            stop_pos = 10935,
            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 = XIL(0),
            y = XIL(0),
            width = XIL(0),
---Type <return> to continue, or q <return> to quit---
            height = XIL(0)
          },
          space_width = XIL(0),
          voffset = 0,
          tab_width = 8,
          font_height = XIL(0),
          object = XIL(0xf95825),
          position = {
            charpos = 9489,
            bytepos = 9489
          },
          truncation_pixel_width = 0,
          continuation_pixel_width = 16,
          first_visible_x = 0,
          last_visible_x = 3798,
          last_visible_y = 1958,
          extra_line_spacing = 0,
          max_extra_line_spacing = 0,
          override_ascent = -1,
          override_descent = 0,
          override_boff = 0,
          glyph_row = 0x0,
          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 = 997,
          first_vpos = 0,
          vpos = -31,
          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 = 9489,
            charpos = 9489,
            ch = 0,
            nchars = -1,
            ch_len = 0,
            type = NEUTRAL_B,
            type_after_wn = NEUTRAL_B,
            orig_type = NEUTRAL_B,
            resolved_level = 0 '\000',
---Type <return> to continue, or q <return> to quit---
            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 123 times>, {
                next_for_neutral_pos = 0,
                next_for_neutral_type = 0,
                last_strong_type = 0,
                prev_for_neutral_type = 0,
                level = 218 '\332',
                flags = 0 '\000'
              }, {
                next_for_neutral_pos = 6,
                next_for_neutral_type = 1,
                last_strong_type = 4,
                prev_for_neutral_type = 5,
                level = 106 'j',
                flags = 1 '\001'
              }, {
                next_for_neutral_pos = 1,
                next_for_neutral_type = 0,
                last_strong_type = 0,
                prev_for_neutral_type = 0,
---Type <return> to continue, or q <return> to quit---
                level = 218 '\332',
                flags = 0 '\000'
              }, {
                next_for_neutral_pos = 6,
                next_for_neutral_type = 2,
                last_strong_type = 0,
                prev_for_neutral_type = 6,
                level = 86 'V',
                flags = 0 '\000'
              }, {
                next_for_neutral_pos = 0,
                next_for_neutral_type = 0,
                last_strong_type = 4,
                prev_for_neutral_type = 5,
                level = 106 'j',
                flags = 1 '\001'
              }},
            string = {
              lstring = XIL(0),


              s = 0x5b0f94 <default_value+324> "H\203\304\b\303\017\037\200",
              schars = 10512,
              bufpos = 5967961,
              from_disp_str = false,
              unibyte = false
            },

            w = 0x560169 <buffer_local_value+489>,
            paragraph_dir = NEUTRAL_DIR,
            separator_limit = 21424096,
            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 = <optimized out>
        temp_scroll_step = false
        rc = 25909504
        centering_position = -1
        last_line_misfit = false
        beg_unchanged = <optimized out>
        end_unchanged = <optimized out>
        frame_line_height = <optimized out>
        margin = <optimized out>
        use_desired_matrix = <optimized out>
        itdata = 0x0
#10 0x00000000004831fb in redisplay_window_0 (window=..., window@entry=XIL(0x146d7d5)) at xdisp.c:14751
No locals.
#11 0x00000000005c7cf4 in internal_condition_case_1 (bfun=bfun@entry=0x4831d0 <redisplay_window_0>, arg=...,
    handlers=..., hfun=hfun@entry=0x435960 <redisplay_window_error>) at eval.c:1350
        val = XIL(0x4d)
        c = 0x173b780
#12 0x000000000043d160 in redisplay_windows (window=...) at xdisp.c:14731
No locals.
#13 0x000000000046c945 in redisplay_internal () at xdisp.c:14220
        gcscrollbars = <optimized out>
        f_redisplay_flag = <optimized out>
        w = <optimized out>
        sw = <optimized out>
        pending = false
        must_finish = <optimized out>
        tlbufpos = <optimized out>
---Type <return> to continue, or q <return> to quit---
        tlendpos = <optimized out>
        number_of_visible_frames = <optimized out>
        sf = <optimized out>
        polling_stopped_here = false
        tail = <optimized out>
        frame = <optimized out>
        hscroll_retries = 0
        garbaged_frame_retries = 0
        consider_all_windows_p = <optimized out>
        update_miniwindow_p = <optimized out>
#14 0x000000000046eed5 in redisplay () at xdisp.c:13440
No locals.
#15 0x0000000000545cfb in read_char (commandflag=commandflag@entry=1, map=..., map@entry=XIL(0x36dda13),
    prev_event=..., used_mouse_menu=used_mouse_menu@entry=0x7fffffffd6cb, end_time=end_time@entry=0x0)
    at keyboard.c:2484
        echo_current = true
        c = <optimized out>
        jmpcount = <optimized out>
        local_getcjmp = {{
            __jmpbuf = {0, 47894787, 1, 47894784, 43730, 6478751, 31344, 140737488344384},
            __mask_was_saved = 16341024,
            __saved_mask = {
              __val = {13348, 16341029, 6478910, 13348, 6493927, 31344, 5999412, 0, 3, 16341024, 6073606, 43730,
                16341029, 10932, 31344, 6181603955547184155}
            }
          }}
        save_jump = {{
            __jmpbuf = {-8850944303828534838, 7782313075914899540, 5080973852243150467, -3888857915273982720,
              -8853780226898623147, 2383264908248154196, 33077798516626462, 1445320133139829774},
            __mask_was_saved = 554897104,
            __saved_mask = {
              __val = {9517247309503668499, 1035370607900819591, 9944197025784225813, 1623865207772288014,
                6779059137601146575, 2383264915891688718, 9376796853527913053, 1035370607900819682,
                1445320714031554581, 1067784266828680912, 2267685139, 0}
            }
          }}
        tem = XIL(0x7fffffffdb50)
        save = <optimized out>
        previous_echo_area_message = XIL(0)
        also_record = XIL(0)
        reread = false
        recorded = false
        polling_stopped_here = false
        orig_kboard = 0x18e9980
#16 0x0000000000548ddb in read_key_sequence (keybuf=keybuf@entry=0x7fffffffd7b0, prompt=..., prompt@entry=XIL(0),
    dont_downcase_last=dont_downcase_last@entry=false, can_return_switch_frame=can_return_switch_frame@entry=true,
    fix_current_buffer=fix_current_buffer@entry=true, prevent_redisplay=prevent_redisplay@entry=false, bufsize=30)
    at keyboard.c:9151
        interrupted_kboard = 0x18e9980
        interrupted_frame = 0x146c7c0
        key = <optimized out>
        used_mouse_menu = false
        echo_local_start = 0
        last_real_key_start = <optimized out>
        keys_local_start = <optimized out>
        new_binding = <optimized out>
        t = <optimized out>
        echo_start = 0
        keys_start = 0
        current_binding = XIL(0x36dda13)
        first_event = XIL(0)
        first_unbound = 31
---Type <return> to continue, or q <return> to quit---
        mock_input = 0
        fkey = {
          parent = XIL(0x117dcb3),
          map = XIL(0x117dcb3),
          start = 0,
          end = 0
        }
        keytran = {
          parent = XIL(0xd7a293),
          map = XIL(0xd7a293),
          start = 0,
          end = 0
        }
        indec = {
          parent = XIL(0x117dcc3),
          map = XIL(0x117dcc3),
          start = 0,
          end = 0
        }
        shift_translated = false
        delayed_switch_frame = XIL(0)
        original_uppercase = XIL(0)
        original_uppercase_position = -1
        dummyflag = false
        fake_prefixed_keys = XIL(0)
#17 0x000000000054b096 in command_loop_1 () at keyboard.c:1372
        cmd = XIL(0xf)
        keybuf = {make_number(113), XIL(0x9a2906c7fa034c00), make_number(4), XIL(0x1249f63), XIL(0x957bf0),
          XIL(0x9a2906c7fa034c00), XIL(0x7620), XIL(0), XIL(0xd14e70), make_number(0), XIL(0x7fffffffdb50),
          XIL(0x5b39e5), XIL(0), XIL(0x78), XIL(0), XIL(0x111da73), make_number(1000), XIL(0x5c72ed), XIL(0x80201),
          XIL(0x3200005), XIL(0x78), XIL(0), XIL(0x111da73), make_number(1515925), XIL(0x5), XIL(0x7620), XIL(0),
          XIL(0xd9fea5), XIL(0), XIL(0x9a2906c7fa034c00)}
        i = <optimized out>
        prev_modiff = 103
        prev_buffer = 0x23839d0
#18 0x00000000005c7c27 in internal_condition_case (bfun=bfun@entry=0x54adf0 <command_loop_1>, handlers=...,
    handlers@entry=XIL(0x4fb0), hfun=hfun@entry=0x53e770 <cmd_error>) at eval.c:1326
        val = XIL(0x4d)
        c = 0x173b660
#19 0x00000000005380dc in command_loop_2 (ignore=..., ignore@entry=XIL(0)) at keyboard.c:1114
        val = <optimized out>
#20 0x00000000005c7b6c in internal_catch (tag=..., tag@entry=XIL(0xc1e0), func=func@entry=0x5380c0 <command_loop_2>,
    arg=..., arg@entry=XIL(0)) at eval.c:1091
        val = XIL(0x4d)
        c = 0x173b540
#21 0x0000000000538099 in command_loop () at keyboard.c:1093
No locals.
#22 0x000000000053e296 in recursive_edit_1 () at keyboard.c:699
        val = <optimized out>
#23 0x000000000053e613 in Frecursive_edit () at keyboard.c:770
No locals.
#24 0x000000000041ad4b in main (argc=<optimized out>, argv=0x7fffffffdb58) at emacs.c:1706
        stack_bottom_variable = 0 '\000'
        do_initial_setlocale = <optimized out>
        dumping = <optimized out>
        skip_args = 0
        no_loadup = false
        junk = 0x0
        dname_arg = 0x0
        ch_to_dir = 0x0
        original_pwd = <optimized out>
        disable_aslr = <optimized out>
        rlim = {
---Type <return> to continue, or q <return> to quit---
          rlim_cur = 10022912,
          rlim_max = 18446744073709551615
        }
        sockfd = -1

Lisp Backtrace:

eval.c:150: Emacs fatal error: assertion failed: pdl->kind == SPECPDL_BACKTRACE

Thread 1 "emacs" hit Breakpoint 1, terminate_due_to_signal (sig=sig@entry=6,
    backtrace_limit=backtrace_limit@entry=2147483647) at emacs.c:363
363 {
The program being debugged stopped while in a function called from GDB.
Evaluation of the expression containing the function
(backtrace_function) will be abandoned.
When the function is done executing, GDB will silently stop.

xbactrace:

(gdb) xbacktrace

eval.c:150: Emacs fatal error: assertion failed: pdl->kind == SPECPDL_BACKTRACE

Thread 1 "emacs" hit Breakpoint 1, terminate_due_to_signal (sig=sig@entry=6,
    backtrace_limit=backtrace_limit@entry=2147483647) at emacs.c:363
363 {
The program being debugged stopped while in a function called from GDB.
Evaluation of the expression containing the function
(backtrace_function) will be abandoned.
When the function is done executing, GDB will silently stop.

In GNU Emacs 26.0.50 (build 16, x86_64-pc-linux-gnu, GTK+ Version 3.18.9)
 of 2017-07-12 built on rpluim-ubuntu
Repository revision: 3c32df9903c97ac70e003356d5e09334acf9c39d
Windowing system distributor 'The X.Org Foundation', version 11.0.11804000
System Description: KDE neon LTS User Edition 5.8

Configured using:
 'configure --enable-checking --enable-check-lisp-object-type'

Configured features:
XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS GCONF GSETTINGS
NOTIFY ACL LIBSELINUX GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB
TOOLKIT_SCROLL_BARS GTK3 X11



Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

bug#27668: 26.0.50; Crash with display-line-numbers t

Eli Zaretskii
> From: Robert Pluim <[hidden email]>
> Date: Wed, 12 Jul 2017 15:42:28 +0200
>
> I've had emacs crash on me twice today with the same backtrace. It
> appears to be related to setting display-line-numbers to t, although
> I'd been running the scratch/line-numbers branch for a while without
> any problems.
>
> It *seems* to happen the second time I do 'C-x C-f' from a buffer that
> has display-line-numbers t, although I'm having a hard time coming up
> with a reliable reproduction method, nor have a got a recipe from
> 'emacs -Q' (yet).
>
> I have an example trapped in gdb, let me know if you need more info.

Go to the call-stack frame #6, the one in compute_line_metrics, and
type

  (gdb) pgrowx it->glyph_row

Then post the results here.  (If it says "pgrowx" is an unknown
command, you need to "source .gdbinit" first.)

Thanks.



Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

bug#27668: 26.0.50; Crash with display-line-numbers t

Robert Pluim
In reply to this post by Robert Pluim
Eli Zaretskii <[hidden email]> writes:

>> From: Robert Pluim <[hidden email]>
>> Date: Wed, 12 Jul 2017 15:42:28 +0200
>>
>> I have an example trapped in gdb, let me know if you need more info.
>
> Go to the call-stack frame #6, the one in compute_line_metrics, and
> type
>
>   (gdb) pgrowx it->glyph_row
>
> Then post the results here.  (If it says "pgrowx" is an unknown
> command, you need to "source .gdbinit" first.)

GDB is not a happy bunny, that somehow turned into frame #14. Looks
like I was on line 237 of lisp/net/gnutls.el

#14 0x000000000044fd4f in compute_line_metrics (it=it@entry=0x7fffffff8160) at xdisp.c:19775
19775      eassert (row->pixel_width >= 0);
(gdb) pgrowx it->glyph_row
TEXT: 138 glyphs
  0    0: CHAR[ ] pos=-1 blev=2,btyp=EN w=16 a+d=25+6 face=23 MB AVOID
  1   16: CHAR[2] pos=-1 blev=2,btyp=EN w=16 a+d=25+6 face=23 MB AVOID
  2   32: CHAR[3] pos=-1 blev=2,btyp=EN w=16 a+d=25+6 face=23 MB AVOID
  3   48: CHAR[7] pos=-1 blev=2,btyp=EN w=16 a+d=25+6 face=23 MB AVOID
  4   64: CHAR[ ] pos=-1 blev=2,btyp=EN w=16 a+d=25+6 face=23 MB AVOID
  5   80: CHAR[c] pos=9551 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
  6   96: CHAR[e] pos=9552 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
  7  112: CHAR[r] pos=9553 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
  8  128: CHAR[t] pos=9554 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
  9  144: CHAR[i] pos=9555 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 10  160: CHAR[f] pos=9556 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 11  176: CHAR[i] pos=9557 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 12  192: CHAR[c] pos=9558 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 13  208: CHAR[a] pos=9559 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 14  224: CHAR[t] pos=9560 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 15  240: CHAR[e] pos=9561 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 16  256: CHAR['] pos=9562 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 17  272: CHAR[s] pos=9563 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 18  288: CHAR[ ] pos=9564 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 19  304: CHAR[h] pos=9565 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 20  320: CHAR[o] pos=9566 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 21  336: CHAR[s] pos=9567 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 22  352: CHAR[t] pos=9568 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 23  368: CHAR[ ] pos=9569 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 24  384: CHAR[n] pos=9570 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 25  400: CHAR[a] pos=9571 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 26  416: CHAR[m] pos=9572 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 27  432: CHAR[e] pos=9573 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 28  448: CHAR[.] pos=9574 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 29  464: CHAR[ ] pos=9575 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 30  480: CHAR[ ] pos=9576 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 31  496: CHAR[T] pos=9577 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 32  512: CHAR[h] pos=9578 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 33  528: CHAR[e] pos=9579 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 34  544: CHAR[ ] pos=9580 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 35  560: CHAR[e] pos=9581 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 36  576: CHAR[x] pos=9582 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 37  592: CHAR[a] pos=9583 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 38  608: CHAR[c] pos=9584 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 39  624: CHAR[t] pos=9585 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 40  640: CHAR[ ] pos=9586 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 41  656: CHAR[v] pos=9587 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 42  672: CHAR[e] pos=9588 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 43  688: CHAR[r] pos=9589 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 44  704: CHAR[i] pos=9590 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 45  720: CHAR[f] pos=9591 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 46  736: CHAR[i] pos=9592 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 47  752: CHAR[c] pos=9593 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 48  768: CHAR[a] pos=9594 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 49  784: CHAR[t] pos=9595 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 50  800: CHAR[i] pos=9596 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 51  816: CHAR[o] pos=9597 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 52  832: CHAR[n] pos=9598 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 53  848: CHAR[ ] pos=9599 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 54  864: CHAR[a] pos=9600 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 55  880: CHAR[l] pos=9601 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 56  896: CHAR[g] pos=9602 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 57  912: CHAR[o] pos=9603 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 58  928: CHAR[r] pos=9604 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 59  944: CHAR[i] pos=9605 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 60  960: CHAR[t] pos=9606 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 61  976: CHAR[h] pos=9607 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
---Type <return> to continue, or q <return> to quit---
 62  992: CHAR[m] pos=9608 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 63 1008: CHAR[ ] pos=9609 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 64 1024: CHAR[i] pos=9610 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 65 1040: CHAR[s] pos=9611 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 66 1056: CHAR[ ] pos=9612 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 67 1072: CHAR[a] pos=9613 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 68 1088: CHAR[ ] pos=0 blev=0,btyp=B w=16 a+d=25+6 face=28 MB
 69 1104: CHAR[s] pos=6237 blev=0,btyp=L w=16 a+d=25+6 MB
 70 1120: CHAR[ ] pos=0 blev=0,btyp=B w=16 a+d=25+6 MB
 71 1136:  str=0xc8676d[9683324] w=-15971 a+d=147+0 MB PAD N/A [ slice=49485,147,0,0
 72 -14835:  str=0xc8671b[9683580] w=-15715 a+d=147+0 MB PAD AVOID [ slice=49741,147,0,0
 74 -46113: CHAR[c] pos=9551 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 75 -46097: CHAR[e] pos=9552 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 76 -46081: CHAR[r] pos=9553 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 77 -46065: CHAR[t] pos=9554 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 78 -46049: CHAR[i] pos=9555 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 79 -46033: CHAR[f] pos=9556 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 80 -46017: CHAR[i] pos=9557 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 81 -46001: CHAR[c] pos=9558 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 82 -45985: CHAR[a] pos=9559 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 83 -45969: CHAR[t] pos=9560 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 84 -45953: CHAR[e] pos=9561 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 85 -45937: CHAR['] pos=9562 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 86 -45921: CHAR[s] pos=9563 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 87 -45905: CHAR[ ] pos=9564 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 88 -45889: CHAR[h] pos=9565 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 89 -45873: CHAR[o] pos=9566 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 90 -45857: CHAR[s] pos=9567 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 91 -45841: CHAR[t] pos=9568 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 92 -45825: CHAR[ ] pos=9569 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 93 -45809: CHAR[n] pos=9570 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 94 -45793: CHAR[a] pos=9571 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 95 -45777: CHAR[m] pos=9572 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 96 -45761: CHAR[e] pos=9573 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 97 -45745: CHAR[.] pos=9574 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 98 -45729: CHAR[ ] pos=9575 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 99 -45713: CHAR[ ] pos=9576 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
100 -45697: CHAR[T] pos=9577 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
101 -45681: CHAR[h] pos=9578 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
102 -45665: CHAR[e] pos=9579 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
103 -45649: CHAR[ ] pos=9580 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
104 -45633: CHAR[e] pos=9581 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
105 -45617: CHAR[x] pos=9582 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
106 -45601: CHAR[a] pos=9583 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
107 -45585: CHAR[c] pos=9584 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
108 -45569: CHAR[t] pos=9585 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
109 -45553: CHAR[ ] pos=9586 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
110 -45537: CHAR[v] pos=9587 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
111 -45521: CHAR[e] pos=9588 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
112 -45505: CHAR[r] pos=9589 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
113 -45489: CHAR[i] pos=9590 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
114 -45473: CHAR[f] pos=9591 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
115 -45457: CHAR[i] pos=9592 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
116 -45441: CHAR[c] pos=9593 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
117 -45425: CHAR[a] pos=9594 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
118 -45409: CHAR[t] pos=9595 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
119 -45393: CHAR[i] pos=9596 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
120 -45377: CHAR[o] pos=9597 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
121 -45361: CHAR[n] pos=9598 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
122 -45345: CHAR[ ] pos=9599 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
123 -45329: CHAR[a] pos=9600 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
124 -45313: CHAR[l] pos=9601 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
---Type <return> to continue, or q <return> to quit---
125 -45297: CHAR[g] pos=9602 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
126 -45281: CHAR[o] pos=9603 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
127 -45265: CHAR[r] pos=9604 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
128 -45249: CHAR[i] pos=9605 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
129 -45233: CHAR[t] pos=9606 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
130 -45217: CHAR[h] pos=9607 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
131 -45201: CHAR[m] pos=9608 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
132 -45185: CHAR[ ] pos=9609 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
133 -45169: CHAR[i] pos=9610 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
134 -45153: CHAR[s] pos=9611 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
135 -45137: CHAR[ ] pos=9612 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
136 -45121: CHAR[a] pos=9613 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
137 -45105: CHAR[ ] pos=0 blev=0,btyp=B w=16 a+d=25+6 face=28 MB




Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

bug#27668: 26.0.50; Crash with display-line-numbers t

Eli Zaretskii
> From: Robert Pluim <[hidden email]>
> Date: Wed, 12 Jul 2017 16:47:57 +0200
>
> (gdb) pgrowx it->glyph_row
> TEXT: 138 glyphs
>   0    0: CHAR[ ] pos=-1 blev=2,btyp=EN w=16 a+d=25+6 face=23 MB AVOID
>   1   16: CHAR[2] pos=-1 blev=2,btyp=EN w=16 a+d=25+6 face=23 MB AVOID
>   2   32: CHAR[3] pos=-1 blev=2,btyp=EN w=16 a+d=25+6 face=23 MB AVOID
>   3   48: CHAR[7] pos=-1 blev=2,btyp=EN w=16 a+d=25+6 face=23 MB AVOID
>   4   64: CHAR[ ] pos=-1 blev=2,btyp=EN w=16 a+d=25+6 face=23 MB AVOID
>   5   80: CHAR[c] pos=9551 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
>   6   96: CHAR[e] pos=9552 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
>   7  112: CHAR[r] pos=9553 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
>   8  128: CHAR[t] pos=9554 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
>   9  144: CHAR[i] pos=9555 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
>  10  160: CHAR[f] pos=9556 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
>  11  176: CHAR[i] pos=9557 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
>  12  192: CHAR[c] pos=9558 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
>  13  208: CHAR[a] pos=9559 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
>  14  224: CHAR[t] pos=9560 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
>  15  240: CHAR[e] pos=9561 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
>  16  256: CHAR['] pos=9562 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
>  17  272: CHAR[s] pos=9563 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
>  18  288: CHAR[ ] pos=9564 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
>  19  304: CHAR[h] pos=9565 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
>  20  320: CHAR[o] pos=9566 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
>  21  336: CHAR[s] pos=9567 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
>  22  352: CHAR[t] pos=9568 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
>  23  368: CHAR[ ] pos=9569 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
>  24  384: CHAR[n] pos=9570 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
>  25  400: CHAR[a] pos=9571 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
>  26  416: CHAR[m] pos=9572 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
>  27  432: CHAR[e] pos=9573 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
>  28  448: CHAR[.] pos=9574 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
>  29  464: CHAR[ ] pos=9575 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
>  30  480: CHAR[ ] pos=9576 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
>  31  496: CHAR[T] pos=9577 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
>  32  512: CHAR[h] pos=9578 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
>  33  528: CHAR[e] pos=9579 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
>  34  544: CHAR[ ] pos=9580 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
>  35  560: CHAR[e] pos=9581 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
>  36  576: CHAR[x] pos=9582 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
>  37  592: CHAR[a] pos=9583 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
>  38  608: CHAR[c] pos=9584 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
>  39  624: CHAR[t] pos=9585 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
>  40  640: CHAR[ ] pos=9586 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
>  41  656: CHAR[v] pos=9587 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
>  42  672: CHAR[e] pos=9588 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
>  43  688: CHAR[r] pos=9589 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
>  44  704: CHAR[i] pos=9590 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
>  45  720: CHAR[f] pos=9591 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
>  46  736: CHAR[i] pos=9592 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
>  47  752: CHAR[c] pos=9593 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
>  48  768: CHAR[a] pos=9594 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
>  49  784: CHAR[t] pos=9595 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
>  50  800: CHAR[i] pos=9596 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
>  51  816: CHAR[o] pos=9597 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
>  52  832: CHAR[n] pos=9598 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
>  53  848: CHAR[ ] pos=9599 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
>  54  864: CHAR[a] pos=9600 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
>  55  880: CHAR[l] pos=9601 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
>  56  896: CHAR[g] pos=9602 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
>  57  912: CHAR[o] pos=9603 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
>  58  928: CHAR[r] pos=9604 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
>  59  944: CHAR[i] pos=9605 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
>  60  960: CHAR[t] pos=9606 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
>  61  976: CHAR[h] pos=9607 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
> ---Type <return> to continue, or q <return> to quit---
>  62  992: CHAR[m] pos=9608 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
>  63 1008: CHAR[ ] pos=9609 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
>  64 1024: CHAR[i] pos=9610 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
>  65 1040: CHAR[s] pos=9611 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
>  66 1056: CHAR[ ] pos=9612 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
>  67 1072: CHAR[a] pos=9613 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
>  68 1088: CHAR[ ] pos=0 blev=0,btyp=B w=16 a+d=25+6 face=28 MB
>  69 1104: CHAR[s] pos=6237 blev=0,btyp=L w=16 a+d=25+6 MB
>  70 1120: CHAR[ ] pos=0 blev=0,btyp=B w=16 a+d=25+6 MB
>  71 1136:  str=0xc8676d[9683324] w=-15971 a+d=147+0 MB PAD N/A [ slice=49485,147,0,0
>  72 -14835:  str=0xc8671b[9683580] w=-15715 a+d=147+0 MB PAD AVOID [ slice=49741,147,0,0
>  74 -46113: CHAR[c] pos=9551 blev=0,btyp=L w=16 a+d=25+6 face=28 MB

Does the text of this line give you enough hint to tell me what was on
this line?  In particular, does it make sense that the line had 138
glyphs?  Because it looks like everything after glyph 68 is garbage,
although I don't yet have any idea how it ended up there.

Can you reproduce the buffer/window that showed this text (in another
session)?  Because if yes, I'd like some information from there.

Thanks.



Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

bug#27668: 26.0.50; Crash with display-line-numbers t

Robert Pluim
In reply to this post by Robert Pluim
Eli Zaretskii <[hidden email]> writes:

>> From: Robert Pluim <[hidden email]>
>> Date: Wed, 12 Jul 2017 16:47:57 +0200
>>  62  992: CHAR[m] pos=9608 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
>>  63 1008: CHAR[ ] pos=9609 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
>>  64 1024: CHAR[i] pos=9610 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
>>  65 1040: CHAR[s] pos=9611 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
>>  66 1056: CHAR[ ] pos=9612 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
>>  67 1072: CHAR[a] pos=9613 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
>>  68 1088: CHAR[ ] pos=0 blev=0,btyp=B w=16 a+d=25+6 face=28 MB
>>  69 1104: CHAR[s] pos=6237 blev=0,btyp=L w=16 a+d=25+6 MB
>>  70 1120: CHAR[ ] pos=0 blev=0,btyp=B w=16 a+d=25+6 MB
>>  71 1136:  str=0xc8676d[9683324] w=-15971 a+d=147+0 MB PAD N/A [ slice=49485,147,0,0
>>  72 -14835:  str=0xc8671b[9683580] w=-15715 a+d=147+0 MB PAD AVOID [ slice=49741,147,0,0
>>  74 -46113: CHAR[c] pos=9551 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
>
> Does the text of this line give you enough hint to tell me what was on
> this line?  In particular, does it make sense that the line had 138
> glyphs?  Because it looks like everything after glyph 68 is garbage,
> although I don't yet have any idea how it ended up there.
>

Yes, as I said it's line 237 of lisp/net/gnutls.el, it's definitely
not 138 glyphs:

----begin----
certificate's host name.  The exact verification algorithm is a
---end---

> Can you reproduce the buffer/window that showed this text (in another
> session)?  Because if yes, I'd like some information from there.
>

Yes, although as I said I haven't found a reproduction yet, and it's
happened with other files as well (but only with display-line-numbers
t in the buffer displaying the file).

Regards

Robert




Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

bug#27668: 26.0.50; Crash with display-line-numbers t

Eli Zaretskii
> From: Robert Pluim <[hidden email]>
> Date: Wed, 12 Jul 2017 17:17:31 +0200
>
> Eli Zaretskii <[hidden email]> writes:
>
> >> From: Robert Pluim <[hidden email]>
> >> Date: Wed, 12 Jul 2017 16:47:57 +0200
> >>  62  992: CHAR[m] pos=9608 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
> >>  63 1008: CHAR[ ] pos=9609 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
> >>  64 1024: CHAR[i] pos=9610 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
> >>  65 1040: CHAR[s] pos=9611 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
> >>  66 1056: CHAR[ ] pos=9612 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
> >>  67 1072: CHAR[a] pos=9613 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
> >>  68 1088: CHAR[ ] pos=0 blev=0,btyp=B w=16 a+d=25+6 face=28 MB
> >>  69 1104: CHAR[s] pos=6237 blev=0,btyp=L w=16 a+d=25+6 MB
> >>  70 1120: CHAR[ ] pos=0 blev=0,btyp=B w=16 a+d=25+6 MB
> >>  71 1136:  str=0xc8676d[9683324] w=-15971 a+d=147+0 MB PAD N/A [ slice=49485,147,0,0
> >>  72 -14835:  str=0xc8671b[9683580] w=-15715 a+d=147+0 MB PAD AVOID [ slice=49741,147,0,0
> >>  74 -46113: CHAR[c] pos=9551 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
> >
> > Does the text of this line give you enough hint to tell me what was on
> > this line?  In particular, does it make sense that the line had 138
> > glyphs?  Because it looks like everything after glyph 68 is garbage,
> > although I don't yet have any idea how it ended up there.
> >
>
> Yes, as I said it's line 237 of lisp/net/gnutls.el, it's definitely
> not 138 glyphs:

Well, I cannot know what kind of display features you have there; what
is just 63 characters in the file could have all kind of stuff
appended to it on display...

Anyway, what do these 2 show:

  (gdb) p it->glyph_row->enabled_p
  (gdb) p it->glyph_row->displays_text_p

Also, is the previous screen line OK?  This will show:

  (gdb) pgrowx (it->glyph_row-1)

Eventually, if nothing else gives a clue, please continue running
Emacs under GDB, and if the crashes are always in
compute_line_metrics, show the offending glyph_row each time it
crashes.  Perhaps the data will give some hint about what could be
wrong.  (Currently, the only idea I have is that somehow
glyph_row->used[1] is set to a value larger than it should, which
might mean some problem in maybe_produce_line_number, where it
increments the used count, but I'd like first to see if all the
problems manifest themselves with such a large used count.)

Thanks.



Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

bug#27668: 26.0.50; Crash with display-line-numbers t

Robert Pluim
In reply to this post by Robert Pluim
Eli Zaretskii <[hidden email]> writes:

> Well, I cannot know what kind of display features you have there; what
> is just 63 characters in the file could have all kind of stuff
> appended to it on display...
>
> Anyway, what do these 2 show:
>
>   (gdb) p it->glyph_row->enabled_p

$1 = true

>   (gdb) p it->glyph_row->displays_text_p

$2 = true

>
> Also, is the previous screen line OK?  This will show:
>
>   (gdb) pgrowx (it->glyph_row-1)

(gdb) pgrowx (it->glyph_row-1)
TEXT: 134 glyphs
  0    0: CHAR[ ] pos=-1 blev=2,btyp=EN w=16 a+d=25+6 face=23 MB AVOID
  1   16: CHAR[2] pos=-1 blev=2,btyp=EN w=16 a+d=25+6 face=23 MB AVOID
  2   32: CHAR[3] pos=-1 blev=2,btyp=EN w=16 a+d=25+6 face=23 MB AVOID
  3   48: CHAR[6] pos=-1 blev=2,btyp=EN w=16 a+d=25+6 face=23 MB AVOID
  4   64: CHAR[ ] pos=-1 blev=2,btyp=EN w=16 a+d=25+6 face=23 MB AVOID
  5   80: CHAR[w] pos=9489 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
  6   96: CHAR[i] pos=9490 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
  7  112: CHAR[l] pos=9491 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
  8  128: CHAR[l] pos=9492 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
  9  144: CHAR[ ] pos=9493 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 11  176: CHAR[e] pos=9495 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 12  192: CHAR[ ] pos=9496 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 13  208: CHAR[r] pos=9497 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 14  224: CHAR[a] pos=9498 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 15  240: CHAR[i] pos=9499 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 16  256: CHAR[s] pos=9500 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 17  272: CHAR[e] pos=9501 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 18  288: CHAR[d] pos=9502 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 19  304: CHAR[ ] pos=9503 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 20  320: CHAR[w] pos=9504 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 21  336: CHAR[h] pos=9505 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 22  352: CHAR[e] pos=9506 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 23  368: CHAR[n] pos=9507 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 24  384: CHAR[ ] pos=9508 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 25  400: CHAR[t] pos=9509 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 26  416: CHAR[h] pos=9510 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 27  432: CHAR[e] pos=9511 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 28  448: CHAR[ ] pos=9512 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 29  464: CHAR[h] pos=9513 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 30  480: CHAR[o] pos=9514 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 31  496: CHAR[s] pos=9515 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 32  512: CHAR[t] pos=9516 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 33  528: CHAR[n] pos=9517 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 34  544: CHAR[a] pos=9518 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 35  560: CHAR[m] pos=9519 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 36  576: CHAR[e] pos=9520 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 37  592: CHAR[ ] pos=9521 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 38  608: CHAR[d] pos=9522 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 39  624: CHAR[o] pos=9523 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 40  640: CHAR[e] pos=9524 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 41  656: CHAR[s] pos=9525 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 42  672: CHAR[ ] pos=9526 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 43  688: CHAR[n] pos=9527 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 44  704: CHAR[o] pos=9528 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 45  720: CHAR[t] pos=9529 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 46  736: CHAR[ ] pos=9530 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 47  752: CHAR[m] pos=9531 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 48  768: CHAR[a] pos=9532 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 49  784: CHAR[t] pos=9533 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 50  800: CHAR[c] pos=9534 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 51  816: CHAR[h] pos=9535 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 52  832: CHAR[ ] pos=9536 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 53  848: CHAR[t] pos=9537 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 54  864: CHAR[h] pos=9538 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 55  880: CHAR[e] pos=9539 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 56  896: CHAR[ ] pos=9540 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 57  912: CHAR[p] pos=9541 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 58  928: CHAR[r] pos=9542 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 59  944: CHAR[e] pos=9543 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 60  960: CHAR[s] pos=9544 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 61  976: CHAR[e] pos=9545 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
---Type <return> to continue, or q <return> to quit---
 62  992: CHAR[n] pos=9546 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 63 1008: CHAR[t] pos=9547 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 64 1024: CHAR[e] pos=9548 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 65 1040: CHAR[d] pos=9549 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 66 1056: CHAR[ ] pos=0 blev=0,btyp=B w=16 a+d=25+6 face=28 MB
 67 1072: CHAR[ ] pos=-1 blev=0,btyp=B w=16 a+d=25+6 face=5
 68 1088: CHAR[ ] pos=-1 blev=0,btyp=B w=16 a+d=25+6 face=5
 69 1104: CHAR[ ] pos=-1 blev=0,btyp=B w=16 a+d=25+6 face=5
 70 1120: CHAR[ ] pos=-1 blev=0,btyp=B w=16 a+d=25+6 face=5
 71 1136: CHAR[ ] pos=-1 blev=0,btyp=B w=16 a+d=25+6 face=5
 72 1152: CHAR[w] pos=9489 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 73 1168: CHAR[i] pos=9490 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 74 1184: CHAR[l] pos=9491 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 75 1200: CHAR[l] pos=9492 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 76 1216: CHAR[ ] pos=9493 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 77 1232: CHAR[b] pos=9494 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 78 1248: CHAR[e] pos=9495 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 79 1264: CHAR[ ] pos=9496 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 80 1280: CHAR[r] pos=9497 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 81 1296: CHAR[a] pos=9498 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 82 1312: CHAR[i] pos=9499 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 83 1328: CHAR[s] pos=9500 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 84 1344: CHAR[e] pos=9501 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 85 1360: CHAR[d] pos=9502 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 86 1376: CHAR[ ] pos=9503 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 87 1392: CHAR[w] pos=9504 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 88 1408: CHAR[h] pos=9505 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 89 1424: CHAR[e] pos=9506 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 90 1440: CHAR[n] pos=9507 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 91 1456: CHAR[ ] pos=9508 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 92 1472: CHAR[t] pos=9509 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 93 1488: CHAR[h] pos=9510 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 94 1504: CHAR[e] pos=9511 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 95 1520: CHAR[ ] pos=9512 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 96 1536: CHAR[h] pos=9513 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 97 1552: CHAR[o] pos=9514 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 98 1568: CHAR[s] pos=9515 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
 99 1584: CHAR[t] pos=9516 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
100 1600: CHAR[n] pos=9517 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
101 1616: CHAR[a] pos=9518 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
102 1632: CHAR[m] pos=9519 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
103 1648: CHAR[e] pos=9520 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
104 1664: CHAR[ ] pos=9521 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
105 1680: CHAR[d] pos=9522 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
106 1696: CHAR[o] pos=9523 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
107 1712: CHAR[e] pos=9524 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
108 1728: CHAR[s] pos=9525 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
109 1744: CHAR[ ] pos=9526 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
110 1760: CHAR[n] pos=9527 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
111 1776: CHAR[o] pos=9528 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
112 1792: CHAR[t] pos=9529 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
113 1808: CHAR[ ] pos=9530 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
114 1824: CHAR[m] pos=9531 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
115 1840: CHAR[a] pos=9532 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
116 1856: CHAR[t] pos=9533 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
117 1872: CHAR[c] pos=9534 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
118 1888: CHAR[h] pos=9535 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
119 1904: CHAR[ ] pos=9536 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
120 1920: CHAR[t] pos=9537 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
121 1936: CHAR[h] pos=9538 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
122 1952: CHAR[e] pos=9539 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
123 1968: CHAR[ ] pos=9540 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
124 1984: CHAR[p] pos=9541 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
---Type <return> to continue, or q <return> to quit---
125 2000: CHAR[r] pos=9542 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
126 2016: CHAR[e] pos=9543 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
127 2032: CHAR[s] pos=9544 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
128 2048: CHAR[e] pos=9545 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
129 2064: CHAR[n] pos=9546 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
130 2080: CHAR[t] pos=9547 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
131 2096: CHAR[e] pos=9548 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
132 2112: CHAR[d] pos=9549 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
133 2128: CHAR[ ] pos=0 blev=0,btyp=B w=16 a+d=25+6 face=28 MB

Hmm. Is it normal for the text on that line to be shown twice here?
The actual line is only 61 glyphs:

will be raised when the hostname does not match the presented

>
> Eventually, if nothing else gives a clue, please continue running
> Emacs under GDB, and if the crashes are always in
> compute_line_metrics, show the offending glyph_row each time it
> crashes.  Perhaps the data will give some hint about what could be
> wrong.  (Currently, the only idea I have is that somehow
> glyph_row->used[1] is set to a value larger than it should, which
> might mean some problem in maybe_produce_line_number, where it
> increments the used count, but I'd like first to see if all the
> problems manifest themselves with such a large used count.)

The crash is always in compute_line_metrics. I'll continue to run
under gdb, and see if I can find a recipe.

Regards

Robert




Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

bug#27668: 26.0.50; Crash with display-line-numbers t

Eli Zaretskii
> From: Robert Pluim <[hidden email]>
> Date: Wed, 12 Jul 2017 20:26:50 +0200
>
> 125 2000: CHAR[r] pos=9542 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
> 126 2016: CHAR[e] pos=9543 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
> 127 2032: CHAR[s] pos=9544 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
> 128 2048: CHAR[e] pos=9545 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
> 129 2064: CHAR[n] pos=9546 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
> 130 2080: CHAR[t] pos=9547 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
> 131 2096: CHAR[e] pos=9548 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
> 132 2112: CHAR[d] pos=9549 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
> 133 2128: CHAR[ ] pos=0 blev=0,btyp=B w=16 a+d=25+6 face=28 MB
>
> Hmm. Is it normal for the text on that line to be shown twice here?

No, of course not.  Everything beyond the first glyph whose pos is
zero (that's the glyph that stands for the newline, it is there so we
could put the cursor at EOL) shouldn't be there.

> The crash is always in compute_line_metrics. I'll continue to run
> under gdb, and see if I can find a recipe.

If it's always in compute_line_metrics, then please see if the value
of row->used[1] is always about twice the correct one.  If it is,
perhaps we will be able to come up with a breakpoint or watchpoint
condition that will catch the code which is responsible.



Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

bug#27668: 26.0.50; Crash with display-line-numbers t

Robert Pluim
In reply to this post by Robert Pluim
Eli Zaretskii <[hidden email]> writes:

>> From: Robert Pluim <[hidden email]>
>> Date: Wed, 12 Jul 2017 20:26:50 +0200
>>
>> 125 2000: CHAR[r] pos=9542 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
>> 126 2016: CHAR[e] pos=9543 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
>> 127 2032: CHAR[s] pos=9544 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
>> 128 2048: CHAR[e] pos=9545 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
>> 129 2064: CHAR[n] pos=9546 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
>> 130 2080: CHAR[t] pos=9547 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
>> 131 2096: CHAR[e] pos=9548 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
>> 132 2112: CHAR[d] pos=9549 blev=0,btyp=L w=16 a+d=25+6 face=28 MB
>> 133 2128: CHAR[ ] pos=0 blev=0,btyp=B w=16 a+d=25+6 face=28 MB
>>
>> Hmm. Is it normal for the text on that line to be shown twice here?
>
> No, of course not.  Everything beyond the first glyph whose pos is
> zero (that's the glyph that stands for the newline, it is there so we
> could put the cursor at EOL) shouldn't be there.
>
>> The crash is always in compute_line_metrics. I'll continue to run
>> under gdb, and see if I can find a recipe.
>
> If it's always in compute_line_metrics, then please see if the value
> of row->used[1] is always about twice the correct one.  If it is,
> perhaps we will be able to come up with a breakpoint or watchpoint
> condition that will catch the code which is responsible.

It's always approximately twice the correct one. In the two cases I
have so far it's 67:138 and 47:98. That's a ratio of n:(2n + 4) in
both cases.

Regards

Robert




Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

bug#27668: 26.0.50; Crash with display-line-numbers t

Eli Zaretskii
> From: Robert Pluim <[hidden email]>
> Date: Thu, 13 Jul 2017 10:28:42 +0200
>
> > If it's always in compute_line_metrics, then please see if the value
> > of row->used[1] is always about twice the correct one.  If it is,
> > perhaps we will be able to come up with a breakpoint or watchpoint
> > condition that will catch the code which is responsible.
>
> It's always approximately twice the correct one. In the two cases I
> have so far it's 67:138 and 47:98. That's a ratio of n:(2n + 4) in
> both cases.

It's nice that a clear pattern emerges, but I still cannot see how
that could happen...

I think next thing to try is to see where does the used[1] count
becomes too large.  I suggest to run Emacs under GDB with the
following breakpoint on a line immediately after the call to
PRODUCE_GLYPHS in display_line:

  (gdb) break xdisp.c:21374 if it->glyph_row->used[1] > 90

This assumes that you're windows are never wider than 90 columns; if
that's not true, enlarge the number as needed to prevent the
breakpoint from breaking in legitimate cases.  When this breaks,
please show the backtrace.

Another idea is to set the following breakpoint inside
maybe_produce_line_number:

  (gdb) break xdisp.c:21010 if it->glyph_row != 0 && it->glyph_row->used[1] > 0

Line 21010 is this:

  short *u = it->glyph_row ? &it->glyph_row->used[TEXT_AREA] : NULL;

There's a hidden assumption in the code that maybe_produce_line_number
is called when no glyphs were produced for the screen line yet.  Maybe
that assumption is wrong.

Btw, what version of GCC do you use?

Thanks.



Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

bug#27668: 26.0.50; Crash with display-line-numbers t

Eli Zaretskii
In reply to this post by Robert Pluim
> From: Robert Pluim <[hidden email]>
> Date: Thu, 13 Jul 2017 10:28:42 +0200
>
> It's always approximately twice the correct one. In the two cases I
> have so far it's 67:138 and 47:98. That's a ratio of n:(2n + 4) in
> both cases.

A few more questions about your Emacs use patterns:

  . do you use modes that put stuff in the display margins? if so,
    could it be that these crashes happen shortly after you switch
    away from a window with margins to one without margins, or delete
    a window with margins?
  . do you use truncate-lines or split windows with "C-x 3", and if
    so, do these crashes happen shortly after you use those features?
  . do you have any optional display-related features turned on in
    your sessions, like show-trailing-whitespace etc.?

Thanks.



Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

bug#27668: 26.0.50; Crash with display-line-numbers t

Robert Pluim
In reply to this post by Robert Pluim
Eli Zaretskii <[hidden email]> writes:

>> From: Robert Pluim <[hidden email]>
>> Date: Thu, 13 Jul 2017 10:28:42 +0200
>> It's always approximately twice the correct one. In the two cases I
>> have so far it's 67:138 and 47:98. That's a ratio of n:(2n + 4) in
>> both cases.
>
> It's nice that a clear pattern emerges, but I still cannot see how
> that could happen...
>
> I think next thing to try is to see where does the used[1] count
> becomes too large.  I suggest to run Emacs under GDB with the
> following breakpoint on a line immediately after the call to
> PRODUCE_GLYPHS in display_line:
>
>   (gdb) break xdisp.c:21374 if it->glyph_row->used[1] > 90
>

OK, I can try that.

> This assumes that you're windows are never wider than 90 columns; if
> that's not true, enlarge the number as needed to prevent the
> breakpoint from breaking in legitimate cases.  When this breaks,
> please show the backtrace.
>
> Another idea is to set the following breakpoint inside
> maybe_produce_line_number:
>
>   (gdb) break xdisp.c:21010 if it->glyph_row != 0 && it->glyph_row->used[1] > 0
>
> Line 21010 is this:
>
>   short *u = it->glyph_row ? &it->glyph_row->used[TEXT_AREA] : NULL;
>
> There's a hidden assumption in the code that maybe_produce_line_number
> is called when no glyphs were produced for the screen line yet.  Maybe
> that assumption is wrong.
>

I'll try that if method 1 doesn't get me anywhere.

> Btw, what version of GCC do you use?

It's the standard system gcc for Ubuntu 16.04:

$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/5/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 5.4.0-6ubuntu1~16.04.4' --with-bugurl=file:///usr/share/doc/gcc-5/README.Bugs --enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-5 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-5-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-5-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-5-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4)




Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

bug#27668: 26.0.50; Crash with display-line-numbers t

Robert Pluim
In reply to this post by Robert Pluim
Eli Zaretskii <[hidden email]> writes:

>> From: Robert Pluim <[hidden email]>
>> Date: Thu, 13 Jul 2017 10:28:42 +0200
>>
>> It's always approximately twice the correct one. In the two cases I
>> have so far it's 67:138 and 47:98. That's a ratio of n:(2n + 4) in
>> both cases.
>
> A few more questions about your Emacs use patterns:
>
>   . do you use modes that put stuff in the display margins? if so,
>     could it be that these crashes happen shortly after you switch
>     away from a window with margins to one without margins, or delete
>     a window with margins?

Apart from display-line-numbers, I don't think so. Of course I don't
have that switched on in all my buffers.

>   . do you use truncate-lines or split windows with "C-x 3", and if
>     so, do these crashes happen shortly after you use those
>     features?

I do use C-x 3, but that doesn't seem correlated.

>   . do you have any optional display-related features turned on in
>     your sessions, like show-trailing-whitespace etc.?

In buffers with line-numbers I tend to have whitespace-mode enabled,
but I don't use show-trailing-whitespace directly. However, your
second gdb suggestion just got me:

(gdb) break xdisp.c:21010 if it->glyph_row != 0 && it->glyph_row->used[1] > 0
Breakpoint 4 at 0x45baaf: file xdisp.c, line 21010.
(gdb) run
Starting program: /home/rpluim/repos/emacs-master/src/emacs
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fffe4de5700 (LWP 19567)]
[New Thread 0x7fffdffff700 (LWP 19568)]
[New Thread 0x7fffdf5f1700 (LWP 19569)]

Thread 1 "emacs" hit Breakpoint 4, maybe_produce_line_number (it=it@entry=0x7fffffff8130) at xdisp.c:21010
21010  short *u = it->glyph_row ? &it->glyph_row->used[TEXT_AREA] : NULL;


I was in the process of switching from a non-line-number to a
line-number buffer when that hit.

Regards

Robert




Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

bug#27668: 26.0.50; Crash with display-line-numbers t

Eli Zaretskii
> From: Robert Pluim <[hidden email]>
> Date: Thu, 13 Jul 2017 18:42:49 +0200
>
> (gdb) break xdisp.c:21010 if it->glyph_row != 0 && it->glyph_row->used[1] > 0
> Breakpoint 4 at 0x45baaf: file xdisp.c, line 21010.
> (gdb) run
> Starting program: /home/rpluim/repos/emacs-master/src/emacs
> [Thread debugging using libthread_db enabled]
> Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
> [New Thread 0x7fffe4de5700 (LWP 19567)]
> [New Thread 0x7fffdffff700 (LWP 19568)]
> [New Thread 0x7fffdf5f1700 (LWP 19569)]
>
> Thread 1 "emacs" hit Breakpoint 4, maybe_produce_line_number (it=it@entry=0x7fffffff8130) at xdisp.c:21010
> 21010  short *u = it->glyph_row ? &it->glyph_row->used[TEXT_AREA] : NULL;
>
>
> I was in the process of switching from a non-line-number to a
> line-number buffer when that hit.

OK, thanks.  What is the value of it->glyph_row->used[TEXT_AREA], and
what is the backtrace?



Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

bug#27668: 26.0.50; Crash with display-line-numbers t

Robert Pluim
In reply to this post by Robert Pluim
Eli Zaretskii <[hidden email]> writes:

>> From: Robert Pluim <[hidden email]>
>> Date: Thu, 13 Jul 2017 18:42:49 +0200
>>
>> (gdb) break xdisp.c:21010 if it->glyph_row != 0 && it->glyph_row->used[1] > 0
>> Breakpoint 4 at 0x45baaf: file xdisp.c, line 21010.
>> (gdb) run
>> Starting program: /home/rpluim/repos/emacs-master/src/emacs
>> [Thread debugging using libthread_db enabled]
>> Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
>> [New Thread 0x7fffe4de5700 (LWP 19567)]
>> [New Thread 0x7fffdffff700 (LWP 19568)]
>> [New Thread 0x7fffdf5f1700 (LWP 19569)]
>>
>> Thread 1 "emacs" hit Breakpoint 4, maybe_produce_line_number (it=it@entry=0x7fffffff8130) at xdisp.c:21010
>> 21010  short *u = it->glyph_row ? &it->glyph_row->used[TEXT_AREA] : NULL;
>>
>>
>> I was in the process of switching from a non-line-number to a
>> line-number buffer when that hit.
>
> OK, thanks.  What is the value of it->glyph_row->used[TEXT_AREA], and
> what is the backtrace?

(gdb) p  it->glyph_row->used[TEXT_AREA]
$1 = 66

(gdb) bt
#0  terminate_due_to_signal (sig=sig@entry=6, backtrace_limit=backtrace_limit@entry=2147483647) at emacs.c:363
#1  0x00000000005a5084 in die (msg=msg@entry=0x6987d8 "pdl->kind == SPECPDL_BACKTRACE", file=file@entry=0x698448 "eval.c", line=line@entry=150) at alloc.c:7348
#2  0x0000000000419f3b in backtrace_function (pdl=<optimized out>) at eval.c:150
#3  <function called from gdb>
#4  maybe_produce_line_number (it=it@entry=0x7fffffff8130) at xdisp.c:21010
#5  0x0000000000465365 in display_line (it=it@entry=0x7fffffff8130, cursor_vpos=cursor_vpos@entry=16) at xdisp.c:21225
#6  0x00000000004672bd in try_window (window=..., window@entry=XIL(0x146d7d5), pos=..., flags=flags@entry=1) at xdisp.c:17544
#7  0x000000000047f9ab in redisplay_window (window=XIL(0x146d7d5), just_this_one_p=just_this_one_p@entry=false) at xdisp.c:16991
#8  0x00000000004831fb in redisplay_window_0 (window=..., window@entry=XIL(0x146d7d5)) at xdisp.c:14751
#9  0x00000000005c7cf4 in internal_condition_case_1 (bfun=bfun@entry=0x4831d0 <redisplay_window_0>, arg=..., handlers=..., hfun=hfun@entry=0x435960 <redisplay_window_error>) at eval.c:1350
#10 0x000000000043d160 in redisplay_windows (window=...) at xdisp.c:14731
#11 0x000000000043d129 in redisplay_windows (window=...) at xdisp.c:14725
#12 0x000000000046c945 in redisplay_internal () at xdisp.c:14220
#13 0x000000000046eed5 in redisplay () at xdisp.c:13440
#14 0x0000000000545cfb in read_char (commandflag=commandflag@entry=1, map=..., map@entry=XIL(0x35b6253), prev_event=..., used_mouse_menu=used_mouse_menu@entry=0x7fffffffd6cb, end_time=end_time@entry=0x0) at keyboard.c:2484
#15 0x0000000000548ddb in read_key_sequence (keybuf=keybuf@entry=0x7fffffffd7b0, prompt=..., prompt@entry=XIL(0), dont_downcase_last=dont_downcase_last@entry=false, can_return_switch_frame=can_return_switch_frame@entry=true,
    fix_current_buffer=fix_current_buffer@entry=true, prevent_redisplay=prevent_redisplay@entry=false, bufsize=30) at keyboard.c:9151
#16 0x000000000054b096 in command_loop_1 () at keyboard.c:1372
#17 0x00000000005c7c27 in internal_condition_case (bfun=bfun@entry=0x54adf0 <command_loop_1>, handlers=..., handlers@entry=XIL(0x4fb0), hfun=hfun@entry=0x53e770 <cmd_error>) at eval.c:1326
#18 0x00000000005380dc in command_loop_2 (ignore=..., ignore@entry=XIL(0)) at keyboard.c:1114
#19 0x00000000005c7b6c in internal_catch (tag=..., tag@entry=XIL(0xc1e0), func=func@entry=0x5380c0 <command_loop_2>, arg=..., arg@entry=XIL(0)) at eval.c:1091
#20 0x0000000000538099 in command_loop () at keyboard.c:1093
#21 0x000000000053e296 in recursive_edit_1 () at keyboard.c:699
#22 0x000000000053e613 in Frecursive_edit () at keyboard.c:770
#23 0x000000000041ad4b in main (argc=<optimized out>, argv=0x7fffffffdb58) at emacs.c:1706





Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

bug#27668: 26.0.50; Crash with display-line-numbers t

Eli Zaretskii
> From: Robert Pluim <[hidden email]>
> Date: Thu, 13 Jul 2017 20:17:51 +0200
>
> (gdb) p  it->glyph_row->used[TEXT_AREA]
> $1 = 66
>
> (gdb) bt
> #0  terminate_due_to_signal (sig=sig@entry=6, backtrace_limit=backtrace_limit@entry=2147483647) at emacs.c:363
> #1  0x00000000005a5084 in die (msg=msg@entry=0x6987d8 "pdl->kind == SPECPDL_BACKTRACE", file=file@entry=0x698448 "eval.c", line=line@entry=150) at alloc.c:7348
> #2  0x0000000000419f3b in backtrace_function (pdl=<optimized out>) at eval.c:150
> #3  <function called from gdb>
> #4  maybe_produce_line_number (it=it@entry=0x7fffffff8130) at xdisp.c:21010
> #5  0x0000000000465365 in display_line (it=it@entry=0x7fffffff8130, cursor_vpos=cursor_vpos@entry=16) at xdisp.c:21225
> #6  0x00000000004672bd in try_window (window=..., window@entry=XIL(0x146d7d5), pos=..., flags=flags@entry=1) at xdisp.c:17544
> #7  0x000000000047f9ab in redisplay_window (window=XIL(0x146d7d5), just_this_one_p=just_this_one_p@entry=false) at xdisp.c:16991
> #8  0x00000000004831fb in redisplay_window_0 (window=..., window@entry=XIL(0x146d7d5)) at xdisp.c:14751

Curiouser and curiouser...

OK, in frame #5, the one in display_line, what do these produce:

  (gdb) p it->current
  (gdb) pgrowx it->glyph_row



Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

bug#27668: 26.0.50; Crash with display-line-numbers t

Robert Pluim
In reply to this post by Robert Pluim
Eli Zaretskii <[hidden email]> writes:

>> From: Robert Pluim <[hidden email]>
>> Date: Thu, 13 Jul 2017 20:17:51 +0200
>>
>> (gdb) p  it->glyph_row->used[TEXT_AREA]
>> $1 = 66
>>
>> (gdb) bt
>> #0  terminate_due_to_signal (sig=sig@entry=6, backtrace_limit=backtrace_limit@entry=2147483647) at emacs.c:363
>> #1  0x00000000005a5084 in die (msg=msg@entry=0x6987d8 "pdl->kind == SPECPDL_BACKTRACE", file=file@entry=0x698448 "eval.c", line=line@entry=150) at alloc.c:7348
>> #2  0x0000000000419f3b in backtrace_function (pdl=<optimized out>) at eval.c:150
>> #3  <function called from gdb>
>> #4  maybe_produce_line_number (it=it@entry=0x7fffffff8130) at xdisp.c:21010
>> #5  0x0000000000465365 in display_line (it=it@entry=0x7fffffff8130, cursor_vpos=cursor_vpos@entry=16) at xdisp.c:21225
>> #6  0x00000000004672bd in try_window (window=..., window@entry=XIL(0x146d7d5), pos=..., flags=flags@entry=1) at xdisp.c:17544
>> #7  0x000000000047f9ab in redisplay_window (window=XIL(0x146d7d5), just_this_one_p=just_this_one_p@entry=false) at xdisp.c:16991
>> #8  0x00000000004831fb in redisplay_window_0 (window=..., window@entry=XIL(0x146d7d5)) at xdisp.c:14751
>
> Curiouser and curiouser...
>
> OK, in frame #5, the one in display_line, what do these produce:
>
>   (gdb) p it->current
>   (gdb) pgrowx it->glyph_row

(gdb) p it->current
$2 = {
  pos = {
    charpos = 37180,
    bytepos = 37180
  },
  overlay_string_index = -1,
  string_pos = {
    charpos = -1,
    bytepos = -1
  },
  dpvec_index = -1
}
(gdb) pgrowx it->glyph_row
TEXT: 66 glyphs
  0    0: CHAR[ ] pos=-1 blev=2,btyp=EN w=16 a+d=25+6 face=51 MB AVOID
  1   16: CHAR[1] pos=-1 blev=2,btyp=EN w=16 a+d=25+6 face=51 MB AVOID
  2   32: CHAR[2] pos=-1 blev=2,btyp=EN w=16 a+d=25+6 face=51 MB AVOID
  3   48: CHAR[6] pos=-1 blev=2,btyp=EN w=16 a+d=25+6 face=51 MB AVOID
  4   64: CHAR[1] pos=-1 blev=2,btyp=EN w=16 a+d=25+6 face=51 MB AVOID
  5   80: CHAR[ ] pos=-1 blev=2,btyp=EN w=16 a+d=25+6 face=51 MB AVOID
  6   96: CHAR[ ] pos=37180 blev=0,btyp=L w=16 a+d=25+6 MB
  7  112: CHAR[ ] pos=37181 blev=0,btyp=L w=16 a+d=25+6 MB
  8  128: CHAR[ ] pos=37182 blev=0,btyp=L w=16 a+d=25+6 MB
  9  144: CHAR[ ] pos=37183 blev=0,btyp=L w=16 a+d=25+6 MB
 10  160: CHAR[ ] pos=37184 blev=0,btyp=L w=16 a+d=25+6 MB
 11  176: CHAR[ ] pos=37185 blev=0,btyp=L w=16 a+d=25+6 MB
 12  192: CHAR[/] pos=37186 blev=0,btyp=L w=16 a+d=25+6 face=50 MB
 13  208: CHAR[*] pos=37187 blev=0,btyp=L w=16 a+d=25+6 face=50 MB
 14  224: CHAR[ ] pos=37188 blev=0,btyp=L w=16 a+d=25+6 face=50 MB
 15  240: CHAR[A] pos=37189 blev=0,btyp=L w=16 a+d=25+6 face=50 MB
 16  256: CHAR[d] pos=37190 blev=0,btyp=L w=16 a+d=25+6 face=50 MB
 17  272: CHAR[j] pos=37191 blev=0,btyp=L w=16 a+d=25+6 face=50 MB
 18  288: CHAR[u] pos=37192 blev=0,btyp=L w=16 a+d=25+6 face=50 MB
 19  304: CHAR[s] pos=37193 blev=0,btyp=L w=16 a+d=25+6 face=50 MB
 20  320: CHAR[t] pos=37194 blev=0,btyp=L w=16 a+d=25+6 face=50 MB
 21  336: CHAR[ ] pos=37195 blev=0,btyp=L w=16 a+d=25+6 face=50 MB
 22  352: CHAR[c] pos=37196 blev=0,btyp=L w=16 a+d=25+6 face=50 MB
 23  368: CHAR[o] pos=37197 blev=0,btyp=L w=16 a+d=25+6 face=50 MB
 24  384: CHAR[o] pos=37198 blev=0,btyp=L w=16 a+d=25+6 face=50 MB
 25  400: CHAR[r] pos=37199 blev=0,btyp=L w=16 a+d=25+6 face=50 MB
 26  416: CHAR[d] pos=37200 blev=0,btyp=L w=16 a+d=25+6 face=50 MB
 27  432: CHAR[i] pos=37201 blev=0,btyp=L w=16 a+d=25+6 face=50 MB
 28  448: CHAR[n] pos=37202 blev=0,btyp=L w=16 a+d=25+6 face=50 MB
---Type <return> to continue, or q <return> to quit---
 29  464: CHAR[a] pos=37203 blev=0,btyp=L w=16 a+d=25+6 face=50 MB
 30  480: CHAR[t] pos=37204 blev=0,btyp=L w=16 a+d=25+6 face=50 MB
 31  496: CHAR[e] pos=37205 blev=0,btyp=L w=16 a+d=25+6 face=50 MB
 32  512: CHAR[s] pos=37206 blev=0,btyp=L w=16 a+d=25+6 face=50 MB
 33  528: CHAR[ ] pos=37207 blev=0,btyp=L w=16 a+d=25+6 face=50 MB
 34  544: CHAR[t] pos=37208 blev=0,btyp=L w=16 a+d=25+6 face=50 MB
 35  560: CHAR[o] pos=37209 blev=0,btyp=L w=16 a+d=25+6 face=50 MB
 36  576: CHAR[ ] pos=37210 blev=0,btyp=L w=16 a+d=25+6 face=50 MB
 37  592: CHAR[b] pos=37211 blev=0,btyp=L w=16 a+d=25+6 face=50 MB
 38  608: CHAR[e] pos=37212 blev=0,btyp=L w=16 a+d=25+6 face=50 MB
 39  624: CHAR[ ] pos=37213 blev=0,btyp=L w=16 a+d=25+6 face=50 MB
 40  640: CHAR[r] pos=37214 blev=0,btyp=L w=16 a+d=25+6 face=50 MB
 41  656: CHAR[o] pos=37215 blev=0,btyp=L w=16 a+d=25+6 face=50 MB
 42  672: CHAR[o] pos=37216 blev=0,btyp=L w=16 a+d=25+6 face=50 MB
 43  688: CHAR[t] pos=37217 blev=0,btyp=L w=16 a+d=25+6 face=50 MB
 44  704: CHAR[-] pos=37218 blev=0,btyp=L w=16 a+d=25+6 face=50 MB
 45  720: CHAR[w] pos=37219 blev=0,btyp=L w=16 a+d=25+6 face=50 MB
 46  736: CHAR[i] pos=37220 blev=0,btyp=L w=16 a+d=25+6 face=50 MB
 47  752: CHAR[n] pos=37221 blev=0,btyp=L w=16 a+d=25+6 face=50 MB
 48  768: CHAR[d] pos=37222 blev=0,btyp=L w=16 a+d=25+6 face=50 MB
 49  784: CHAR[o] pos=37223 blev=0,btyp=L w=16 a+d=25+6 face=50 MB
 50  800: CHAR[w] pos=37224 blev=0,btyp=L w=16 a+d=25+6 face=50 MB
 51  816: CHAR[-] pos=37225 blev=0,btyp=L w=16 a+d=25+6 face=50 MB
 52  832: CHAR[r] pos=37226 blev=0,btyp=L w=16 a+d=25+6 face=50 MB
 53  848: CHAR[e] pos=37227 blev=0,btyp=L w=16 a+d=25+6 face=50 MB
 54  864: CHAR[l] pos=37228 blev=0,btyp=L w=16 a+d=25+6 face=50 MB
 55  880: CHAR[a] pos=37229 blev=0,btyp=L w=16 a+d=25+6 face=50 MB
 56  896: CHAR[t] pos=37230 blev=0,btyp=L w=16 a+d=25+6 face=50 MB
 57  912: CHAR[i] pos=37231 blev=0,btyp=L w=16 a+d=25+6 face=50 MB
 58  928: CHAR[v] pos=37232 blev=0,btyp=L w=16 a+d=25+6 face=50 MB
---Type <return> to continue, or q <return> to quit---
 59  944: CHAR[e] pos=37233 blev=0,btyp=L w=16 a+d=25+6 face=50 MB
 60  960: CHAR[.] pos=37234 blev=0,btyp=L w=16 a+d=25+6 face=50 MB
 61  976: CHAR[ ] pos=37235 blev=0,btyp=L w=16 a+d=25+6 face=50 MB
 62  992: CHAR[ ] pos=37236 blev=0,btyp=L w=16 a+d=25+6 face=50 MB
 63 1008: CHAR[*] pos=37237 blev=0,btyp=L w=16 a+d=25+6 face=50 MB
 64 1024: CHAR[/] pos=37238 blev=0,btyp=L w=16 a+d=25+6 face=50 MB
 65 1040: CHAR[ ] pos=0 blev=0,btyp=B w=16 a+d=25+6 MB
(gdb)





Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

bug#27668: 26.0.50; Crash with display-line-numbers t

Eli Zaretskii
> From: Robert Pluim <[hidden email]>
> Date: Thu, 13 Jul 2017 21:35:45 +0200
>
> Eli Zaretskii <[hidden email]> writes:
>
> >> From: Robert Pluim <[hidden email]>
> >> Date: Thu, 13 Jul 2017 20:17:51 +0200
> >>
> >> (gdb) p  it->glyph_row->used[TEXT_AREA]
> >> $1 = 66
> >>
> >> (gdb) bt
> >> #0  terminate_due_to_signal (sig=sig@entry=6, backtrace_limit=backtrace_limit@entry=2147483647) at emacs.c:363
> >> #1  0x00000000005a5084 in die (msg=msg@entry=0x6987d8 "pdl->kind == SPECPDL_BACKTRACE", file=file@entry=0x698448 "eval.c", line=line@entry=150) at alloc.c:7348
> >> #2  0x0000000000419f3b in backtrace_function (pdl=<optimized out>) at eval.c:150
> >> #3  <function called from gdb>
> >> #4  maybe_produce_line_number (it=it@entry=0x7fffffff8130) at xdisp.c:21010
> >> #5  0x0000000000465365 in display_line (it=it@entry=0x7fffffff8130, cursor_vpos=cursor_vpos@entry=16) at xdisp.c:21225
> >> #6  0x00000000004672bd in try_window (window=..., window@entry=XIL(0x146d7d5), pos=..., flags=flags@entry=1) at xdisp.c:17544
> >> #7  0x000000000047f9ab in redisplay_window (window=XIL(0x146d7d5), just_this_one_p=just_this_one_p@entry=false) at xdisp.c:16991
> >> #8  0x00000000004831fb in redisplay_window_0 (window=..., window@entry=XIL(0x146d7d5)) at xdisp.c:14751
> >
> > Curiouser and curiouser...
> >
> > OK, in frame #5, the one in display_line, what do these produce:
> >
> >   (gdb) p it->current
> >   (gdb) pgrowx it->glyph_row
>
> (gdb) p it->current
> $2 = {
>   pos = {
>     charpos = 37180,
>     bytepos = 37180
>   },
>   overlay_string_index = -1,
>   string_pos = {
>     charpos = -1,
>     bytepos = -1
>   },
>   dpvec_index = -1
> }
> (gdb) pgrowx it->glyph_row
> TEXT: 66 glyphs
>   0    0: CHAR[ ] pos=-1 blev=2,btyp=EN w=16 a+d=25+6 face=51 MB AVOID
>   1   16: CHAR[1] pos=-1 blev=2,btyp=EN w=16 a+d=25+6 face=51 MB AVOID
>   2   32: CHAR[2] pos=-1 blev=2,btyp=EN w=16 a+d=25+6 face=51 MB AVOID
>   3   48: CHAR[6] pos=-1 blev=2,btyp=EN w=16 a+d=25+6 face=51 MB AVOID
>   4   64: CHAR[1] pos=-1 blev=2,btyp=EN w=16 a+d=25+6 face=51 MB AVOID
>   5   80: CHAR[ ] pos=-1 blev=2,btyp=EN w=16 a+d=25+6 face=51 MB AVOID
>   6   96: CHAR[ ] pos=37180 blev=0,btyp=L w=16 a+d=25+6 MB

Hmm...  I'm not sure how this happened, but I have a theory.  I've now
made a change in master based on that theory, and also added an
assertion where you previously had to set a breakpoint.  Please see if
the current master fixes the problem and doesn't hit the assertion in
maybe_produce_line_number.

Thanks.



Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

bug#27668: 26.0.50; Crash with display-line-numbers t

Robert Pluim
In reply to this post by Robert Pluim
Eli Zaretskii <[hidden email]> writes:

>> From: Robert Pluim <[hidden email]>
>> (gdb) pgrowx it->glyph_row
>> TEXT: 66 glyphs
>>   0    0: CHAR[ ] pos=-1 blev=2,btyp=EN w=16 a+d=25+6 face=51 MB AVOID
>>   1   16: CHAR[1] pos=-1 blev=2,btyp=EN w=16 a+d=25+6 face=51 MB AVOID
>>   2   32: CHAR[2] pos=-1 blev=2,btyp=EN w=16 a+d=25+6 face=51 MB AVOID
>>   3   48: CHAR[6] pos=-1 blev=2,btyp=EN w=16 a+d=25+6 face=51 MB AVOID
>>   4   64: CHAR[1] pos=-1 blev=2,btyp=EN w=16 a+d=25+6 face=51 MB AVOID
>>   5   80: CHAR[ ] pos=-1 blev=2,btyp=EN w=16 a+d=25+6 face=51 MB AVOID
>>   6   96: CHAR[ ] pos=37180 blev=0,btyp=L w=16 a+d=25+6 MB
>
> Hmm...  I'm not sure how this happened, but I have a theory.  I've now
> made a change in master based on that theory, and also added an
> assertion where you previously had to set a breakpoint.  Please see if
> the current master fixes the problem and doesn't hit the assertion in
> maybe_produce_line_number.

git describe  HEAD
emacs-24.5-rc3-fixed-13053-g60d24e1681

(gdb) run
Starting program: /home/rpluim/repos/emacs-master/src/emacs
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fffe4de5700 (LWP 6631)]
[New Thread 0x7fffdffff700 (LWP 6632)]
[New Thread 0x7fffdf5f1700 (LWP 6633)]

xdisp.c:21012: Emacs fatal error: assertion failed: it->glyph_row == NULL || it->glyph_row->used[TEXT_AREA] == 0

Thread 1 "emacs" hit Breakpoint 1, terminate_due_to_signal (sig=sig@entry=6,
    backtrace_limit=backtrace_limit@entry=2147483647) at emacs.c:363
363 {
(gdb) bt
#0  terminate_due_to_signal (sig=sig@entry=6, backtrace_limit=backtrace_limit@entry=2147483647) at emacs.c:363
#1  0x00000000005a4ed4 in die (msg=msg@entry=0x67aec0 "it->glyph_row == NULL || it->glyph_row->used[TEXT_AREA] == 0",
    file=file@entry=0x678e68 "xdisp.c", line=line@entry=21012) at alloc.c:7348
#2  0x000000000045befb in maybe_produce_line_number (it=it@entry=0x7fffffff8130) at xdisp.c:21012
#3  0x0000000000465335 in display_line (it=it@entry=0x7fffffff8130, cursor_vpos=cursor_vpos@entry=9) at xdisp.c:21227
#4  0x000000000046728d in try_window (window=..., window@entry=XIL(0x146e6c5), pos=..., flags=flags@entry=1)
    at xdisp.c:17544
#5  0x000000000047f8fb in redisplay_window (window=XIL(0x146e6c5), just_this_one_p=just_this_one_p@entry=false)
    at xdisp.c:16991
#6  0x000000000048314b in redisplay_window_0 (window=..., window@entry=XIL(0x146e6c5)) at xdisp.c:14751
#7  0x00000000005c7b44 in internal_condition_case_1 (bfun=bfun@entry=0x483120 <redisplay_window_0>, arg=...,
    handlers=..., hfun=hfun@entry=0x435900 <redisplay_window_error>) at eval.c:1350
#8  0x000000000043d100 in redisplay_windows (window=...) at xdisp.c:14731
#9  0x000000000043d0c9 in redisplay_windows (window=...) at xdisp.c:14725
#10 0x000000000046c915 in redisplay_internal () at xdisp.c:14220
#11 0x000000000046eea5 in redisplay () at xdisp.c:13440
#12 0x0000000000545b4b in read_char (commandflag=commandflag@entry=1, map=..., map@entry=XIL(0x346a793),
    prev_event=..., used_mouse_menu=used_mouse_menu@entry=0x7fffffffd6cb, end_time=end_time@entry=0x0)
    at keyboard.c:2484
#13 0x0000000000548c2b in read_key_sequence (keybuf=keybuf@entry=0x7fffffffd7b0, prompt=..., prompt@entry=XIL(0),
    dont_downcase_last=dont_downcase_last@entry=false, can_return_switch_frame=can_return_switch_frame@entry=true,
    fix_current_buffer=fix_current_buffer@entry=true, prevent_redisplay=prevent_redisplay@entry=false, bufsize=30)
    at keyboard.c:9151
#14 0x000000000054aee6 in command_loop_1 () at keyboard.c:1372
#15 0x00000000005c7a77 in internal_condition_case (bfun=bfun@entry=0x54ac40 <command_loop_1>, handlers=...,
    handlers@entry=XIL(0x4fb0), hfun=hfun@entry=0x53e5c0 <cmd_error>) at eval.c:1326
#16 0x0000000000537f2c in command_loop_2 (ignore=..., ignore@entry=XIL(0)) at keyboard.c:1114
#17 0x00000000005c79bc in internal_catch (tag=..., tag@entry=XIL(0xc1e0), func=func@entry=0x537f10 <command_loop_2>,
    arg=..., arg@entry=XIL(0)) at eval.c:1091
#18 0x0000000000537ee9 in command_loop () at keyboard.c:1093
#19 0x000000000053e0e6 in recursive_edit_1 () at keyboard.c:699
#20 0x000000000053e463 in Frecursive_edit () at keyboard.c:770
#21 0x000000000041aceb in main (argc=<optimized out>, argv=0x7fffffffdb58) at emacs.c:1706

Lisp Backtrace:

eval.c:150: Emacs fatal error: assertion failed: pdl->kind == SPECPDL_BACKTRACE

Thread 1 "emacs" hit Breakpoint 1, terminate_due_to_signal (sig=sig@entry=6,
    backtrace_limit=backtrace_limit@entry=2147483647) at emacs.c:363
363 {

I was looking at a commit in Magit, and had just hit enter in a diff
hunk to view the source file containing the change, so it's happening
when we switch from non-line-number to line-number mode.

Robert




Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

bug#27668: 26.0.50; Crash with display-line-numbers t

Robert Pluim
In reply to this post by Robert Pluim
Robert Pluim <[hidden email]> writes:

> Eli Zaretskii <[hidden email]> writes:
>
>>> From: Robert Pluim <[hidden email]>
>>> (gdb) pgrowx it->glyph_row
>>> TEXT: 66 glyphs
>>>   0    0: CHAR[ ] pos=-1 blev=2,btyp=EN w=16 a+d=25+6 face=51 MB AVOID
>>>   1   16: CHAR[1] pos=-1 blev=2,btyp=EN w=16 a+d=25+6 face=51 MB AVOID
>>>   2   32: CHAR[2] pos=-1 blev=2,btyp=EN w=16 a+d=25+6 face=51 MB AVOID
>>>   3   48: CHAR[6] pos=-1 blev=2,btyp=EN w=16 a+d=25+6 face=51 MB AVOID
>>>   4   64: CHAR[1] pos=-1 blev=2,btyp=EN w=16 a+d=25+6 face=51 MB AVOID
>>>   5   80: CHAR[ ] pos=-1 blev=2,btyp=EN w=16 a+d=25+6 face=51 MB AVOID
>>>   6   96: CHAR[ ] pos=37180 blev=0,btyp=L w=16 a+d=25+6 MB
>>
>> Hmm...  I'm not sure how this happened, but I have a theory.  I've now
>> made a change in master based on that theory, and also added an
>> assertion where you previously had to set a breakpoint.  Please see if
>> the current master fixes the problem and doesn't hit the assertion in
>> maybe_produce_line_number.
>
> git describe  HEAD
> emacs-24.5-rc3-fixed-13053-g60d24e1681

All this TLS discussion has at least yielded something useful: a reproduction
recipe:

src/emacs -Q
; Put the following in *scratch*
(setq display-line-number t)
C-x C-e
M-x eww https://revoked.badssl.com/
q
*boom*

Regards

Robert




12
Loading...