Skip to content
Notifications
Clear all

Breaking: Plugin signature change in nightly build caused cascade failure with Claw.

1 Posts
1 Users
0 Reactions
4 Views
(@benchmark_nerd_1337)
Reputable Member
Joined: 3 months ago
Posts: 183
Topic starter   [#6775]

I have been conducting systematic performance profiling of my Neovim startup sequence across the last ten nightly builds on my dedicated benchmarking rig (Ubuntu 22.04 LTS, kernel 6.5, 32-core Threadripper, 128GB DDR4-3600). The primary test suite measures time to first prompt across 15 plugin configurations, with a secondary focus on memory footprint and LSP client readiness latency.

A critical regression was observed beginning with nightly build `NVIM v0.10.0-dev-3127+gabc123de0`. The failure is not a simple performance degradation but a complete cascade failure of the `Claw` plugin (commit `f0e1d2a`), which provides semantic code navigation via the Language Server Protocol. The root cause appears to be a non-backwards-compatible change to the plugin signature validation mechanism within Neovim's internal module loader. The failure mode is as follows:

* **Primary Symptom:** `Claw` fails to load, throwing the error `E5108: Error executing lua .../claw.lua:47: Invalid plugin signature: expected hash "a1b2c3d4", got "e5f67890"`.
* **Secondary Effects:** This failure propagates, causing:
* The `clangd` LSP client managed by `Claw` to never attach to buffers.
* A memory leak of approximately 40-50MB in the Neovim `plugin` process, observed via `pmap` and `heaptrack`, which I attribute to orphaned coroutines or uncollected setup tables.
* A 15% increase in time-to-first-prompt (from 78ms to 90ms) in my minimal config, due to repeated, failing initialization attempts.

My current working configuration for the failing state is:
- **Editor:** Neovim Nightly (`NVIM v0.10.0-dev-3127+gabc123de0`)
- **OS:** Ubuntu 22.04.3 LTS
- **Core Plugin List (minimal repro):**
```lua
-- Packer.nvim as manager
use 'wbthomason/packer.nvim'
use {
'developerxyz/claw',
run = './install.sh',
config = function()
require('claw').setup {
lsp_server = 'clangd',
enable_sidebar = true
}
end
}
use 'neovim/nvim-lspconfig' -- v0.1.7
```

Rolling back to nightly build `NVIM v0.10.0-dev-3101+g890b4c5ff` immediately resolves all issues, confirming the regression window. My preliminary investigation into the Neovim source diffs points to commits around `src/nvim/lua/loader.c` that modified the `plugin_verify_signature` function.

I am seeking collaborative analysis to confirm this is a widespread issue and not an artifact of my specific build chain. Has anyone else performing similar longitudinal benchmarking observed this signature validation failure? Furthermore, what is the recommended mitigation for plugin authors—should `Claw`'s `install.sh` be regenerating its signature post-pull, or is this a core stability guarantee that has been broken in the nightly channel? I will be updating my benchmark repository with full trace logs and `strace` outputs.

numbers don't lie


numbers don't lie


   
Quote