jschaf / esup

ESUP - Emacs Start Up Profiler
398 stars 22 forks source link

esup fails to run on macOS High Sierra / Emacs 25.3 #51

Closed deybhayden closed 6 years ago

deybhayden commented 6 years ago

Hey there, thanks for this great plugin! I recently started having some problems running M-x esup

screen shot 2018-03-28 at 4 45 00 pm

The *Messages* buffer has this:

For information about GNU Emacs and the GNU system, type C-h C-a.
Error: (void-function vc-git-root)
esup-child-send-log: Process *esup-child-connection* not running

Any ideas (this probably worked about a 2-3 weeks ago)?

zaript commented 6 years ago

I also have an issue in MacOS, not sure if it's related or completely different:

Starting esup...
esup process started on port 50709
at 1
error in process sentinel: eieio-oref: Wrong type argument: (or eieio-object class), nil, obj
error in process sentinel: Wrong type argument: (or eieio-object class), nil, obj

Emacs version:

GNU Emacs 25.3.1 (x86_64-apple-darwin17.4.0, NS appkit-1561.20 Version 10.13.3 (Build 17D102)) of 2018-03-08
casouri commented 6 years ago

+1 on Emacs 26, High Sierra.

GNU Emacs 26.0.91 (build 1, x86_64-apple-darwin17.4.0, NS appkit-1561.20 Version 10.13.3 (Build 17D102)) of 2018-02-26
CeleritasCelery commented 6 years ago

+1 for Emacs 25.1 on SUSE Linux. Seeing Error: (void-function vc-git-root)

gmjain commented 6 years ago

+1 for emacs 25.3. Seeing the same eieio-oref issue as @zaript.

Will help in anyway I can. :-)

jschaf commented 6 years ago

Hey all, as a hot-fix I'll reduce the reduce profile depth to see if that addresses the issue.

jschaf commented 6 years ago

I think it has to do with how esup intercepts require calls. I switched it to use advice instead of parsing the elisp. The advice is much more robust, but has the unintended side-effect of intercepting require calls that don't appear in dotfiles.

vc-git.el is loaded indirectly when loading a vc-controlled file and esup happily starts profiling. It's not useful to profile vc-git so esup should skip it.

To fix this, esup should only intercept require calls that appear directly in dotfiles.

gmjain commented 6 years ago

@jschaf, Thanks for the update! :-) I tried the latest version. The eieio issue seems unaffected by the fix. I still see this:

Starting esup...
esup process started on port 34141
You can run the command ‘esup’ with M-x esu RET
at 1
error in process sentinel: eieio-oref: Wrong type argument: (or eieio-object class), nil, obj
error in process sentinel: Wrong type argument: (or eieio-object class), nil, obj
esup process started on port 34141

I guess it's the same issue in #52 and #54 within esup-fontify-results. I can help you with any debugging information you might need. :-)

CeleritasCelery commented 6 years ago

@jschaf, that fixed the original issue for me (the error that this issue was created for: (void-function vc-git-root)). Thanks!

zaript commented 6 years ago

Seems to be fixed with latest version of esup and Emacs 26.1.

jeffbowman commented 6 years ago

Still seeing this with Emacs 26.1: Starting esup... esup process started on port 39165 at 1 error in process sentinel: eieio-oref: Wrong type argument: (or eieio-object class), nil, obj error in process sentinel: Wrong type argument: (or eieio-object class), nil, obj

for reference, my configuration is at https://bitbucket.org/jeffbowman/dotfiles

zaript commented 6 years ago

@jeffbowman Occasionally I manage to fix things by deleting all *.elc files in .emacs.d. Things start working after recompilation.

matthew-piziak commented 5 years ago

Still seeing this on Emacs 26.1 with today's version of esup and all elc files freshly recompiled.

ckeschnat commented 5 years ago

I also stumbled upon this after trying to switch to straight.el which compiles everything. After reverting to package.el (and not having any *.elc) esup worked again.

GNU Emacs 26.1 (build 1, x86_64-w64-mingw32) of 2018-05-30 Windows 10 esup-20180727.342

matthew-piziak commented 5 years ago

Oh is that what it is? I also use straight.el.

CeleritasCelery commented 5 years ago

I am also seeing this again after switching to straight.el. Not sure which package is at fault.

glepnir commented 4 years ago

@jschaf got same error with straight on emacs 28

AtomicNess123 commented 4 years ago

Same error ) esup-child-send-log: Process esup-child-connection not running". Any ideas?

casouri commented 4 years ago

Maybe you can try this: https://github.com/dholm/benchmark-init-el

AtomicNess123 commented 4 years ago

Thanks, I will try.