Closed islam-taha closed 4 years ago
Does C-g
break you out of the freeze? Is there anything interesting in the REPL buffer (you can switch to it with C-c C-z
)?
Using M-x toggle-debug-on-quit
, you can obtain the backtrace the next time it freezes and you press C-g
.
And finally, please post the output of M-x company-diag
.
Yes, C-g break me out of the freeze, and here is the output of company-diag.
Debugger entered--Lisp error: (quit)
url-retrieve-synchronously("http://127.0.0.1:57505//complete_method/d/-/ApplicationCable%3A%3AConnection/-")
robe-retrieve("http://127.0.0.1:57505//complete_method/d/-/ApplicationCable%3A%3AConnection/-")
robe-request("complete_method" #("d" 0 1 (fontified t)) nil "ApplicationCable::Connection" nil)
robe-complete-thing(#("d" 0 1 (fontified t)))
company-robe(candidates #("d" 0 1 (fontified t)))
apply(company-robe (candidates #("d" 0 1 (fontified t))))
company-call-backend-raw(candidates #("d" 0 1 (fontified t)))
apply(company-call-backend-raw (candidates #("d" 0 1 (fontified t))))
company--force-sync(company-call-backend-raw (candidates #("d" 0 1 (fontified t))) company-robe)
company-call-backend(candidates #("d" 0 1 (fontified t)))
company-diag()
funcall-interactively(company-diag)
call-interactively(company-diag record nil)
command-execute(company-diag record)
helm-M-x(nil #("company-diag" 0 12 (match-part "company-diag")))
funcall-interactively(helm-M-x nil #("company-diag" 0 12 (match-part "company-diag")))
call-interactively(helm-M-x nil nil)
command-execute(helm-M-x)
Thanks. Now, please answer the remaining two questions.
Nothing interesting in the REPL buffer, here is what appear in the messages buffer:
Contacting host: 127.0.0.1:53127
eldoc error: (error Transfer interrupted!)
Company: An error occurred in auto-begin
Company: backend company-robe error "Transfer interrupted!" with args (candidates ss)
and nothing appear as a backtrace when quitting while enabling toggle-debug-on-quit.
I see. Could you paste the contents of your Gemfile.lock
here?
Or, better, yet, post an example project where I can reproduce this error.
And also:
please post the output of M-x company-diag
For company-diag the same happens while typing, seems to be stuck in contacting host, here is the contents of Gemfile.lock:
GIT
remote: https://github.com/SimplyBuilt/activejob-retriable.git
revision: 6281c2bff45fa15332f0645ec6e8b757bc622d6a
specs:
activejob-retriable (5.0.4)
activejob (~> 5.0)
GIT
remote: https://github.com/seuros/capistrano-puma.git
revision: b2b110fd75e8db43cef0400f424821aa8711b006
specs:
capistrano3-puma (3.1.0)
capistrano (~> 3.7)
capistrano-bundler
puma (~> 3.4)
GIT
remote: https://github.com/seuros/capistrano-sidekiq.git
revision: 339c42e24f42d8d72173daae832b23504930f941
specs:
capistrano-sidekiq (0.10.0)
capistrano
sidekiq (>= 3.4)
GIT
remote: https://github.com/seuros/state_machine.git
revision: 95ba53f03e5657a5873343c2b1dc6a148ea3542e
specs:
state_machine (1.2.0)
GEM
remote: https://rubygems.org/
specs:
actioncable (5.0.2)
actionpack (= 5.0.2)
nio4r (>= 1.2, < 3.0)
websocket-driver (~> 0.6.1)
actionmailer (5.0.2)
actionpack (= 5.0.2)
actionview (= 5.0.2)
activejob (= 5.0.2)
mail (~> 2.5, >= 2.5.4)
rails-dom-testing (~> 2.0)
actionpack (5.0.2)
actionview (= 5.0.2)
activesupport (= 5.0.2)
rack (~> 2.0)
rack-test (~> 0.6.3)
rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.0, >= 1.0.2)
actionview (5.0.2)
activesupport (= 5.0.2)
builder (~> 3.1)
erubis (~> 2.7.0)
rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.0, >= 1.0.3)
active_model_serializers (0.10.5)
actionpack (>= 4.1, < 6)
activemodel (>= 4.1, < 6)
case_transform (>= 0.2)
jsonapi-renderer (>= 0.1.1.beta1, < 0.2)
activejob (5.0.2)
activesupport (= 5.0.2)
globalid (>= 0.3.6)
activemodel (5.0.2)
activesupport (= 5.0.2)
activerecord (5.0.2)
activemodel (= 5.0.2)
activesupport (= 5.0.2)
arel (~> 7.0)
activesupport (5.0.2)
concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (~> 0.7)
minitest (~> 5.1)
tzinfo (~> 1.1)
activevalidators (4.0.1)
activemodel (>= 3.0)
countries (~> 1.2)
credit_card_validations (~> 3.2)
date_validator
mail
phony (~> 2.0)
rake
addressable (2.5.0)
public_suffix (~> 2.0, >= 2.0.2)
airbrussh (1.1.2)
sshkit (>= 1.6.1, != 1.7.0)
annotate (2.7.1)
activerecord (>= 3.2, < 6.0)
rake (>= 10.4, < 12.0)
arel (7.1.4)
ast (2.3.0)
bcrypt (3.1.11)
bcrypt (3.1.11-java)
bcrypt (3.1.11-x64-mingw32)
bcrypt (3.1.11-x86-mingw32)
better_errors (2.1.1)
coderay (>= 1.0.0)
erubis (>= 2.6.6)
rack (>= 0.9.0)
binding_of_caller (0.7.2)
debug_inspector (>= 0.0.1)
bugsnag (5.2.0)
builder (3.2.3)
byebug (9.0.6)
cancancan (1.16.0)
capistrano (3.8.0)
airbrussh (>= 1.0.0)
i18n
rake (>= 10.0.0)
sshkit (>= 1.9.0)
capistrano-bundler (1.2.0)
capistrano (~> 3.1)
sshkit (~> 1.2)
capistrano-rails (1.2.3)
capistrano (~> 3.1)
capistrano-bundler (~> 1.1)
capistrano-rvm (0.1.2)
capistrano (~> 3.0)
sshkit (~> 1.2)
case_transform (0.2)
activesupport
climate_control (0.1.0)
cocaine (0.5.8)
climate_control (>= 0.0.3, < 1.0)
coderay (1.1.1)
coffee-rails (4.2.1)
coffee-script (>= 2.2.0)
railties (>= 4.0.0, < 5.2.x)
coffee-script (2.4.1)
coffee-script-source
execjs
coffee-script-source (1.12.2)
concurrent-ruby (1.0.5)
concurrent-ruby (1.0.5-java)
connection_pool (2.2.1)
countries (1.2.5)
currencies (~> 0.4.2)
i18n_data (~> 0.7.0)
credit_card_validations (3.4.0)
activemodel (>= 3, <= 6)
activesupport (>= 3, <= 6)
currencies (0.4.2)
database_cleaner (1.5.3)
date_validator (0.9.0)
activemodel
activesupport
debug_inspector (0.0.2)
default_value_for (3.0.2)
activerecord (>= 3.2.0, < 5.1)
devise (4.2.0)
bcrypt (~> 3.0)
orm_adapter (~> 0.1)
railties (>= 4.1.0, < 5.1)
responders
warden (~> 1.2.3)
devise_invitable (1.7.2)
actionmailer (>= 4.1.0)
devise (>= 4.0.0)
devise_token_auth (0.1.40)
devise (> 3.5.2, <= 4.2)
rails (< 6)
diff-lcs (1.3)
docile (1.1.5)
domain_name (0.5.20170404)
unf (>= 0.0.5, < 1.0.0)
erubis (2.7.0)
execjs (2.7.0)
factory_girl (4.8.0)
activesupport (>= 3.0.0)
factory_girl_rails (4.8.0)
factory_girl (~> 4.8.0)
railties (>= 3.0.0)
faker (1.7.3)
i18n (~> 0.5)
ffi (1.9.18)
ffi (1.9.18-java)
ffi (1.9.18-x64-mingw32)
ffi (1.9.18-x86-mingw32)
foreman (0.83.0)
thor (~> 0.19.1)
globalid (0.3.7)
activesupport (>= 4.1.0)
has_scope (0.7.0)
actionpack (>= 4.1, < 5.1)
activesupport (>= 4.1, < 5.1)
http-cookie (1.0.3)
domain_name (~> 0.5)
i18n (0.8.1)
i18n_data (0.7.0)
jquery-rails (4.3.1)
rails-dom-testing (>= 1, < 3)
railties (>= 4.2.0)
thor (>= 0.14, < 2.0)
json (2.0.3)
json (2.0.3-java)
json-schema (2.8.0)
addressable (>= 2.4)
json_matchers (0.7.0)
json-schema (~> 2.7)
jsonapi-renderer (0.1.2)
kaminari (1.0.1)
activesupport (>= 4.1.0)
kaminari-actionview (= 1.0.1)
kaminari-activerecord (= 1.0.1)
kaminari-core (= 1.0.1)
kaminari-actionview (1.0.1)
actionview
kaminari-core (= 1.0.1)
kaminari-activerecord (1.0.1)
activerecord
kaminari-core (= 1.0.1)
kaminari-core (1.0.1)
launchy (2.4.3)
addressable (~> 2.3)
launchy (2.4.3-java)
addressable (~> 2.3)
spoon (~> 0.0.1)
letter_opener (1.4.1)
launchy (~> 2.2)
libv8 (3.16.14.19)
listen (3.0.8)
rb-fsevent (~> 0.9, >= 0.9.4)
rb-inotify (~> 0.9, >= 0.9.7)
loofah (2.0.3)
nokogiri (>= 1.5.9)
mail (2.6.4)
mime-types (>= 1.16, < 4)
mailgun-ruby (1.1.5)
rest-client (~> 2.0)
method_source (0.8.2)
mime-types (3.1)
mime-types-data (~> 3.2015)
mime-types-data (3.2016.0521)
mimemagic (0.3.2)
mini_portile2 (2.1.0)
minitest (5.10.1)
mysql2 (0.4.5)
mysql2 (0.4.5-x64-mingw32)
mysql2 (0.4.5-x86-mingw32)
mysql2 (0.4.5-x86-mswin32-60)
net-scp (1.2.1)
net-ssh (>= 2.6.5)
net-ssh (4.1.0)
netrc (0.11.0)
nio4r (2.0.0)
nio4r (2.0.0-java)
nokogiri (1.7.1)
mini_portile2 (~> 2.1.0)
nokogiri (1.7.1-java)
nokogiri (1.7.1-x64-mingw32)
mini_portile2 (~> 2.1.0)
nokogiri (1.7.1-x86-mingw32)
mini_portile2 (~> 2.1.0)
orm_adapter (0.5.0)
paperclip (5.0.0)
activemodel (>= 4.2.0)
activesupport (>= 4.2.0)
cocaine (~> 0.5.5)
mime-types
mimemagic (~> 0.3.0)
parser (2.4.0.0)
ast (~> 2.2)
phony (2.15.42)
powerpack (0.1.1)
pry (0.10.4)
coderay (~> 1.1.0)
method_source (~> 0.8.1)
slop (~> 3.4)
pry (0.10.4-java)
coderay (~> 1.1.0)
method_source (~> 0.8.1)
slop (~> 3.4)
spoon (~> 0.0)
pry-doc (0.10.0)
pry (~> 0.9)
yard (~> 0.9)
pry-rails (0.3.5)
pry (>= 0.9.10)
public_suffix (2.0.5)
puma (3.8.2)
puma (3.8.2-java)
rack (2.0.1)
rack-cors (0.4.1)
rack-protection (1.5.3)
rack
rack-test (0.6.3)
rack (>= 1.0)
rails (5.0.2)
actioncable (= 5.0.2)
actionmailer (= 5.0.2)
actionpack (= 5.0.2)
actionview (= 5.0.2)
activejob (= 5.0.2)
activemodel (= 5.0.2)
activerecord (= 5.0.2)
activesupport (= 5.0.2)
bundler (>= 1.3.0, < 2.0)
railties (= 5.0.2)
sprockets-rails (>= 2.0.0)
rails-dom-testing (2.0.2)
activesupport (>= 4.2.0, < 6.0)
nokogiri (~> 1.6)
rails-html-sanitizer (1.0.3)
loofah (~> 2.0)
railties (5.0.2)
actionpack (= 5.0.2)
activesupport (= 5.0.2)
method_source
rake (>= 0.8.7)
thor (>= 0.18.1, < 2.0)
rainbow (2.2.1)
rake (11.3.0)
rb-fsevent (0.9.8)
rb-inotify (0.9.8)
ffi (>= 0.5.0)
redis (3.3.3)
ref (2.0.0)
responders (2.3.0)
railties (>= 4.2.0, < 5.1)
rest-client (2.0.1)
http-cookie (>= 1.0.2, < 2.0)
mime-types (>= 1.16, < 4.0)
netrc (~> 0.8)
rest-client (2.0.1-x64-mingw32)
ffi (~> 1.9)
http-cookie (>= 1.0.2, < 2.0)
mime-types (>= 1.16, < 4.0)
netrc (~> 0.8)
rest-client (2.0.1-x86-mingw32)
ffi (~> 1.9)
http-cookie (>= 1.0.2, < 2.0)
mime-types (>= 1.16, < 4.0)
netrc (~> 0.8)
rest-client (2.0.1-x86-mswin32)
ffi (~> 1.9)
http-cookie (>= 1.0.2, < 2.0)
mime-types (>= 1.16, < 4.0)
netrc (~> 0.8)
rspec (3.5.0)
rspec-core (~> 3.5.0)
rspec-expectations (~> 3.5.0)
rspec-mocks (~> 3.5.0)
rspec-core (3.5.4)
rspec-support (~> 3.5.0)
rspec-expectations (3.5.0)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.5.0)
rspec-mocks (3.5.0)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.5.0)
rspec-rails (3.5.2)
actionpack (>= 3.0)
activesupport (>= 3.0)
railties (>= 3.0)
rspec-core (~> 3.5.0)
rspec-expectations (~> 3.5.0)
rspec-mocks (~> 3.5.0)
rspec-support (~> 3.5.0)
rspec-sidekiq (2.2.0)
rspec (~> 3.0, >= 3.0.0)
sidekiq (>= 2.4.0)
rspec-support (3.5.0)
rubocop (0.47.1)
parser (>= 2.3.3.1, < 3.0)
powerpack (~> 0.1)
rainbow (>= 1.99.1, < 3.0)
ruby-progressbar (~> 1.7)
unicode-display_width (~> 1.0, >= 1.0.1)
ruby-progressbar (1.8.1)
sass (3.4.23)
sass-rails (5.0.6)
railties (>= 4.0.0, < 6)
sass (~> 3.1)
sprockets (>= 2.8, < 4.0)
sprockets-rails (>= 2.0, < 4.0)
tilt (>= 1.1, < 3)
shoulda-callback-matchers (1.1.4)
activesupport (>= 3)
shoulda-matchers (3.1.1)
activesupport (>= 4.0.0)
sidekiq (4.2.10)
concurrent-ruby (~> 1.0)
connection_pool (~> 2.2, >= 2.2.0)
rack-protection (>= 1.5.0)
redis (~> 3.2, >= 3.2.1)
simplecov (0.14.1)
docile (~> 1.1.0)
json (>= 1.8, < 3)
simplecov-html (~> 0.10.0)
simplecov-html (0.10.0)
slack-notifier (2.1.0)
slop (3.6.0)
spoon (0.0.6)
ffi
spring (2.0.1)
activesupport (>= 4.2)
spring-watcher-listen (2.0.1)
listen (>= 2.7, < 4.0)
spring (>= 1.2, < 3.0)
sprockets (3.7.1)
concurrent-ruby (~> 1.0)
rack (> 1, < 3)
sprockets-rails (3.2.0)
actionpack (>= 4.0)
activesupport (>= 4.0)
sprockets (>= 3.0.0)
sshkit (1.13.1)
net-scp (>= 1.1.2)
net-ssh (>= 2.8.0)
therubyracer (0.12.3)
libv8 (~> 3.16.14.15)
ref
thor (0.19.4)
thread_safe (0.3.6)
thread_safe (0.3.6-java)
tilt (2.0.7)
turbolinks (5.0.1)
turbolinks-source (~> 5)
turbolinks-source (5.0.0)
tzinfo (1.2.2)
thread_safe (~> 0.1)
tzinfo-data (1.2017.1)
tzinfo (>= 1.0.0)
uglifier (3.1.9)
execjs (>= 0.3.0, < 3)
unf (0.1.4)
unf_ext
unf (0.1.4-java)
unf_ext (0.0.7.4)
unf_ext (0.0.7.4-x64-mingw32)
unf_ext (0.0.7.4-x86-mingw32)
unicode-display_width (1.1.3)
warden (1.2.7)
rack (>= 1.0)
web-console (2.3.0)
activemodel (>= 4.0)
binding_of_caller (>= 0.7.2)
railties (>= 4.0)
sprockets-rails (>= 2.0, < 4.0)
websocket-driver (0.6.5)
websocket-extensions (>= 0.1.0)
websocket-driver (0.6.5-java)
websocket-extensions (>= 0.1.0)
websocket-extensions (0.1.2)
yard (0.9.9)
PLATFORMS
java
ruby
x64-mingw32
x86-mingw32
x86-mswin32
DEPENDENCIES
active_model_serializers
activejob-retriable!
activevalidators
annotate
bcrypt
better_errors
binding_of_caller
bugsnag
byebug
cancancan
capistrano
capistrano-rails
capistrano-rvm
capistrano-sidekiq!
capistrano3-puma!
coffee-rails (~> 4.2)
database_cleaner
default_value_for
devise
devise_invitable
devise_token_auth
factory_girl_rails
faker
foreman
has_scope
jquery-rails
json_matchers
kaminari
letter_opener
listen (~> 3.0.5)
mailgun-ruby
method_source
mysql2 (>= 0.3.18, < 0.5)
paperclip (~> 5.0.0)
pry-doc
pry-rails
puma (~> 3.0)
rack-cors
rails (~> 5.0.1)
rspec-rails
rspec-sidekiq
rubocop
sass-rails (~> 5.0)
shoulda-callback-matchers (~> 1.1.1)
shoulda-matchers
sidekiq
simplecov
slack-notifier
spring
spring-watcher-listen (~> 2.0.0)
state_machine!
therubyracer
turbolinks
tzinfo-data
uglifier (>= 1.3.0)
web-console (~> 2.0)
RUBY VERSION
ruby 2.3.1p112
BUNDLED WITH
1.15.0.pre.4
I'll try to get a sample project also, thanks for reply.
Thanks. I see no known offenders, unfortunately.
Also, what are your Emacs and Ruby versions?
Emacs version: GNU Emacs 26.0.50
Ruby version: ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-darwin16]
Also something weird happening makes robe consume way much cpu!, here is a screenshot.
These two things are most likely directly related. It's taking too long to complete a request, and using as much CPU as it can while doing it.
I've played around with a new Rails 5.1.1 application, and couldn't reproduce.
BTW, try updating your Emacs snapshot. When was it built?
It may seem weird, but it's working now as excepted, hopefully this issue won't happen again.
Thanks for your help!
I've been dealing with the same issue since I switched to emacs (spacemacs) several weeks ago.
I have identical symptoms to @islam-taha:
toggle-debug-on-quit traceback:
Debugger entered--Lisp error: (quit)
url-retrieve-synchronously("http://127.0.0.1:49448//complete_method/a/-/-/yes" t)
robe-retrieve("http://127.0.0.1:49448//complete_method/a/-/-/yes")
robe-request("complete_method" #("a" 0 1 (fontified t)) nil nil t)
...
company-diag
Emacs 25.2.1 (x86_64-apple-darwin16.5.0) of 2017-04-25 on d12frosted.local
Company 0.9.3
company-backends: (company-robe
(company-dabbrev-code company-gtags company-etags company-keywords)
company-files company-dabbrev)
Used backend: (company-dabbrev-code company-gtags company-etags company-keywords)
Prefix: stop
Completions: none
C-g
breaks me out of freeze, but the freeze happens almost right away again.
Nothing interesting in repl buffer, just "robe on 49448"
.
Messages Buffer (after i type some gibberish into ruby file buffer to trigger the freeze)
Completions:
error in process sentinel: url-http-end-of-document-sentinel: Transfer interrupted!
error in process sentinel: Transfer interrupted!
error in process sentinel: url-http-end-of-document-sentinel: Transfer interrupted!
error in process sentinel: Transfer interrupted!
Company: An error occurred in auto-begin
Company: backend company-robe error "Interrupted!" with args (candidates dsfdsjhkasdkf)
Quit [4 times]
error in process sentinel: url-http-end-of-document-sentinel: Transfer interrupted!
error in process sentinel: Transfer interrupted!
eldoc error: (error Interrupted!)
error in process sentinel: url-http-end-of-document-sentinel: Transfer interrupted!
error in process sentinel: Transfer interrupted!
Company: An error occurred in auto-begin
Company: backend company-robe error "Interrupted!" with args (candidates dsfdsjhkasdkfk)
Quit [2 times]
CPU consistently sits at 99%, until I kill the process.
I've also noticed these processes appear (with M-x list-processes
). emacs truncates the address, but when i inspect it, the port shown in the url is associated with the ruby process.
127.0.0.1 open *http 127.0... -- (network connection to 127.0.0.1)
127.0.0.1<1> open *http 127.0... -- (network connection to 127.0.0.1)
my Gemfile.lock
I love robe and would really like to try to get to the bottom of this, so let me know how I can help.
Emacs 25.2.1
That's a bad news.
(x86_64-apple-darwin16.5.0)
Any chance you can try the same Emacs configuration and the same project on GNU/Linux, for comparison?
so let me know how I can help
I don't see a way to debug this without reproducing. So please try creating a small project where this happens (or point to an existing one, if it's publicly available, or send it to me by email), and outline the steps to reproduce it.
Alternatively, you could give me access to your machine where such project lives. This would require a certain degree of trust anyway, though.
Unfortunately I can't give you access to my machine or this project. I will work on finding a reproducible case. I don't have a linux machine to test on, but I can try to set to set up a vm.
I have finally stumbled on an error that looks related and might be hitting the same underlying problem. Filed a bug report. Let's see how it goes: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=34763
Is anybody having this problem still with us?
Is it still present when using the latest master?
Looks like I finally managed to trigger this semi-reliably with a new, faster Ruby.
The misbehavior seems to be on Emacs' side, but the server here clearly hasn't been doing enough to protect itself against that sort of thing. Fix incoming, fingers crossed.
After about 1 minute using company robe with a single file, when trying to type any characters, it seems to be stuck contacting robe host.
Here is a snippet of my company-backends configuration.
Any help would be appreciated!