Subject: bug#66068: 30.0.50; xwidget-webkit-browse-url makes Emacs abort

From: Stephen Berman <[email-masked]>
Date: Sun, 10 Dec 2023 14:36:09 +0100

On Sun, 10 Dec 2023 07:32:32 +0200 Eli Zaretskii <[email-masked]> wrote:

>> Cc: [email-masked]
>> Date: Sat, 09 Dec 2023 21:39:47 +0100
>> From:  Stephen Berman via "Bug reports for GNU Emacs,
>>  the Swiss army knife of text editors" <[email-masked]>
>>
>> My memory was wrong: in fact, the same output appears at the end of the
>> GDB backtrace attached to my OP in this bug.  And I just ran the emacs I
>> built against the latest webkitgtk under gdb, and when I start it with
>> -Q (or -q), invoking xwidget-webkit-browse-url makes it crash, and the
>> backtrace appears to be essentially the same as the one in my OP (except
>> in some of the frames the output is now much less detailed; perhaps
>> because I'm now building emacs with native compilation?).  And just as I
>> reported in a previous followup, when I start my fresh build of emacs
>> with -q -xrm "emacs.synchronous: true" outside of gdb, I also get the
>> crash, but when I start it under gdb with the same command line
>> arguments, then invoking xwidget-webkit-browse-url works fine.  I have
>> no idea why there is this difference, and no one offered an explanation
>> for it the last time; maybe this time?
>
> I don't have an explanation, but I want to point out that it is still
> possible to debug these crashes with GDB: by producing a core file and
> then invoking GDB on that core file.  There are some restrictions and
> disadvantages to what you can do in GDB when debugging a core file as
> opposed to a running program, but most of the functionalities will
> still work, and might provide valuable insights.
>
> So my suggestion is to get Emacs to crash when you run it with
> '-q -xrm "emacs.synchronous: true"', and then debug the core file and
> post the findings here.

Upthread Po Lu made the same suggestion and I posted the backtrace, see
<https://lists.gnu.org/archive/html/bug-gnu-emacs/2023-09/msg02461.html>.
For comparison, I've done that again with my current build from master
built against the latest webkitgtk and attached the backtrace.  It looks
to me largely similar to the earlier core backtrace, though in some
frames less detailed, again maybe due to native compilation.  I can try
out any gdb instructions on the core file whose results you want to see.

I would really like to know why xwidget-webkit-browse-url works with -q
-xrm "emacs.synchronous: true" only under gdb and crashes otherwise.
And also why Ramon Diaz-Uriarte does not get a crash: it seems to me
unlikely that it started working with webkitgtk 2.42.2 but stopped again
with 2.42.3 (I cannot readily try with 2.42.2 now).

Steve Berman