williamboman / mason.nvim

Portable package manager for Neovim that runs everywhere Neovim runs. Easily install and manage LSP servers, DAP servers, linters, and formatters.
Apache License 2.0
7.22k stars 258 forks source link

Mason nvim core utils broken #1687

Closed alexandre-julien closed 2 months ago

alexandre-julien commented 2 months ago

Mason is broken on master neovim branch since c5af5c0b9.

checkhealth mason output:


==============================================================================
mason: require("mason.health").check()

mason.nvim ~
- OK mason.nvim version v1.10.0
- OK PATH: prepend
- OK Providers: 
    mason.providers.registry-api
    mason.providers.client
- OK neovim version >= 0.7.0

mason.nvim [Registries] ~
- OK Registry `github.com/mason-org/mason-registry version: 2024-04-23-melodic-spoon` is installed.

mason.nvim [Core utils] ~
- OK unzip: `UnZip 6.00 of 20 April 2009, by Info-ZIP.  Maintained by C. Spieler.  Send`
- WARNING wget: not available
  - ADVICE:
    - vim/_editor.lua:0: E5560: Vimscript function must not be called in a lua loop callback
- ERROR curl: not available
  - ADVICE:
    - vim/_editor.lua:0: E5560: Vimscript function must not be called in a lua loop callback
- ERROR gzip: not available
  - ADVICE:
    - vim/_editor.lua:0: E5560: Vimscript function must not be called in a lua loop callback
- OK tar: `tar (GNU tar) 1.35`
- ERROR bash: not available
  - ADVICE:
    - vim/_editor.lua:0: E5560: Vimscript function must not be called in a lua loop callback
- ERROR sh: not available
  - ADVICE:
    - vim/_editor.lua:0: E5560: Vimscript function must not be called in a lua loop callback

mason.nvim [Languages] ~
- WARNING Go: not available
  - ADVICE:
    - vim/_editor.lua:0: E5560: Vimscript function must not be called in a lua loop callback
- WARNING cargo: not available
  - ADVICE:
    - vim/_editor.lua:0: E5560: Vimscript function must not be called in a lua loop callback
- WARNING luarocks: not available
  - ADVICE:
    - vim/_editor.lua:0: E5560: Vimscript function must not be called in a lua loop callback
- WARNING Ruby: not available
  - ADVICE:
    - vim/_editor.lua:0: E5560: Vimscript function must not be called in a lua loop callback
- WARNING RubyGem: not available
  - ADVICE:
    - vim/_editor.lua:0: E5560: Vimscript function must not be called in a lua loop callback
- WARNING Composer: not available
  - ADVICE:
    - vim/_editor.lua:0: E5560: Vimscript function must not be called in a lua loop callback
- WARNING PHP: not available
  - ADVICE:
    - vim/_editor.lua:0: E5560: Vimscript function must not be called in a lua loop callback
- WARNING npm: not available
  - ADVICE:
    - vim/_editor.lua:0: E5560: Vimscript function must not be called in a lua loop callback
- WARNING node: not available
  - ADVICE:
    - vim/_editor.lua:0: E5560: Vimscript function must not be called in a lua loop callback
- WARNING javac: not available
  - ADVICE:
    - vim/_editor.lua:0: E5560: Vimscript function must not be called in a lua loop callback
- WARNING java: not available
  - ADVICE:
    - vim/_editor.lua:0: E5560: Vimscript function must not be called in a lua loop callback
- WARNING julia: not available
  - ADVICE:
    - vim/_editor.lua:0: E5560: Vimscript function must not be called in a lua loop callback
- WARNING python: not available
  - ADVICE:
    - vim/_editor.lua:0: E5560: Vimscript function must not be called in a lua loop callback
- WARNING pip: not available
  - ADVICE:
    - vim/_editor.lua:0: E5560: Vimscript function must not be called in a lua loop callback
- WARNING python venv: not available
  - ADVICE:
    - On Debian/Ubuntu systems, you need to install the python3-venv package using the following command:

          apt-get install python3-venv

mason.nvim [GitHub] ~
- OK GitHub API rate limit. Used: 0. Remaining: 5000. Limit: 5000. Reset: Wed 24 Apr 2024 10:55:19 AM CEST.
vitorf7 commented 2 months ago

I too am getting similar problems. My checkhealth mason returns the following:

==============================================================================
mason: require("mason.health").check()

mason.nvim ~
- OK mason.nvim version v1.10.0
- OK PATH: prepend
- OK Providers: 
    mason.providers.registry-api
    mason.providers.client
- OK neovim version >= 0.7.0

mason.nvim [Registries] ~
- OK Registry `github.com/mason-org/mason-registry version: 2024-03-26-aback-image` is installed.

mason.nvim [Core utils] ~
- OK unzip: `UnZip 6.00 of 20 April 2009, by Info-ZIP.  Maintained by C. Spieler.  Send`
- WARNING wget: not available
  - ADVICE:
    - vim/_editor.lua:0: E5560: Vimscript function must not be called in a lua loop callback
- ERROR curl: not available
  - ADVICE:
    - vim/_editor.lua:0: E5560: Vimscript function must not be called in a lua loop callback
- ERROR gzip: not available
  - ADVICE:
    - vim/_editor.lua:0: E5560: Vimscript function must not be called in a lua loop callback
- OK tar: `bsdtar 3.5.3 - libarchive 3.5.3 zlib/1.2.12 liblzma/5.4.3 bz2lib/1.0.8 `
- ERROR bash: not available
  - ADVICE:
    - vim/_editor.lua:0: E5560: Vimscript function must not be called in a lua loop callback
- ERROR sh: not available
  - ADVICE:
    - vim/_editor.lua:0: E5560: Vimscript function must not be called in a lua loop callback

mason.nvim [Languages] ~
- WARNING Go: not available
  - ADVICE:
    - vim/_editor.lua:0: E5560: Vimscript function must not be called in a lua loop callback
- WARNING cargo: not available
  - ADVICE:
    - vim/_editor.lua:0: E5560: Vimscript function must not be called in a lua loop callback
- WARNING luarocks: not available
  - ADVICE:
    - vim/_editor.lua:0: E5560: Vimscript function must not be called in a lua loop callback
- WARNING Ruby: not available
  - ADVICE:
    - vim/_editor.lua:0: E5560: Vimscript function must not be called in a lua loop callback
- WARNING RubyGem: not available
  - ADVICE:
    - vim/_editor.lua:0: E5560: Vimscript function must not be called in a lua loop callback
- WARNING Composer: not available
  - ADVICE:
    - vim/_editor.lua:0: E5560: Vimscript function must not be called in a lua loop callback
- WARNING PHP: not available
  - ADVICE:
    - vim/_editor.lua:0: E5560: Vimscript function must not be called in a lua loop callback
- WARNING npm: not available
  - ADVICE:
    - vim/_editor.lua:0: E5560: Vimscript function must not be called in a lua loop callback
- WARNING node: not available
  - ADVICE:
    - vim/_editor.lua:0: E5560: Vimscript function must not be called in a lua loop callback
- WARNING javac: not available
  - ADVICE:
    - vim/_editor.lua:0: E5560: Vimscript function must not be called in a lua loop callback
- WARNING java: not available
  - ADVICE:
    - vim/_editor.lua:0: E5560: Vimscript function must not be called in a lua loop callback
- WARNING julia: not available
  - ADVICE:
    - vim/_editor.lua:0: E5560: Vimscript function must not be called in a lua loop callback
- WARNING python: not available
  - ADVICE:
    - vim/_editor.lua:0: E5560: Vimscript function must not be called in a lua loop callback
- WARNING pip: not available
  - ADVICE:
    - vim/_editor.lua:0: E5560: Vimscript function must not be called in a lua loop callback
- WARNING python venv: not available
  - ADVICE:
    - On Debian/Ubuntu systems, you need to install the python3-venv package using the following command:

          apt-get install python3-venv

mason.nvim [GitHub] ~
- OK GitHub API rate limit. Used: 3. Remaining: 4997. Limit: 5000. Reset: Wed Apr 24 11:23:27 2024.

Neovim version:

nvim -V1 -v                                                                                                                                  
NVIM v0.10.0-dev-2995+ga1550dbf0-Homebrew
Build type: Release
LuaJIT 2.1.1713773202

   system vimrc file: "$VIM/sysinit.vim"
  fall-back for $VIM: "/opt/homebrew/Cellar/neovim/HEAD-a1550db/share/nvim"

Run :checkhealth for more info

When I open :Mason I get the following: Screenshot 2024-04-24 at 10 42 37

crisidev commented 2 months ago

Same issue with today's neovim nightly.

mimikun commented 2 months ago

i have same issue.

mathjiajia commented 2 months ago

+1

luishendrix92 commented 2 months ago

+1

mason: require("mason.health").check()

mason.nvim ~
- OK mason.nvim version v1.10.0
- OK PATH: prepend
- OK Providers: 
    mason.providers.registry-api
    mason.providers.client
- OK neovim version >= 0.7.0

mason.nvim [Registries] ~
- OK Registry `github.com/mason-org/mason-registry version: 2024-04-23-melodic-spoon` is installed.

mason.nvim [Core utils] ~
- OK unzip: `UnZip 6.00 of 20 April 2009, by Debian. Original by Info-ZIP.`
- WARNING wget: not available
  - ADVICE:
    - vim/_editor.lua:0: E5560: Vimscript function must not be called in a lua loop callback
- ERROR curl: not available
  - ADVICE:
    - vim/_editor.lua:0: E5560: Vimscript function must not be called in a lua loop callback
- ERROR gzip: not available
  - ADVICE:
    - vim/_editor.lua:0: E5560: Vimscript function must not be called in a lua loop callback
- OK tar: `tar (GNU tar) 1.34`
- ERROR bash: not available
  - ADVICE:
    - vim/_editor.lua:0: E5560: Vimscript function must not be called in a lua loop callback
- ERROR sh: not available
  - ADVICE:
    - vim/_editor.lua:0: E5560: Vimscript function must not be called in a lua loop callback

mason.nvim [Languages] ~
- WARNING Go: not available
  - ADVICE:
    - vim/_editor.lua:0: E5560: Vimscript function must not be called in a lua loop callback
- WARNING cargo: not available
  - ADVICE:
    - vim/_editor.lua:0: E5560: Vimscript function must not be called in a lua loop callback
- WARNING luarocks: not available
  - ADVICE:
    - vim/_editor.lua:0: E5560: Vimscript function must not be called in a lua loop callback
- WARNING Ruby: not available
  - ADVICE:
    - vim/_editor.lua:0: E5560: Vimscript function must not be called in a lua loop callback
- WARNING RubyGem: not available
  - ADVICE:
    - vim/_editor.lua:0: E5560: Vimscript function must not be called in a lua loop callback
- WARNING Composer: not available
  - ADVICE:
    - vim/_editor.lua:0: E5560: Vimscript function must not be called in a lua loop callback
- WARNING PHP: not available
  - ADVICE:
    - vim/_editor.lua:0: E5560: Vimscript function must not be called in a lua loop callback
- WARNING npm: not available
  - ADVICE:
    - vim/_editor.lua:0: E5560: Vimscript function must not be called in a lua loop callback
- WARNING node: not available
  - ADVICE:
    - vim/_editor.lua:0: E5560: Vimscript function must not be called in a lua loop callback
- WARNING javac: not available
  - ADVICE:
    - vim/_editor.lua:0: E5560: Vimscript function must not be called in a lua loop callback
- WARNING java: not available
  - ADVICE:
    - vim/_editor.lua:0: E5560: Vimscript function must not be called in a lua loop callback
- WARNING julia: not available
  - ADVICE:
    - vim/_editor.lua:0: E5560: Vimscript function must not be called in a lua loop callback
- WARNING python: not available
  - ADVICE:
    - vim/_editor.lua:0: E5560: Vimscript function must not be called in a lua loop callback
- WARNING pip: not available
  - ADVICE:
    - vim/_editor.lua:0: E5560: Vimscript function must not be called in a lua loop callback
- WARNING python venv: not available
  - ADVICE:
    - On Debian/Ubuntu systems, you need to install the python3-venv package using the following command:

          apt-get install python3-venv
- ERROR Failed to run healthcheck for "mason" plugin. Exception:
  ...s/.local/share/nvim/lazy/mason.nvim/lua/mason/health.lua:315: vim/_editor.lua:0: E5560: Vimscript function must not be called in a lua loop callback
ism-hub commented 2 months ago

+1

This Dockerfile can maybe recreate the problem consistently

https://github.com/ism-hub/ansible/blob/main/nvim_container/Dockerfile

$ uname -r
6.5.8-t2-jammy
stefanboca commented 2 months ago

+1

running a git bisect, the commit in neovim that breaks this seems to be https://github.com/neovim/neovim/commit/c5af5c0b9ab84c86f84e32210512923e7eb641ba

ricky97gr commented 2 months ago

+1

tjdevries commented 2 months ago

Looks likely because that commit uses vim.fn.has(...) which introduces the function that is being called inside of a non-scheduled callback (so it's not in API fast).

vandalt commented 2 months ago

According to this comment, it seems like a new PR will fix the main issue described here: https://github.com/neovim/neovim/pull/28492.

milodepilo commented 2 months ago

having the same issue: mason: require("mason.health").check()

mason.nvim ~

mason.nvim [Registries] ~

mason.nvim [Core utils] ~

alexandre-julien commented 2 months ago

Fixed (2b9df3f79541507bfc3ba2645e6b9740e7c922ed).

baco commented 2 months ago

Fixed (2b9df3f79541507bfc3ba2645e6b9740e7c922ed).

I didn't get it. Is that a commit in here, in mason.nvim, is that the commit that fixes it in Neovim-nightly?

I've updated both, plugin and Neovim, and I still have the issue.

baco commented 2 months ago

Mm... Nightly was built like 7hs ago, and the PR was merged like 5hs ago... 2hs after the nightly build.

I don't think that can be marked as done yet, because I am not compiling from source, rather using some build provided, but 🤷🏼‍♂️

feoh commented 2 months ago

This is still breaking as of the Neovim 10.0-dev release. I'm using Lazy.nvim and Mason and all its dependencies are up to date.

alexandre-julien commented 2 months ago

Mm... Nightly was built like 7hs ago, and the PR was merged like 5hs ago... 2hs after the nightly build.

I don't think that can be marked as done yet, because I am not compiling from source, rather using some build provided, but 🤷🏼‍♂️

Why would I base this issue status on your use case? It's fixed since the commit I mentionned.

This is still breaking as of the Neovim 10.0-dev release. I'm using Lazy.nvim and Mason and all its dependencies are up to date.

Pull again, compile, fix.

baco commented 2 months ago

This is still breaking as of the Neovim 10.0-dev release. I'm using Lazy.nvim and Mason and all its dependencies are up to date.

@feoh try updating your Neovim 10.0-dev release again, to today's build. Despite the poor answer on behalf of at-alexandre-julien, the issue was what I've described in a previous answer. The patch was merged 2 hours after the nightly release was built and we had to wait up to the next build to have it corrected.

I've downloaded today's Neovim 10.0-dev nightly release and the issue is finally corrected.

feoh commented 2 months ago

@baco You're right. Totally fixed. Yay! Thanks a bunch!