Subject: bug#69478: 30.0.50; Emacs dies after scrolling in eww

From: Po Lu <[email-masked]>
Date: Sat, 02 Mar 2024 10:15:01 +0800

Alexander Prähauser <[email-masked]> writes:

> "Eli Zaretskii" <[email-masked]> writes:
>
>>> Date: Fri, 01 Mar 2024 19:08:31 +0000
>>> From: Alexander Prähauser <[email-masked]>
>>> Cc: Eli Zaretskii <[email-masked]>, [email-masked]
>>>
>>> "Po Lu" <[email-masked]> writes:
>>>
>>> >>>   ./emacs -xrm 'Emacs.synchronous: true'
>>> >>>
>>> >>> so that X errors are reported immediately upon the offending requests
>>> >>> being issued.
>>> >>
>>> >> Should the above be run from the shell prompt or from GDB?  If the
>>> >
>>> > From GDB, of course.  Thanks.
>>>
>>> Interestingly, if run in this way, Emacs doesn't die, it just freezes.
>>> Here is the gdb output:
>>
>> The backtrace indicates you haven't run Emacs with the -xrm option as
>> shown above.  The X errors are still detected asynchronously, not
>> synchronously.
>
> What I did, exactly, was this:
>
> [alex@Arch emacs]$ gdb emacs
> GNU gdb (GDB) 14.1
> Copyright (C) 2023 Free Software Foundation, Inc.
> License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
> This is free software: you are free to change and redistribute it.
> There is NO WARRANTY, to the extent permitted by law.
> Type "show copying" and "show warranty" for details.
> This GDB was configured as "x86_64-pc-linux-gnu".
> Type "show configuration" for configuration details.
> For bug reporting instructions, please see:
> <https://www.gnu.org/software/gdb/bugs/>.
> Find the GDB manual and other documentation resources online at:
>     <http://www.gnu.org/software/gdb/documentation/>.
>
> For help, type "help".
> Type "apropos word" to search for commands related to "word"...
> Reading symbols from emacs...
> (gdb) run -xrm 'Emacs.synchronous: true'
>
> from vterm in another Emacs instance. So I specified the flags inside
> gdb and I called emacs, not ./emacs. Could one of those two things be
> the culprit? 

No, but try executing:

  (x-synchronize t)

within the Emacs session after it starts.  This will enable synchronous
operation regardless of the command line with which Emacs was started.