Subject: Re: bug#43589: 27.1.50; Crash in Org mode buffer when moving point after using outline-hide-other when visual-line-mode and visual line numbers are enabled

From: Eli Zaretskii <[email-masked]>
Date: Thu, 24 Sep 2020 18:03:40 +0300

> From: Simon Pugnet <[email-masked]>
> Date: Thu, 24 Sep 2020 13:51:54 +0100
> 
> 1. Launch ~emacs -Q~
> 2. Enable "visual" line numbers (~(setq display-line-numbers-type 
> 'visual)~)
> 3. Create an Org mode buffer with the following content: -
>    * Heading 1
>    ** Heading 1a
>    ** Heading 1b
> 4. Enable ~display-line-numbers-mode~
> 5. Enable ~visual-line-mode~
> 6. Move the point anywhere on the line with "Heading 1b"
> 7. Call ~outline-hide-other~
> 8. Call ~previous-line~ (via keybinding or directly)
> 
> Emacs then crashes with SIGSEGV.

I couldn't reproduce this on my system.

> Debugging emacs in GDB while doing this seems to show a loop as 
> follows: -
> 
>   Thread 1 "emacs" received signal SIGSEGV, Segmentation fault.
>   0x00005555555d1b39 in move_it_in_display_line_to 
>   (it=it@entry=0x7fffff6734e0, to_charpos=to_charpos@entry=171, 
>   to_x=to_x@entry=-1, op=op@entry=MOVE_TO_POS) at xdisp.c:9009
>   9009    {

This sounds like infinite recursion that causes stack overflow.  Not
sure why it happens in your case but not in mine.  Are you trying this
on a GUI frame or a TTY frame?  (I tried both, but couldn't reproduce
on either.)