leoliu / ggtags

Emacs frontend to GNU Global source code tagging system.
http://elpa.gnu.org
577 stars 56 forks source link

Process global is not active in tramp mode? #188

Closed baron closed 5 years ago

baron commented 5 years ago

I frequently get strange buffer errors when using ggtags over tramp. Usually the errors don't go away and if I "q" the debugger the same error pops up repeatedly making emacs unusable. I can make the main error go away by evaling (get-buffer-create " *ggtags-definition*") after which things run smoothly for a while.

Function called: ggtags-find-tag-dwim aka M-.

It seems like the buffer handling creates weird race conditions. I'm not sure if this is tramp specific but it's the only environment that I use ggtags in at the moment.

This library is a godsend and I am very grateful for it. Thank you very much for the great work!!

Main error

Debugger entered--Lisp error: (error "Process global is not active") signal(error ("Process global is not active")) tramp-interrupt-process(# nil) interrupt-process(#) ggtags-global-output(#<buffer ggtags-definition> ("global" "--result=grep" "--path-style=absolute" "getRequest") #f(compiled-function (status) #<bytecode 0x5a838659>) 100) ggtags-show-definition("getRequest") ggtags-eldoc-function() apply(ggtags-eldoc-function nil)

f(advice-wrapper :after-until #f(compiled-function (&rest args) #<bytecode 0x59b43625>) ggtags-eldoc-function ((name . ggtags-eldoc-function) (depth . -100)))()

eldoc-print-current-symbol-info()

f(compiled-function () #<bytecode 0x40109b3d>)()

apply(#f(compiled-function () #<bytecode 0x40109b3d>) nil) timer-event-handler([t 0 0 0 t #f(compiled-function () #<bytecode 0x40109b3d>) nil idle 0])

Other related errors:

Debugger entered--Lisp error: (error "Selecting deleted buffer") ggtags-global-output(# ("global" "--result=grep" "--path-style=absolute" "2getControllerName") #f(compiled-function (status) #<bytecode 0x59b72469>) 100) ggtags-show-definition("2getControllerName") ggtags-eldoc-function() apply(ggtags-eldoc-function nil)

f(advice-wrapper :after-until #f(compiled-function (&rest args) #<bytecode 0x59b71539>) ggtags-eldoc-function ((name . ggtags-eldoc-function) (depth . -100)))()

eldoc-print-current-symbol-info()

f(compiled-function () #<bytecode 0x40109b3d>)()

apply(#f(compiled-function () #<bytecode 0x40109b3d>) nil) timer-event-handler([t 0 0 0 t #f(compiled-function () #<bytecode 0x40109b3d>) nil idle 0])

leoliu commented 5 years ago

What happens if you turn of debug-on-error?

baron commented 5 years ago

Everything works smoothly lol

Is this the expected behavior? I guess I shouldn't have debug on error on for giggles.

Thanks for the response and once again amazing library, literally the best and makes tag jumping a real joy to use with zero configuration.

I guess I can remove my clunky advice function ;)