Subject: Re: bug#53871: 29.0.50; Emacs freezes with new child-frame option

From: Tassilo Horn <[email-masked]>
Date: Tue, 08 Feb 2022 11:35:17 +0100

Arash Esbati <[email-masked]> writes:

Hi Arash,

> I'm trying the new option child-frame available for
> `show-paren-context-when-offscreen' (introduced in 6e5d79c048) and I'm
> running into an issue where Emacs freezes.  Steps to trigger:
>
> 1) emacs -Q
> 2) eval (setq show-paren-context-when-offscreen t) in scratch
> 3) M-x find-library RET paren RET
> 4) M-g c 13902 RET
> 5) With the mouse cursor, grab the scroll bar and move down so far to
>    get the context
>    'Matches (defun show-paren--show-context-in-child-frame (text)'
>    in the echo area.
> 6) eval (setq show-paren-context-when-offscreen 'child-frame) in scratch
> 7) Repeat 5) and Emacs freezes
>
> This is with repo-version 90eb6a7fe4 on Win10.

I can't reproduce with the slightly later version 9d1ae05442 on
GNU/Linux with a pgtk build.  When scroll up and down (only so far as to
keep point at the closing paren of the defun), I'll see the child frame
displaying the "(defun ...)" line whenever I stop scrolling for a
second.

After doing that for I while, I checked that `(frame-list)` still
contains just a single frame.  How is that for you?  Do you have many
frames in there?  And do you recover from the freeze?

Does doing the recipe with debug-on-quit set and then doing C-g when the
freeze occurs shed some light?

Bye,
Tassilo