lewis6991 / satellite.nvim

Decorate scrollbar for Neovim
MIT License
542 stars 20 forks source link

"Invalid buffer" error in update_matches #53

Closed justinmk closed 11 months ago

justinmk commented 11 months ago

Describe the bug

(Using version 542e856b3a72).

Error thrown in update_matches (continually), seems to enter a feedback-loop which causes endless errors.

Error executing vim.schedule lua callback: ...e/pack/paqs/start/satellite.nvim/lua/satellite/async.lua:59:
The coroutine failed with this message: ...s/start/satellite.nvim/lua/satellite/handlers/search.lua:104: scoped variable: Invalid buffer id: 8
stack traceback:
        [C]: in function '__index'
        ...s/start/satellite.nvim/lua/satellite/handlers/search.lua:104: in function 'update_matches'
        ...s/start/satellite.nvim/lua/satellite/handlers/search.lua:113: in function <...s/start/satellite.nvim/lua/satellite/handlers/search.lua:112>
stack traceback:
        [C]: in function 'error'
        ...e/pack/paqs/start/satellite.nvim/lua/satellite/async.lua:59: in function <...e/pack/paqs/start/satellite.nvim/lua/satellite/async.lua:53>

To Reproduce

Don't have minimal steps. Sometimes happens when showing a vim diff (2 buffers using fugitive :Gvdiffsplit), possibly after returning to nvim after a few minutes.

justinmk commented 11 months ago

After closing one of the diff windows, I got a different error ("Invalid window"), which may be a place that needs to check for a valid window:

Error executing vim.schedule lua callback: ...e/pack/paqs/start/satellite.nvim/lua/satellite/async.lua:59: The coroutine failed with this message: ...te/pack/paqs/start/satellite.nvim/lua/satellite/util.lua:48: Invalid window id: 1003
stack traceback:
        [C]: in function 'nvim_win_get_buf'
        ...te/pack/paqs/start/satellite.nvim/lua/satellite/util.lua:48: in function 'virtual_line_count'
        ...te/pack/paqs/start/satellite.nvim/lua/satellite/util.lua:194: in function 'height_to_virtual'
        ...te/pack/paqs/start/satellite.nvim/lua/satellite/util.lua:212: in function 'row_to_barpos'
        ...s/start/satellite.nvim/lua/satellite/handlers/search.lua:171: in function 'update'
        ...ack/paqs/start/satellite.nvim/lua/satellite/handlers.lua:106: in function <...ack/paqs/start/satellite.nvim/lua/satellite/handlers.lua:91>
stack traceback:
        [C]: in function 'error'
        ...e/pack/paqs/start/satellite.nvim/lua/satellite/async.lua:59: in function <...e/pack/paqs/start/satellite.nvim/lua/satellite/async.lua:53>
lewis6991 commented 11 months ago

Hopefully that should fix it.

justinmk commented 11 months ago

Thanks Lewis!