Subject: bug#21428: 24.5; Crash of emacs on OS X, installed via homebrew cask

From: Rainer M Krug <[email-masked]>
Date: Thu, 24 Sep 2015 20:37:00 +0200

Eli Zaretskii <[email-masked]> writes:

>> From: Rainer M Krug <[email-masked]>
>> Cc: [email-masked],  [email-masked]
>> Date: Thu, 24 Sep 2015 19:22:48 +0200
>> 
>> >> | (gdb) pgrow
>> >> | TEXT: 22 glyphs
>> >> |   0    0: CHAR[*] str=0xc3502c8[0] blev=0,btyp=L w=8 a+d=14+4 face=17 AVOID
>> >> |   1    8: CHAR[*] str=0xc3502c8[1] blev=0,btyp=L w=8 a+d=14+4 face=17 AVOID
>> >> |   2   16: CHAR[*] str=0xc3502c8[2] blev=0,btyp=L w=8 a+d=14+4 face=17 AVOID
>> >> |   3   24: CHAR[*] str=0xc3502c8[3] blev=0,btyp=L w=8 a+d=14+4 face=17 AVOID
>> >> |   4   32: CHAR[*] str=0xc3502c8[4] blev=0,btyp=L w=8 a+d=14+4 face=17 AVOID
>> >> |   5   40: CHAR[*] str=0xc3502c8[5] blev=0,btyp=L w=8 a+d=14+4 face=17 AVOID
>> >> |   6   48: CHAR[*] str=0xc3502c8[6] blev=0,btyp=L w=8 a+d=14+4 face=17 AVOID
>> >> |   7   56: CHAR[ ] str=0xc3502c8[7] blev=0,btyp=L w=8 a+d=14+4 AVOID
>> >> |   8   64: CHAR[-] pos=34336 blev=0,btyp=L w=8 a+d=14+4 MB
>> >> |   9   72: CHAR[ ] pos=34337 blev=0,btyp=L w=8 a+d=14+4 MB
>> >> |  10   80: CHAR[[] pos=34338 blev=0,btyp=L w=8 a+d=14+4 face=18 MB
>> >> |  11   88: CHAR[ ] pos=34339 blev=0,btyp=L w=8 a+d=14+4 face=18 MB
>> >> |  12   96: CHAR[]] pos=34340 blev=0,btyp=L w=8 a+d=14+4 face=18 MB
>> >> |  13  104: CHAR[ ] pos=34341 blev=0,btyp=L w=8 a+d=14+4 MB
>> >> |  14  112: CHAR[o] pos=34342 blev=0,btyp=L w=8 a+d=14+4 face=31 MB
>> >> |  15  120: CHAR[w] pos=34343 blev=0,btyp=L w=8 a+d=14+4 face=31 MB
>> >> |  16  128: CHAR[n] pos=34344 blev=0,btyp=L w=8 a+d=14+4 face=31 MB
>> >> |  17  136: CHAR[F] pos=34345 blev=0,btyp=L w=8 a+d=14+4 face=31 MB
>> >> |  18  144: CHAR[r] pos=34346 blev=0,btyp=L w=8 a+d=14+4 face=31 MB
>> >> |  19  152: CHAR[e] pos=34347 blev=0,btyp=L w=8 a+d=14+4 face=31 MB
>> >> |  20  160: CHAR[e] pos=34348 blev=0,btyp=L w=8 a+d=14+4 face=31 MB
>> >> |  21  168: CHAR[ ] pos=0 blev=0,btyp=B w=8 a+d=14+4 MB
>> >> | (gdb) xbacktrace
>> >> | "redisplay_internal (C function)" (0x0)
>> >> | "redisplay" (0x5fbfaa68)
>> >> | "sit-for" (0x5fbfb430)
>> >> | "isearch-lazy-highlight-new-loop" (0x5fbfbe00)
>> >> | "replace-highlight" (0x5fbfc7f0)
>> >> | "perform-replace" (0x5fbfd220)
>> >> | "query-replace" (0x5fbfdd90)
>> >> | "funcall-interactively" (0x5fbfdd88)
>> >> | "call-interactively" (0x5fbfe6a0)
>> >> | "command-execute" (0x5fbff090)
>> >
>> > Given the above characters displayed on one offending screen lines,
>> > can you figure out what kind of face is #31, the one which should be
>> > used to display the 7 last characters "ownFree"?
>> 
>> If you tell me how, I could do this.
>
> Recreate the same display, then use describe-text-properties, see
> below.

OK - I'll do so.

>
>> How did you identify the characters "ownFree" as causing the being
>> in that face?
>
> See the output of the "pgrow" command above:
>
>> >> |  14  112: CHAR[o] pos=34342 blev=0,btyp=L w=8 a+d=14+4 face=31 MB
>> >> |  15  120: CHAR[w] pos=34343 blev=0,btyp=L w=8 a+d=14+4 face=31 MB
>> >> |  16  128: CHAR[n] pos=34344 blev=0,btyp=L w=8 a+d=14+4 face=31 MB
>> >> |  17  136: CHAR[F] pos=34345 blev=0,btyp=L w=8 a+d=14+4 face=31 MB
>> >> |  18  144: CHAR[r] pos=34346 blev=0,btyp=L w=8 a+d=14+4 face=31 MB
>> >> |  19  152: CHAR[e] pos=34347 blev=0,btyp=L w=8 a+d=14+4 face=31 MB
>> >> |  20  160: CHAR[e] pos=34348 blev=0,btyp=L w=8 a+d=14+4 face=31 MB
>
> This shows that characters at columns 14 to 20 that come buffer
> positions 34342 through 34340 are "ownFree" and should be displayed
> with face=31.

Dam it - I read horizontal and not vertical... Makes sense.

>
>> > Could this by any chance be the 'query-replace' face used by the
>> > command query-replace to highlight the matches?
>> 
>> No - see the attached screenshot - maybe it helps you?
>
> It helps: the offending line seems to be the one that shows this:
>
>        - [ ] ownFree
>
> with "ownFree" highlighted by a green underwave.  Do you know what is
> that underwave face?  (If you don't, you could recreate the buffer in
> a live session, then go to that place and type "M-x
> describe-text-properties RET".)

In the life session, I get the following: (as I continued some editing,
the position might be off compared to the session which crashed)

,----
| Text content at position 34253:
| 
| 
| There is an overlay here:
|  From 34252 to 34259
|   evaporate            t
|   face                 flyspell-duplicate
|   flyspell-overlay     t
|   help-echo            "mouse-2: correct word at point"
|   keymap               [Show]
|   mouse-face           highlight
| 
| 
| There are text properties here:
|   fontified            t
|   line-prefix          [Show]
|   org-category         "EnergyBalance"
|   org-stats            77
|   wrap-prefix          [Show]
| 
| [back]
`----

and for describe-face when the cursor is in the "ownFree" as above I get:

,----
| Face: flyspell-duplicate (sample) (customize this face)
| 
| Documentation:
| Flyspell face for words that appear twice in a row.
| See also ‘flyspell-duplicate-distance’.
| 
| Defined in ‘flyspell.el’.
| 
|            Family: unspecified
|           Foundry: unspecified
|             Width: unspecified
|            Height: unspecified
|            Weight: unspecified
|             Slant: unspecified
|        Foreground: unspecified
| DistantForeground: unspecified
|        Background: unspecified
|         Underline: (:style wave :color #008000)
|          Overline: unspecified
|    Strike-through: unspecified
|               Box: unspecified
|           Inverse: unspecified
|           Stipple: unspecified
|              Font: unspecified
|           Fontset: unspecified
|           Inherit: nil
| 
| [back]
`----

Anything strange here?

>
>> >> By the way: these crashes usually happen when I do something quickly -
>> >> e.g. here I search-replaced some trivial string in org code blocks, the
>> >> last time I deleted repeatedly result blocks and empty lines.
>> >
>> > If the face involved in these crashes is different each time, we will
>> > need to trace all operations that use frame face cache.  But we've not
>> > yet established that.
>> 
>> Hopefully it is easier.
>
> Let's hope.
>
> Thanks.

I leave the session as it is to provide further info.

Rainer

-- 
Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology, UCT), Dipl. Phys. (Germany)

Centre of Excellence for Invasion Biology
Stellenbosch University
South Africa

Tel :       +33 - (0)9 53 10 27 44
Cell:       +33 - (0)6 85 62 59 98
Fax :       +33 - (0)9 58 10 27 44

Fax (D):    +49 - (0)3 21 21 25 22 44

email:      [email-masked]

Skype:      RMkrug

PGP: 0x0F52F982