Subject: Re: bug#68668: 30.0.50; Invalid hash table test: tab-bar--auto-width-hash-test

From: Andrea Corallo <[email-masked]>
Date: Wed, 31 Jan 2024 04:56:02 -0500

Andrea Corallo <[email-masked]> writes:

> john muhl <[email-masked]> writes:
>
>> Eli Zaretskii <[email-masked]> writes:
>>
>>>> From: Mekeor Melire <[email-masked]>
>>>> Date: Mon, 29 Jan 2024 22:53:45 +0000
>>>>
>>>> Hello, I just wanted to share a work-around for this bug, even though it
>>>> is probably bad for performance:
>>>>
>>>> 	(setopt native-comp-enable-subr-trampolines nil)
>>>
>>> Can someone please post a recipe for reproducing this?  Does this
>>> happen if you say "make bootstrap"?
>>
>> This most reliable way to reproduce it for me is:
>>
>>   git clone https://git.savannah.gnu.org/git/emacs.git
>>   cd emacs
>>   make bootstrap
>>   make test/src/keymap-tests.log
>>
>> It reproduces on 32 & 64bit systems, x86_64, armv7l and aarch64.
>> The problem first shows up with keymap-tests in 54d3de64e19.
>> Attached is the keymap-tests.log.
>
> I can reproduce this recipe, smells of some some function being moked
> that the native compiler needs in order to work.  I'll try to have a
> look.
>
>   Andrea

Okay investigation in progress, here a minimal reproducer:

(describe-buffer-bindings (current-buffer))
(comp-trampoline-compile 'message)

What is going on is that for some reason after calling
'describe-buffer-bindings' an hash table with
'tab-bar--auto-width-hash-test' as test is leaked into the compilation
environment.

As this is passed to the spawned process we fail as there
'tab-bar--auto-width-hash-test' is not defined.

  Andrea