Subject: bug#45751: [feature/native-comp] emacs keeps running 100% of CPU

From: Andrea Corallo <[email-masked]>
Date: Mon, 11 Jan 2021 10:17:09 +0000

Édouard Debry <[email-masked]> writes:

> On lun., janv. 11 2021, Édouard Debry wrote:
>> On dim., janv. 10 2021, Andrea Corallo wrote:
>>> Édouard Debry <[email-masked]> writes:
>>>
>>>> I noticed that when launching emacs on linux (debian buster),
>>>> it keeps on running 100% of the CPU and seems to gradually eat all
>>>> memory, approximately 1-2% every minute.
>>>>
>>>> It seems related to native compiling. In the
>>>> *Async-native-compile-log* I read :
>>>>
>>>> <=============================>
>>>> Compiling
>>>> /home/edouard/.emacs.d/elpa/color-theme-sanityinc-solarized-20200805.603/color-theme-sanityinc-solarized.el...
>>>
>>> I see a similar issue with sanityinc-tomorrow.el, the compilation
>>> is way
>>> slower than any other one but it completes eventually.  I guess is
>>> the
>>> same issue you see and with sufficient RAM also sanityinc-solarized
>>> should complete.
>>>
>>> In case of of sanityinc-tomorrow I think is because of
>>> `color-theme-sanityinc-tomorrow'.  This is a single function that
>>> after
>>> macro expansion becomes enormous.
>>>
>>> We need to make the compiler robust against these corner cases,
>>> I'll
>>> have a look this week into adding some logic for that.
>>>
>>> Thanks
>>>
>>>   Andrea
>>
>> I have waited for approximately one hour and until linux became
>> totally unresponsive, I
>> had to reboot.
>>
>> I am not 100% sure it is because of emacs compiling the color theme
>> package and eating
>> all memory,
>> but I never had such a crash on linux since I own this laptop and I
>> had exactly the same
>> crash on
>> windows 10 with emacs native-comp eating all memory.
>>
>> So most probably, my previous bug is related to that. I could try
>> another theme and see
>> if this still happens.
>>
>> Regards
>
> Also, is there a way to prevent emacs native-comp to compile some
> packages, some kind
> of blacklist. I would prefer at the moment because I am used to this
> color theme.

Yes, `comp-deferred-compilation-deny-list'.

> Do you think there may be a noticeable difference on emacs's
> performance between a
> color theme natively compiled (*eln) or just byte compiled (*elc)

I don't think so.

  Andrea