Subject: bug#35429: 27.0.50; Arbitrary xdisp.c related crashes when working with overlay-using packages

From: Kaushal Modi <[email-masked]>
Date: Fri, 26 Apr 2019 10:08:30 -0400

On Fri, Apr 26, 2019 at 3:18 AM Eli Zaretskii <[email-masked]> wrote:

>
> I doubt that the beacon package is where the bug is, so I was asking
> whether a previous version of master didn't have this problem.  Or are
> you saying that you only started using the beacon package a few weeks
> ago?
>

No, I have been using beacon package for few years now.

> > If you mean the presence of Unicode characters, then I have the unicode
> box drawing characters too. The Org
> > file content is not 100% 8-bit ASCII.
>
> Not even its first 2874 characters?
>

Those characters are in the buffer, not overlay. And they are not in the
first 2874 characters.
Here are the roughly first 3000 chars of that Org buffer: http://ix.io/1Hgv

Note that at many places in that snippet, I have "=>" characters which I
replace with a unicode symbol via prettify-symbols mode. E.g. "=>" is
replaced with:

             position: 5434 of 8347 (65%), column: 35
            character:  (displayed as ) (codepoint 59428, #o164044,
#xe824)
              charset: unicode (Unicode (ISO10646))
code point in charset: 0xE824
               syntax: w     which means: word
             category: L:Left-to-right (strong)
             to input: type "C-x 8 RET e824"
          buffer code: #xEE #xA0 #xA4
            file code: #xEE #xA0 #xA4 (encoded by coding system utf-8-unix)
              display: by this font (glyph code)
    xft:-unknown-PragmataPro-normal-normal-normal-*-17-*-*-*-*-0-iso10646-1
(#x11D5)

Character code properties: customize what to show
  general-category: Co (Other, Private Use)
  decomposition: (59428) ('')

There are text properties here:
  fontified            nil

Would that be causing a problem?

Here is my entire set of ligature substitution using prettify-symbols:
http://ix.io/1Hgw/elisp

> By "unoptimized" I mean '-O0 -ggdb3'.  -Og still optimizes, it just
> avoids optimizations that make debugging exceptionally hard.
>

Understood. Thank you, will build with -O0 -ggdb3 going forward.

> What are the values of these:
>
>   (gdb) p current_buffer->pt
>   (gdb) p current_buffer->pt_byte
>   (gdb) p current_buffer->text->gpt
>   (gdb) p current_buffer->text->gpt_byte
>   (gdb) p current_buffer->begv
>   (gdb) p current_buffer->begv_byte
>   (gdb) p current_buffer->zv
>   (gdb) p current_buffer->zv_byte
>

(gdb) p current_buffer->pt
$1 = 1406
(gdb) p current_buffer->pt_byte
$2 = 1418
(gdb) p current_buffer->text->gpt
$3 = 1
(gdb) p current_buffer->text->gpt_byte
$4 = 1
(gdb) p current_buffer->begv
$5 = 1
(gdb) p current_buffer->begv_byte
$6 = 1
(gdb) p current_buffer->zv
$7 = 20122
(gdb) p current_buffer->zv_byte
$8 = 20804
(gdb)

 Thank you.