0

I recently installed meghanada-mode from melpa to help with some Java I am writing. Mostly I like it. However, it has started showing the following messages (in my *Messages* buffer):

Error:jetbrains.exodus.ExodusException: . Please check *meghanada-server-log*
WARN not match type

However, I cannot find a buffer by that name, nor a file (using the find command).

Moreover, if I compile my project (with Maven) it gives no errors and runs, but I assume something is not completely correct and would like to fix it. However, I don't know where to look.

4
  • 1
    by convention buffers whose name start with an '*' aren't associated to files, so you won't find it in the filesystem. I cannot help you with why isn't there, except if the server isn't running. – Muihlinn Dec 2 '20 at 20:57
  • Do you know how to check to see if the server is running? – intel_chris Dec 3 '20 at 16:04
  • And as mysteriously as the message appeared. It has disappeared. – intel_chris Dec 3 '20 at 16:04
  • And then reappeared, but then I figured out why and added the answer. – intel_chris Dec 4 '20 at 7:42
1

The *meghanada-server-log* only exists in the Emacs which started the meghanada server (with the meghanada-server-start command, which gets implicitly run when you turn on meghanada-mode).

So, if you start a 2nd Emacs, it will find the server running and not have that buffer.

Moreover, if you kill the 1st Emacs (the one that started the server) you can get the error messages I was referring to (because killing that emacs will kill the server), but not have the buffer to look in (because the 2nd Emacs didn't start the server and thus didn't create that buffer).

However, the messages will go away if you either:

  1. Start another Emacs and have it turn on meghanada-mode for some file, whence it will find that the server is not running, because killing the 1st emacs killed it (causing the error message) and restart it.

or

  1. Explicitly restart the meghanada-server with:
C-xmeghanada-server-kill
C-xmeghanada-server-start
2
  • As suggestion, in such scenario I'd run emacs in daemon mode and will connect to it with emacsclient. – Muihlinn Dec 4 '20 at 7:44
  • Actually, that's the inverse of what I want. My emacs tends to get too full of stuff and I need to kill it from time to time to do a "global garbage collect". So, having a server running, would make the situation worse, but thanks for the suggestion. – intel_chris Dec 8 '20 at 16:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.