FS#63674 - [bash-language-server] broken since the 1.5.6-2 bump

Attached to Project: Community Packages
Opened by Denis Kasak (dkasak) - Friday, 06 September 2019, 15:35 GMT
Last edited by Maxim Baz (maximbaz) - Sunday, 03 November 2019, 21:43 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To Felix Yan (felixonmars)
Maxim Baz (maximbaz)
Architecture All
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 1
Private No

Details

Description:

Since the bump, trying to use bash-language-server from neovim through
LanguageClient-neovim (https://github.com/autozimu/LanguageClient-neovim)
doesn't work anymore.

For instance, trying to call the `textDocument/definition` method results in

stack backtrace:
0: failure::backtrace::internal::InternalBacktrace::new::h431d7665fd35e73d (0x726f90)
1: failure::backtrace::Backtrace::new::hd6cebadb3ffbf3e5 (0x727150)
2: languageclient::rpcclient::RpcClient::call::h9c608ee2d8325085 (0x4d94b0)
3: languageclient::language_server_protocol::<impl languageclient::language_client::LanguageClient>::find_locations::hfe699194740712dc (0x42a46a)
4: languageclient::rpchandler::<impl languageclient::language_client::LanguageClient>::handle_method_call::h7ee0412f7635e4da (0x45c615)
5: languageclient::rpchandler::<impl languageclient::language_client::LanguageClient>::handle_call::h9b62e9e21f21b2f9 (0x456900)
6: std::sys_common::backtrace::__rust_begin_short_backtrace::hc8a509b49753c32d (0x514e9c)
7: std::panicking::try::do_call::hee8fd46a1efbf64e (0x519076)
8: __rust_maybe_catch_panic (0x758d5a)
at src/libpanic_unwind/lib.rs:85
9: core::ops::function::FnOnce::call_once{{vtable.shim}}::h7dc38ae0706df3df (0x5d4686)
10: <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once::hd5079c377d1e4ed3 (0x7413af)
at /rustc/a53f9df32fbb0b5f4382caaad8f1a46f36ea887c/src/liballoc/boxed.rs:704
11: <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once::hcdd2d938f9e9722c (0x758770)
at /rustc/a53f9df32fbb0b5f4382caaad8f1a46f36ea887c/src/liballoc/boxed.rs:704
std::sys_common::thread::start_thread::h917bf69a6843fa36
at src/libstd/sys_common/thread.rs:13
std::sys::unix::thread::Thread::new::thread_start::hd41de331fb614924
at src/libstd/sys/unix/thread.rs:79
17:23:43 INFO writer-None src/rpcclient.rs:215 => None {"jsonrpc":"2.0","error":{"code":-32603,"message":"Error: Failure { jsonrpc: Some(V2), error: Error { code: MethodNotFound, message: \"Unhandled method textDocument/definition\", data: None }, id: Num(27) }"},"id":26}

I've tried downgrading to bash-language-server-1.5.6-1 and nodejs-11.15.0-1 and it works with those versions.

Additional info:
* package version(s): bash-language-server-1.5.6-2, nodejs-12.10.0-1

Steps to reproduce:

1. `bash-language-server start`
2. Try calling a LSP method, for instance `textDocument/definition`.

For my personal scenario, the steps to reproduce are:

1. Install neovim.
2. Install https://github.com/autozimu/LanguageClient-neovim.
3. Configure according to
https://github.com/autozimu/LanguageClient-neovim/blob/next/min-vimrc.vim,
adding

let g:LanguageClient_serverCommands = {
\ 'sh': ['/usr/bin/bash-language-server', 'start'],
}

4. Run neovim on a sample file, such as

a() { }
a

5. Place cursor on second `a` and run nvim command `:call LanguageClient#textDocument_definition()`.
This task depends upon

Closed by  Maxim Baz (maximbaz)
Sunday, 03 November 2019, 21:43 GMT
Reason for closing:  Works for me
Additional comments about closing:  Not a bug in bash-language-server itself, possibly already fixed, or in LanguageClient-neovim. Please open an issue at LanguageClient-neovim repo if you can repro.
Comment by Maxim Baz (maximbaz) - Sunday, 03 November 2019, 21:41 GMT
I haven't tried in neovim but this definitely works in kakoune today, which means the issue is either solved in 1.6.1-1, or is not in bash-language-server at all, but in LanguageClient-neovim itself. This actually looks a lot relevant: https://github.com/autozimu/LanguageClient-neovim/issues/761

Please try again and see if it still reproduces, and if yes, please open an issue at LanguageClient-neovim repo (feel free to cc me @maximbaz on github).

Loading...