Subject: bug#70796: 30.0.50; bug-reference-mode leading to constant GCing

From: Gerd Möllmann <[email-masked]>
Date: Mon, 17 Jun 2024 10:21:30 +0200

Andrea Corallo <[email-masked]> writes:

> Andrea Corallo <[email-masked]> writes:
>
>> Eli Zaretskii <[email-masked]> writes:
>>
>>>> From: Tassilo Horn <[email-masked]>
>>>> Cc: Eli Zaretskii <[email-masked]>,  [email-masked],  [email-masked]
>>>> Date: Sun, 16 Jun 2024 11:45:16 +0200
>>>> 
>>>> Gerd Möllmann <[email-masked]> writes:
>>>> 
>>>> > No progress in this matter from my side. I don't know what's going on.
>>>> 
>>>> Same here.  The issue went from "bug-reference-mode leading to constant
>>>> GC-ing" to "any (additional) function (including a no-op function) in
>>>> jit-lock-functions leads to constant GC-ing on MacOS but only with
>>>> native compilation and only when native-comp-speed > 0."  I feel
>>>> responsible for bug-reference-mode but Mac-specific issues during
>>>> redisplay that only happen with native-compilation are out of by
>>>> expertise, sorry.
>>>
>>> Andrea, could you perhaps look into this?
>>
>> I'll be happy to look into it but I don't use MacOS and AFAIR Tassilo
>> mentioned it's not reproducible on x86 (GNU/Linux?).
>>
>> I'll give it try here as well, but also to me the reproducer itself is
>> not 100% clear.
>>
>>   Andrea
>
> Okay, so this is what I tried:
>
> I bootstrapped two Emacs from current master (7be66d8223e) one
> --with-native-compilation=yes the other --with-native-compilation=no and
> boths with Gerd patch applied.
>
> Also I checkout current scratch/igc (2343d55dff4) to get igc.org.
>
> I then tried to run with boths native/non-native emacsen with:
>
> .../src/emacs -eval '(setq garbage-collection-messages t)' -Q ~/emacs4/admin/igc.org
>
>
> Once started looking in *Messages* I see 7 GC cycles in the the
> non-native build and 5 in the native one, also I can scroll without
> issues or other GC cycles.
>
> Note that only during the first start the native copiled Emacs did a
> number of GC cycles more to jit some code but I guess that's expected.
>
> Am I trying to repruduce this correctly?

Almost. After loading the Org file, please M-x goto-address-mode RET, or
M-x bug-reference-mode RET. In fact, registering anything with
jit-lock-register seems to have the same effect. Tassilo posted a
do-nothing example.

For me that is, because no one not on macOS/arm64 seems to see that.