Discussion:
new flymake bug: error in process sentinel: Invalid function: flymake-log
Yuta Yamada
8 years ago
Permalink
Sorry if I'm not conforming right place (I saw this
https://github.com/nicferrier/emacs-contributor-guide#testing, so I thought
it's ok to discuss new flymake's bug)

How to reproduce:
1. open emacs with -Q option
2. on scratch buffer, invoke M-x flymake-mode
3. C-x 3, and then C-x b return (switched message buffer)
4. edit something on scratch buffer
5. and then immediately switch to another buffer (I used C-x o and then
switch message buffer by opend at 3)
6. got `error in process sentinel: Invalid function: flymake-log` on
message buffer

Thanks
Yuta Yamada
João Távora
8 years ago
Permalink
...
I can't reproduce it. flymake-log is a(n autoloaded) lisp macro, not a
function, and it's only invoked in the elisp-flymake-byte-compile
backend's sentinel in elisp-mode.el that sentinel detects an obsolete
check (BTW your report is still helpful because it shows a case where
that detection was a false positive)

How did you compile your emacs-26? The error you get could be caused by
the fact that the autoload didn't kick in when it should, but it's also
a bit confusing to me how it should work at all since it's a macro (that
expands to flymake--log-1) and elisp-mode.el is preloaded. Comment from
more knowledgeable folk is welcome at this point.

I've just pushed a fix the false detection problem in the emacs-26
branch. The fix will (perhaps unfortunately) shoosh your error as well,
so take note of the git HEAD you were in, and try to "make bootstrap".

João
Yuta Yamada
8 years ago
Permalink
Post by João Távora
I can't reproduce it. flymake-log is a(n autoloaded) lisp macro, not a
function, and it's only invoked in the elisp-flymake-byte-compile
backend's sentinel in elisp-mode.el that sentinel detects an obsolete
check (BTW your report is still helpful because it shows a case where
that detection was a false positive)
How did you compile your emacs-26?
I'm sorry, I was checking on master, not emacs-26 branch and
testing branch on emacs-26 without your fixing commit couldn't reproduce
the bug by myself. So please ignore my bug conformation. (you fixed another
bug was great though)

Also I must admit that I didn't use the `make bootstrap" to compile emacs

I was using below script:
---
git reset --hard HEAD
git clean -xdf
git pull git://git.savannah.gnu.org/emacs.git

./autogen.sh all
./configure \
CFLAGS='-O2' \
--with-dbus -without-toolkit-scroll-bars \
--with-xim --without-makeinfo --with-modules \
--with-x-toolkit=lucid

make
---

I've just pushed a fix the false detection problem in the emacs-26
Post by João Távora
branch. The fix will (perhaps unfortunately) shoosh your error as well,
so take note of the git HEAD you were in, and try to "make bootstrap".
Sorry, I just did git pull things without thinking, but I built emacs
around Oct 16 as
fa as remember (before I submit new flymake's feature request on devel) in
case if you care.


Yuta Yamada
...
Stefan Monnier
8 years ago
Permalink
Post by Yuta Yamada
6. got `error in process sentinel: Invalid function: flymake-log` on
message buffer
This is a miscompilation which probably happened because of missing
dependency information (which using "make bootstrap" would have
circumvented). Just do:

(cd lisp; make autoloads)
and
rm lisp/progmodes/elisp-mode.elc; make


-- Stefan

Loading...