Subject: Re: bug#69431: 30.0.50; Strange fontificaion behavior

From: Björn Bidar <[email-masked]>
Date: Wed, 28 Feb 2024 18:57:51 +0200

Andrea Corallo <[email-masked]> writes:

> Björn Bidar <[email-masked]> writes:
>
>> Eli Zaretskii <[email-masked]> writes:
>>
>>>> From: Ihor Radchenko <[email-masked]>
>>>> Cc: [email-masked], [email-masked]
>>>> Date: Tue, 27 Feb 2024 19:26:39 +0000
>>>>
>>>> > So maybe the problem is already solved somehow?
>>>>
>>>> ... or it has something to do with loading built-in Org mode.
>>>> when I do
>>>> 1. emacs -Q
>>>> 2. C-x C-f /tmp/a.org
>>>> I do not see fontification.
>>>>
>>>> when I do
>>>> 1. emacs -Q
>>>> 2. M-: (require 'org)
>>>> 3. C-x C-f /tmp/a.org
>>>> I see fontification...
>>>>
>>>> and when I wait long enough for native compilation to finish, I can see
>>>> fontification without loading org.el.
>>>>
>>>> Not sure if it tells anything useful.
>>>
>>>> From: OGAWA Hirofumi <[email-masked]>
>>>> Cc: Ihor Radchenko <[email-masked]>, [email-masked]
>>>> Date: Wed, 28 Feb 2024 04:20:13 +0900
>>>>
>>>> I found a bit more about this. If build with --native-compilation=no, I
>>>> can't reproduce, and at least --native-compilation=aot can reproduce.
>>>
>>> Since this seems to be somehow related to native compilation, I'm
>>> adding Andrea to the discussion, in the hope that he could suggest
>>> some ideas.
>>
>> I have the same error since my last build ref
>> 1687adcb5c93b490e2e7edcd14615af295e791ed same issue later in
>> 6a77355527b2f7f1dca9c2296c2684033c9aa875.
>>
>> When running without gdb Emacs just tells in the minubuffer:
>> Re-entering top level after C-stack overflow.
>
> Okay, might be some recursive dependecy issue while loading?
It does sound like it.

>>
>> With gdb I get a SIGEGV in lface_from_face_name.
>> I attach two log files I've created. It was hard to get an exact point
>> since the bug only triggers when enough is loaded. At first there's
>> memory corruption but no crash.
>
> Would be cool to have a Lisp backtrace at the moment of the SIGEGV to
> understand what we are trying to load and in which order before we stack
> overflow.
>
> Another idea would be to apply something like the following to
> Frequire, run a make, and run again the reproducer to understand what's
> going on.
>
> modified   src/fns.c
> @@ -3408,6 +3408,7 @@ DEFUN ("require", Frequire, Srequire, 1, 3, 0,
>    bool from_file = load_in_progress;
>
>    CHECK_SYMBOL (feature);
> +  printf ("XXX %s\n", SSDATA (Fsymbol_name (feature)));

I added the message in the case of my init.el it looks like this:
XXX comp
XXX bytecomp
XXX backquote
XXX macroexp
XXX cconv
XXX cl-lib
XXX macroexp
XXX gv
XXX macroexp
XXX rx
XXX subr-x
XXX warnings
XXX icons
XXX cl-lib
XXX comp-common
XXX comp-cstr
XXX cl-lib
XXX cl-extra
XXX cl-lib
XXX seq
XXX help-mode
XXX cl-lib
XXX cl-lib
XXX borg
XXX bytecomp
XXX cl-lib
XXX info
XXX pcase
XXX macroexp
XXX subr-x
XXX loaddefs-gen
XXX radix-tree
XXX lisp-mnt
XXX generate-lisp-file
XXX eieio
XXX eieio-core
XXX cl-lib
XXX cl-macs
XXX cl-lib
XXX macroexp
XXX gv
XXX cl-generic
XXX bytecomp
XXX macroexp
XXX use-package
XXX use-package-core
XXX bytecomp
XXX cl-lib
XXX tabulated-list
XXX use-package-bind-key
XXX use-package-core
XXX bind-key
XXX cl-lib
XXX easy-mmode
XXX use-package-diminish
XXX use-package-core
XXX use-package-delight
XXX use-package-core
XXX use-package-ensure
XXX cl-lib
XXX use-package-core
XXX comp-run
XXX comp-common
XXX bytecomp
XXX epkg
XXX compat
XXX llama
XXX seq
XXX seq
XXX subr-x
XXX closql
XXX compat
XXX eieio
XXX eieio-base
XXX eieio
XXX seq
XXX emacsql
XXX cl-lib
XXX cl-generic
XXX eieio
XXX emacsql-compiler
XXX cl-lib
XXX cl-lib
XXX cl-lib
XXX cl-lib
XXX cl-lib
XXX cl-lib
XXX cl-lib
XXX gv
XXX cl-lib
XXX cl-lib
XXX cl-lib
XXX cl-lib
XXX cl-lib
XXX cl-lib
XXX cl-lib
XXX cl-lib
XXX cl-lib
XXX emacsql-sqlite-common
XXX emacsql
XXX cl-lib
XXX subr-x
XXX cl-lib
XXX cl-lib
XXX cl-lib
XXX cl-lib
XXX cl-lib
XXX cl-lib
XXX cl-lib
XXX cl-lib
XXX cl-lib
XXX cl-lib
XXX cl-lib
XXX cl-lib
XXX cl-lib
XXX cl-lib
XXX cl-lib
XXX cl-lib
XXX cl-lib
XXX cl-lib
XXX cl-lib
XXX cl-lib
XXX cl-lib
XXX cl-lib
XXX cl-lib
XXX cl-lib
XXX cl-lib
XXX cl-lib
XXX cl-lib
XXX cl-lib
XXX macroexp
XXX cl-lib
XXX cl-lib
XXX cl-lib
XXX epkg-desc
XXX epkg
XXX find-func
XXX wid-edit
XXX cl-lib
XXX cl-lib
XXX epkg-list
XXX epkg
XXX epkg-desc
XXX epkg-utils
XXX epkg
XXX cl-lib
XXX cl-lib
XXX epkg-elpa
XXX epkg
XXX json
XXX map
XXX seq
XXX subr-x
XXX no-littering
XXX cl-lib
XXX compat
XXX custom
XXX select
XXX saveplace
XXX cl-lib
XXX cl-lib
XXX seq
XXX kmacro
XXX replace
XXX cl-lib
XXX desktop
XXX cl-lib
XXX frameset
XXX cl-lib
XXX printing
XXX lpr
XXX ps-print
XXX lpr
XXX ps-print-loaddefs
XXX cus-face
XXX wid-edit
XXX icons
XXX cus-load
XXX cus-start
XXX cl-lib
XXX cus-load
XXX cus-start
XXX cus-start
XXX auth-source-pass
XXX seq
XXX cl-lib
XXX auth-source
XXX json
XXX password-cache
XXX cl-lib
XXX eieio
XXX url-parse
XXX url-vars
XXX auth-source
XXX helm-pass
XXX helm
XXX helm-core
XXX cl-lib
XXX async
XXX cl-lib
XXX helm-lib
XXX cl-lib
XXX cl-lib
XXX cl-lib
XXX helm-multi-match
XXX cl-lib
XXX helm-lib
XXX helm-source
XXX cl-lib
XXX eieio
XXX helm-lib
XXX cl-lib
XXX cl-lib
XXX cl-lib
XXX cl-lib
XXX cl-lib
XXX cl-lib
XXX cl-lib
XXX async-bytecomp
XXX cl-lib
XXX async
XXX bytecomp
XXX helm-global-bindings
XXX helm-lib
XXX helm-easymenu
XXX easymenu
XXX password-store
XXX with-editor
XXX cl-lib
XXX compat
XXX server
XXX shell
XXX comint
XXX ring
XXX ansi-color
XXX ansi-osc
XXX regexp-opt
XXX pcomplete
XXX comint
XXX subr-x
XXX subr-x
XXX macroexp
XXX auth-source-pass
XXX auth-source-pass
XXX thingatpt
XXX seq
XXX modus-themes
XXX modus-themes

> I'd do the investigation myself but my dev machine went KO yesterday and
> to get it fixed it might take till next week :/
>
> Thanks
>
>   Andrea

Is the it normal that gdb tell me:
warning: Corrupted shared library list: 0x1701f5b0 != 0x19cf8b60

When running Emacs in GDB?
I have the same error with my last known good version.

I've attach the current log I have and try further.