sindrets / diffview.nvim

Single tabpage interface for easily cycling through diffs for all modified files for any git rev.
Other
3.57k stars 101 forks source link

[Bug] crash at loading time since 4005c96122b81c7123117e0ad4451f10346f711a #495

Closed emmanueltouzery closed 1 month ago

emmanueltouzery commented 1 month ago

Description

Upgrading diffview, I got a crash at startup, that I can reproduce on both 0.9 and 0.10. It seems related to the loading order of modules and cycles in them.

Expected behavior

No response

Actual behavior

Error detected while processing /home/emmanuel/.local/share-nvim7me/nvim/site/pack/packer/start/diffview.nvim/plugin/diffview.lua: E5113: Error while calling lua chunk: ...te/pack/packer/start/diffview.nvim/lua/diffview/lazy.lua:23: loop or previous error loading module 'diffview.utils' stack traceback: [C]: in function 'handler' ...te/pack/packer/start/diffview.nvim/lua/diffview/lazy.lua:23: in function 'get' ...te/pack/packer/start/diffview.nvim/lua/diffview/lazy.lua:35: in function 'index' ...ite/pack/packer/start/diffview.nvim/lua/diffview/oop.lua:16: in function 'enum' .../pack/packer/start/diffview.nvim/lua/diffview/logger.lua:101: in main chunk [C]: in function 'require' ...te/pack/packer/start/diffview.nvim/lua/diffview/lazy.lua:77: in function 'handler' ...te/pack/packer/start/diffview.nvim/lua/diffview/lazy.lua:23: in function '__get' ...te/pack/packer/start/diffview.nvim/lua/diffview/lazy.lua:44: in function 'Logger' ...ck/packer/start/diffview.nvim/lua/diffview/bootstrap.lua:48: in main chunk [C]: in function 'require' ...site/pack/packer/start/diffview.nvim/plugin/diffview.lua:1: in main chunk packer.nvim: Error running config for diffview.nvim: ...e/pack/packer/start/diffview.nvim/lua/diffview/utils.lua:8: attempt to index global 'DiffviewGlobal' (a nil value)

Steps to reproduce

I get it on the 4005c96122b81c7123117e0ad4451f10346f711a but not on the commit before then. I think it's because some files now refer to utils that before weren't referring to utils.

Health check

Output of :checkhealth diffview ``` ============================================================================== diffview: require("diffview.health").check() Checking plugin dependencies ~ - OK nvim-web-devicons installed. Checking VCS tools ~ - The plugin requires at least one of the supported VCS tools to be valid. - OK Git found. - OK Git is up-to-date. (2.45.1) - OK Mercurial found. - OK Mercurial is up-to-date. (6.7.3) ```

Log info

Relevant info from :DiffviewLog ``` ############################ ### PUT LOG CONTENT HERE ### ############################ ```

Neovim version

NVIM v0.9.5
Build type: Release
LuaJIT 2.1.1692716794

and also

NVIM v0.10.0
Build type: Release
LuaJIT 2.1.1713484068

Operating system and version

Linux 6.8.9-300.fc40.x86_64 x86_64 GNU/Linux

Minimal config

No response

sindrets commented 1 month ago

I can't reproduce. Did you try to reproduce with the minimal config?

emmanueltouzery commented 1 month ago

good point.. tried now with the minimal config, and then trying to copy as much of my config there, could not reproduce. also, seems to work in my config if i comment or uncomment various things.. maybe it's the fact that i'm still using an old version of the packer.nvim package manager that is finally biting me.

seems to be on my system, closing this, sorry for the trouble.