Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

didChangeConfiguration raises error if settings is null #144

Closed
buzztaiki opened this issue Jan 20, 2019 · 3 comments
Closed

didChangeConfiguration raises error if settings is null #144

buzztaiki opened this issue Jan 20, 2019 · 3 comments

Comments

@buzztaiki
Copy link

Hi,

I use solargraph with Emacs Eglot.

After connecting to lsp server, eglot sends a didChangeConfiguration request.
At this time, if user configure nothing, null is sent as the value of settings.

As a result, it seems to cause the following error in solargraph.

  [WARN] Error processing request: [NoMethodError] undefined method `[]' for nil:NilClass
  [WARN] ["/home/taiki/tmp/railsapp/vendor/bundle/gems/solargraph-0.31.0/lib/solargraph/language_server/message/workspace/did_change_configuration.rb:6:in `process'", "/home/taiki/tmp/railsapp/vendor/bundle/gems/solargraph-0.31.0/lib/solargraph/language_server/host.rb:94:in `receive'", "/home/taiki/tmp/railsapp/vendor/bundle/gems/solargraph-0.31.0/lib/solargraph/language_server/transport/adapter.rb:33:in `process'", "/home/taiki/tmp/railsapp/vendor/bundle/gems/solargraph-0.31.0/lib/solargraph/language_server/transport/adapter.rb:14:in `block in opening'", "/home/taiki/tmp/railsapp/vendor/bundle/gems/solargraph-0.31.0/lib/solargraph/language_server/transport/data_reader.rb:53:in `parse_message_from_buffer'", "/home/taiki/tmp/railsapp/vendor/bundle/gems/solargraph-0.31.0/lib/solargraph/language_server/transport/data_reader.rb:31:in `block in receive'", "/home/taiki/tmp/railsapp/vendor/bundle/gems/solargraph-0.31.0/lib/solargraph/language_server/transport/data_reader.rb:26:in `each_char'", "/home/taiki/tmp/railsapp/vendor/bundle/gems/solargraph-0.31.0/lib/solargraph/language_server/transport/data_reader.rb:26:in `receive'", "/home/taiki/tmp/railsapp/vendor/bundle/gems/solargraph-0.31.0/lib/solargraph/language_server/transport/adapter.rb:25:in `sending'", "/home/taiki/tmp/railsapp/vendor/bundle/gems/backport-0.3.0/lib/backport/client.rb:48:in `sending'", "/home/taiki/tmp/railsapp/vendor/bundle/gems/backport-0.3.0/lib/backport/server/tcpip.rb:25:in `block (2 levels) in tick'", "/home/taiki/tmp/railsapp/vendor/bundle/gems/backport-0.3.0/lib/backport/server/tcpip.rb:19:in `each'", "/home/taiki/tmp/railsapp/vendor/bundle/gems/backport-0.3.0/lib/backport/server/tcpip.rb:19:in `block in tick'", "/home/taiki/tmp/railsapp/vendor/bundle/gems/backport-0.3.0/lib/backport/server/tcpip.rb:18:in `synchronize'", "/home/taiki/tmp/railsapp/vendor/bundle/gems/backport-0.3.0/lib/backport/server/tcpip.rb:18:in `tick'", "/home/taiki/tmp/railsapp/vendor/bundle/gems/backport-0.3.0/lib/backport/machine.rb:56:in `each'", "/home/taiki/tmp/railsapp/vendor/bundle/gems/backport-0.3.0/lib/backport/machine.rb:56:in `tick'", "/home/taiki/tmp/railsapp/vendor/bundle/gems/backport-0.3.0/lib/backport/machine.rb:64:in `run_server_thread'", "/home/taiki/tmp/railsapp/vendor/bundle/gems/backport-0.3.0/lib/backport/machine.rb:19:in `run'", "/home/taiki/tmp/railsapp/vendor/bundle/gems/backport-0.3.0/lib/backport.rb:51:in `run'", "/home/taiki/tmp/railsapp/vendor/bundle/gems/solargraph-0.31.0/lib/solargraph/shell.rb:25:in `socket'", "/home/taiki/tmp/railsapp/vendor/bundle/gems/thor-0.20.3/lib/thor/command.rb:27:in `run'", "/home/taiki/tmp/railsapp/vendor/bundle/gems/thor-0.20.3/lib/thor/invocation.rb:126:in `invoke_command'", "/home/taiki/tmp/railsapp/vendor/bundle/gems/thor-0.20.3/lib/thor.rb:387:in `dispatch'", "/home/taiki/tmp/railsapp/vendor/bundle/gems/thor-0.20.3/lib/thor/base.rb:466:in `start'", "/home/taiki/tmp/railsapp/vendor/bundle/gems/solargraph-0.31.0/bin/solargraph:5:in `<top (required)>'", "/home/taiki/tmp/railsapp/vendor/bundle/bin/solargraph:23:in `load'", "/home/taiki/tmp/railsapp/vendor/bundle/bin/solargraph:23:in `<top (required)>'", "/usr/lib/ruby/gems/2.6.0/gems/bundler-2.0.1/lib/bundler/cli/exec.rb:74:in `load'", "/usr/lib/ruby/gems/2.6.0/gems/bundler-2.0.1/lib/bundler/cli/exec.rb:74:in `kernel_load'", "/usr/lib/ruby/gems/2.6.0/gems/bundler-2.0.1/lib/bundler/cli/exec.rb:28:in `run'", "/usr/lib/ruby/gems/2.6.0/gems/bundler-2.0.1/lib/bundler/cli.rb:463:in `exec'", "/usr/lib/ruby/gems/2.6.0/gems/bundler-2.0.1/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'", "/usr/lib/ruby/gems/2.6.0/gems/bundler-2.0.1/lib/bundler/vendor/thor/lib/thor/invocation.rb:126:in `invoke_command'", "/usr/lib/ruby/gems/2.6.0/gems/bundler-2.0.1/lib/bundler/vendor/thor/lib/thor.rb:387:in `dispatch'", "/usr/lib/ruby/gems/2.6.0/gems/bundler-2.0.1/lib/bundler/cli.rb:27:in `dispatch'", "/usr/lib/ruby/gems/2.6.0/gems/bundler-2.0.1/lib/bundler/vendor/thor/lib/thor/base.rb:466:in `start'", "/usr/lib/ruby/gems/2.6.0/gems/bundler-2.0.1/lib/bundler/cli.rb:18:in `start'", "/usr/lib/ruby/gems/2.6.0/gems/bundler-2.0.1/exe/bundle:30:in `block in <top (required)>'", "/usr/lib/ruby/gems/2.6.0/gems/bundler-2.0.1/lib/bundler/friendly_errors.rb:124:in `with_friendly_errors'", "/usr/lib/ruby/gems/2.6.0/gems/bundler-2.0.1/exe/bundle:22:in `<top (required)>'", "/usr/bin/bundle:23:in `load'", "/usr/bin/bundle:23:in `<main>'"]
@castwide
Copy link
Owner

Confirmed. Based on the specs, it looks like null should be valid, so I'll change the message handler to catch and ignore it.

@castwide
Copy link
Owner

Published in v0.31.1.

@buzztaiki
Copy link
Author

Thanks!!

@castwide castwide closed this as completed Apr 4, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants