Tried on windows. Indeed, with previous settings in my init file, I do not see anymore emacs eating all memory, currently it remains at ~150Mo while idle. The only trouble is that some packages fail to be natively compiled as "smart-mode-line" with the same error : Debugger entered--Lisp error: (wrong-number-of-arguments (3 . 4) 2) I blacklisted this package too. Details of the error follows, I presume this is a compatibility problem with emacs 28.0.50 ? Regards <================================================================================> Compiling c:/Users/xxx/.emacs.d/elpa/smart-mode-line-20190527.1156/smart-mode-line.el... Debugger entered--Lisp error: (wrong-number-of-arguments (3 . 4) 2) #f(compiled-function (obsolete-name current-name when &optional docstring) "Make OBSOLETE-NAME a variable alias for CURRENT-NAME and mark it obsolete.\n\nWHEN should be a string indicating when the variable was first\nmade obsolete, for example a date or a release number.\n\nThis macro evaluates all its parameters, and both OBSOLETE-NAME\nand CURRENT-NAME should be symbols, so a typical usage would look like:\n\n (define-obsolete-variable-alias 'foo-thing 'bar-thing \"27.1\")\n\nThis macro uses `defvaralias' and `make-obsolete-variable' (which see).\nSee the Info node `(elisp)Variable Aliases' for more details.\n\nIf CURRENT-NAME is a defcustom or a defvar (more generally, any variable\nwhere OBSOLETE-NAME may be set, e.g. in an init file, before the\nalias is defined), then the define-obsolete-variable-alias\nstatement should be evaluated before the defcustom, if user\ncustomizations are to be respected. The simplest way to achieve\nthis is to place the alias statement before the defcustom (this\nis not necessary for aliases that are autoloaded, or in files\ndumped with Emacs). This is so that any user customizations are\napplied before the defcustom tries to initialize the\nvariable (this is due to the way `defvaralias' works).\n\nFor the benefit of Customize, if OBSOLETE-NAME has\nany of the following properties, they are copied to\nCURRENT-NAME, if it does not already have them:\n`saved-value', `saved-variable-comment'." #)('sml/time-format 'display-time-format) macroexpand((define-obsolete-variable-alias 'sml/time-format 'display-time-format) ((sml/-debug . #f(compiled-function (fmt &rest r) #)) (declare-function . byte-compile-macroexpand-declare-function) (eval-when-compile . #f(compiled-function (&rest body) #)) (eval-and-compile . #f(compiled-function (&rest body) #)) (with-suppressed-warnings . #f(compiled-function (warnings &rest body) #)))) macroexp-macroexpand((define-obsolete-variable-alias 'sml/time-format 'display-time-format) ((sml/-debug . #f(compiled-function (fmt &rest r) #)) (declare-function . byte-compile-macroexpand-declare-function) (eval-when-compile . #f(compiled-function (&rest body) #)) (eval-and-compile . #f(compiled-function (&rest body) #)) (with-suppressed-warnings . #f(compiled-function (warnings &rest body) #)))) byte-compile-recurse-toplevel((define-obsolete-variable-alias 'sml/time-format 'display-time-format) #) byte-compile-toplevel-file-form((define-obsolete-variable-alias 'sml/time-format 'display-time-format)) #(#) byte-compile-from-buffer(#) byte-compile-file("c:/Users/xxx/.emacs.d/elpa/smart-mode-line-2019...") #f(compiled-function (filename) "Byte-compile FILENAME spilling data from the byte compiler." #)("c:/Users/xxx/.emacs.d/elpa/smart-mode-line-2019...") apply(#f(compiled-function (filename) "Byte-compile FILENAME spilling data from the byte compiler." #) "c:/Users/xxx/.emacs.d/elpa/smart-mode-line-2019..." nil) comp-spill-lap-function("c:/Users/xxx/.emacs.d/elpa/smart-mode-line-2019...") comp-spill-lap("c:/Users/xxx/.emacs.d/elpa/smart-mode-line-2019...") #f(compiled-function (pass) #)(comp-spill-lap) mapc(#f(compiled-function (pass) #) (comp-spill-lap comp-limplify comp-fwprop comp-call-optim comp-ipa-pure comp-add-cstrs comp-fwprop comp-dead-code comp-tco comp-fwprop comp-remove-type-hints comp-final)) comp--native-compile("c:/Users/xxx/.emacs.d/elpa/smart-mode-line-2019..." t) load-with-code-conversion("c:/Users/xxx/AppData/Local/Temp/emacs-async-com..." "c:/Users/xxx/AppData/Local/Temp/emacs-async-com..." nil t) command-line-1(("-l" "c:/Users/xxx/AppData/Local/Temp/emacs-async-com...")) command-line() normal-top-level() <==============================================================================> Le lun. 11 janv. 2021 à 15:48, Andrea Corallo a écrit : > Édouard Debry writes: > > > On lun., janv. 11 2021, Andrea Corallo wrote: > >> Édouard Debry writes: > >> > >>> On dim., janv. 10 2021, Andrea Corallo wrote: > >>>> Édouard Debry 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. > >> > >> Right, these are the classical symptoms of a system swapping for > >> insufficient physical memory (or excessive mem usage by a program :) > > > > Probably, my previous bug report "Excessive memory ..." was due to > > this package > > trying to be natively compiled. I will try the > > "comp-deferred-compilation-deny-list" > > setting on windows 10 so as to be sure there is nothing more. > > Thanks, let us know so in case we can close the duplicate. > > Andrea >