Ctrl-Z from JS/JSX file throws E900: Invalid channel id
Information
VIM version
NVIM v0.4.3 Build type: Release
Operating System: macOS Catalina Version 10.15.2 (19C57)
iTerm 2 Build 3.3.7
What went wrong
When using Ctrl-Z to suspend neovim, I get the following error from any JavaScript/JSX file:
Error detected while processing function ale#engine#CleanupEveryBuffer[10]..ale#engine#Cleanup[7]..ale#lsp#CloseDocument[15]..ale#lsp#Send[12]..<SNR>81_SendMessageData[2]..ale#job#SendRaw:
line 2:
E900: Invalid channel id
Reproducing the bug
- Launch neovim
- Open a .js or .jsx file
- Press Ctrl-Z to suspend neovim
- Error is throw
- Press any key and neovim is suspended
:ALEInfo
Current Filetype: javascript Available Linters: ['eslint', 'fecs', 'flow', 'flow-language-server', 'jscs', 'jshint', 'standard', 'tsserver', 'xo'] Enabled Linters: ['eslint', 'fecs', 'flow', 'flow-language-server', 'jscs', 'jshint', 'standard', 'tsserver', 'xo'] Suggested Fixers: 'eslint' - Apply eslint --fix to a file. 'fecs' - Apply fecs format to a file. 'importjs' - automatic imports for javascript 'prettier' - Apply prettier to a file. 'prettier_eslint', 'prettier-eslint' - Apply prettier-eslint to a file. 'prettier_standard', 'prettier-standard' - Apply prettier-standard to a file. 'remove_trailing_lines' - Remove all blank lines at the end of a file. 'standard' - Fix JavaScript files using standard --fix 'trim_whitespace' - Remove all trailing whitespace characters at the end of every line. 'xo' - Fix JavaScript/TypeScript files using xo --fix. Linter Variables:
let g:ale_javascript_eslint_executable = 'eslint' let g:ale_javascript_eslint_options = '' let g:ale_javascript_eslint_suppress_eslintignore = 0 let g:ale_javascript_eslint_suppress_missing_config = 0 let g:ale_javascript_eslint_use_global = 0 let g:ale_javascript_fecs_executable = 'fecs' let g:ale_javascript_fecs_use_global = 0 let g:ale_javascript_flow_executable = 'flow' let g:ale_javascript_flow_ls_executable = 'flow' let g:ale_javascript_flow_ls_use_global = 0 let g:ale_javascript_flow_use_global = 0 let g:ale_javascript_flow_use_home_config = 0 let g:ale_javascript_flow_use_respect_pragma = 1 let g:ale_javascript_jscs_executable = 'jscs' let g:ale_javascript_jscs_use_global = 0 let g:ale_javascript_jshint_executable = 'jshint' let g:ale_javascript_jshint_use_global = 0 let g:ale_javascript_standard_executable = 'standard' let g:ale_javascript_standard_options = '' let g:ale_javascript_standard_use_global = 0 let g:ale_javascript_tsserver_config_path = '' let g:ale_javascript_tsserver_executable = 'tsserver' let g:ale_javascript_tsserver_use_global = 0 let g:ale_javascript_xo_executable = 'xo' let g:ale_javascript_xo_options = '' let g:ale_javascript_xo_use_global = 0 Global Variables:
let g:ale_cache_executable_check_failures = v:null let g:ale_change_sign_column_color = 0 let g:ale_command_wrapper = '' let g:ale_completion_delay = v:null let g:ale_completion_enabled = 0 let g:ale_completion_max_suggestions = v:null let g:ale_echo_cursor = 1 let g:ale_echo_msg_error_str = 'Error' let g:ale_echo_msg_format = v:null let g:ale_echo_msg_info_str = 'Info' let g:ale_echo_msg_warning_str = 'Warning' let g:ale_enabled = 1 let g:ale_fix_on_save = 0 let g:ale_fixers = {} let g:ale_history_enabled = 1 let g:ale_history_log_output = 1 let g:ale_keep_list_window_open = 0 let g:ale_lint_delay = 200 let g:ale_lint_on_enter = 1 let g:ale_lint_on_filetype_changed = 1 let g:ale_lint_on_insert_leave = 1 let g:ale_lint_on_save = 1 let g:ale_lint_on_text_changed = 'normal' let g:ale_linter_aliases = {} let g:ale_linters = {} let g:ale_linters_explicit = 0 let g:ale_list_vertical = 0 let g:ale_list_window_size = 10 let g:ale_loclist_msg_format = '%code: %%s' let g:ale_lsp_root = {} let g:ale_max_buffer_history_size = 20 let g:ale_max_signs = -1 let g:ale_maximum_file_size = v:null let g:ale_open_list = 0 let g:ale_pattern_options = v:null let g:ale_pattern_options_enabled = v:null let g:ale_set_balloons = 0 let g:ale_set_highlights = 1 let g:ale_set_loclist = 1 let g:ale_set_quickfix = 0 let g:ale_set_signs = 1 let g:ale_sign_column_always = 0 let g:ale_sign_error = '>>' let g:ale_sign_info = '--' let g:ale_sign_offset = 1000000 let g:ale_sign_style_error = '>>' let g:ale_sign_style_warning = '--' let g:ale_sign_warning = '--' let g:ale_sign_highlight_linenrs = 0 let g:ale_statusline_format = v:null let g:ale_type_map = {} let g:ale_use_global_executables = v:null let g:ale_virtualtext_cursor = 0 let g:ale_warn_about_trailing_blank_lines = 1 let g:ale_warn_about_trailing_whitespace = 1 Command History:
(executable check - success) [filtered]/node_modules/eslint/bin/eslint.js (finished - exit code 0) ['/bin/sh', '-c', 'cd ''[filtered]'' && ''[filtered]/node_modules/eslint/bin/eslint.js'' -f json --stdin --stdin-filename ''[filtered]/src/reducers/projectsReducer.js'' < ''/var/folders/0s/82d6jrts33g_0t3vbdwhxvjw0000gn/T/nvimrmiEjD/2/projectsReducer.js''']
<<<OUTPUT STARTS>>> [{"filePath":"[filtered]/src/reducers/projectsReducer.js","messages":[],"errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0}] <<<OUTPUT ENDS>>>
(executable check - failure) fecs (executable check - failure) jscs (executable check - failure) jshint (executable check - failure) standard (executable check - success) tsserver (started) ['/bin/sh', '-c', '''tsserver'''] (executable check - failure) xo
I'm getting this same error when closing a buffer (using :bd) containing a js/jsx file.
I'm having the same issue. It does feel very recent.
Well at least I know I'm not alone.
🤷