Skip to content

Not closing/reusing the fd of images when reopening #363

@Xyhlon

Description

@Xyhlon

Using "window_overlap_clear_enabled": true and some way (like toggleterm) to reload the image multiple times triggers this quite reliably.
One should free the fd whenever possible, but they are kept for some reason.

## System Information
OS: Darwin
Neovim: 0.12.2
Process Tree: /nix/store/rmvxd38p966qd4rkvc3pkghya829nsm2-neovim-unwrapped-0.12.2/bin/nvim(1852) <- /nix/store/rmvxd38p966qd4rkvc3pkghya829nsm2-neovim-unwrapped-0.12.2/bin/nvim(1851) <- fish(49504) <- -zsh(49405) <- sshd-session:bob@ttys009(49404) <- sshd-session:bob[priv](49402) <- sshd:/opt/homebrew/sbin/sshd-D-f/opt/homebrew/etc/ssh/sshd_config-E/opt/homebrew/var/log/openssh/sshd.log[listener]0of100-300startups(1226)
TERM: xterm-kitty
## Plugin Configuration
json
{
    "editor_only_render_when_focused": true,
    "tmux_show_only_in_active_window": true,
    "max_width_window_percentage": 100,
    "max_height_window_percentage": 50,
    "scale_factor": 1,
    "kitty_method": "normal",
    "ignore_download_error": false,
    "debug": {
      "level": "debug",
      "enabled": true,
      "format": "compact",
      "file_path": "/tmp/image.nvim.log",
    },
    "integrations": {
      "org": {
        "enabled": false,
      },
      "markdown": {
        "enabled": true,
      },
      "neorg": {
        "enabled": true,
      },
      "syslang": {
        "enabled": true,
      },
      "css": {
        "enabled": false,
      },
      "typst": {
        "enabled": true,
      },
      "asciidoc": {
        "enabled": true,
      },
      "html": {
        "enabled": false,
      },
    },
    "window_overlap_clear_enabled": true,
    "backend": "kitty",
    "processor": "magick_cli",
    "window_overlap_clear_ft_ignore": {
      1: "cmp_menu",
      2: "cmp_docs",
      3: "snacks_notif",
      4: "scrollview",
      5: "scrollview_sign",
    },
    "hijack_file_patterns": {
      1: "*.png",
      2: "*.jpg",
      3: "*.jpeg",
      4: "*.gif",
      5: "*.webp",
      6: "*.avif",
    },
  }
## Processor Information
Active Processor: magick_cli
ImageMagick CLI Available: true
ImageMagick Version: 7.1.2-19 Q16-HDRI aarch64 77d89c30f:20260412 https://imagemagick.org
## Backend Information
Active Backend: kitty
Kitty PID: N/A
Backend Features: {
  crop = true
}
## Images
        [C]: in function 'error'
        ...es/start/image.nvim/lua/image/backends/kitty/helpers.lua:35: in function 'write'
        ...es/start/image.nvim/lua/image/backends/kitty/helpers.lua:117: in function 'write_graphics'
        ...kages/start/image.nvim/lua/image/backends/kitty/init.lua:180: in function 'clear'
        ...ck/myNeovimPackages/start/image.nvim/lua/image/image.lua:170: in function 'clear'
        ...ack/myNeovimPackages/start/image.nvim/lua/image/init.lua:309: in function <...ack/myNeovimPackages/start/image.nvim/lua/image/init.lua:302>

        [C]: in function 'nvim_open_win'
        ...ovimPackages/start/toggleterm.nvim/lua/toggleterm/ui.lua:375: in function 'open_float'
        ...ckages/start/toggleterm.nvim/lua/toggleterm/terminal.lua:464: in function <...ckages/start/toggleterm.nvim/lua/toggleterm/terminal.lua:457>

        [C]: in function 'pcall'
        ...ckages/start/toggleterm.nvim/lua/toggleterm/terminal.lua:497: in function 'open'
        ...ckages/start/toggleterm.nvim/lua/toggleterm/terminal.lua:514: in function 'toggle'
        ...yNeovimPackages/start/toggleterm.nvim/lua/toggleterm.lua:79: in function 'toggle_nth_term'
        ...yNeovimPackages/start/toggleterm.nvim/lua/toggleterm.lua:316: in function 'toggle'
        ...yNeovimPackages/start/toggleterm.nvim/lua/toggleterm.lua:282: in function 'toggle_command'
        ...yNeovimPackages/start/toggleterm.nvim/lua/toggleterm.lua:452: in function <...yNeovimPackages/start/toggleterm.nvim/lua/toggleterm.lua:452>
Error in WinNew Autocommands for "*.png":
Lua callback: ...es/start/image.nvim/lua/image/backends/kitty/helpers.lua:35: failed to open tty
stack traceback:
        [C]: in function 'error'
        ...es/start/image.nvim/lua/image/backends/kitty/helpers.lua:35: in function 'write'
        ...es/start/image.nvim/lua/image/backends/kitty/helpers.lua:107: in function 'write_graphics'
        ...kages/start/image.nvim/lua/image/backends/kitty/init.lua:62: in function 'transmit'
        ...kages/start/image.nvim/lua/image/backends/kitty/init.lua:68: in function 'render'
        ...myNeovimPackages/start/image.nvim/lua/image/renderer.lua:475: in function 'render'
        ...ck/myNeovimPackages/start/image.nvim/lua/image/image.lua:82: in function 'render'
        ...ack/myNeovimPackages/start/image.nvim/lua/image/init.lua:494: in function 'hijack_buffer'
        ...ack/myNeovimPackages/start/image.nvim/lua/image/init.lua:421: in function <...ack/myNeovimPackages/start/image.nvim/lua/image/init.lua:413>

        [C]: in function 'nvim_open_win'
        ...ovimPackages/start/toggleterm.nvim/lua/toggleterm/ui.lua:375: in function 'open_float'
        ...ckages/start/toggleterm.nvim/lua/toggleterm/terminal.lua:464: in function <...ckages/start/toggleterm.nvim/lua/toggleterm/terminal.lua:457>

        [C]: in function 'pcall'
        ...ckages/start/toggleterm.nvim/lua/toggleterm/terminal.lua:497: in function 'open'
        ...ckages/start/toggleterm.nvim/lua/toggleterm/terminal.lua:514: in function 'toggle'
        ...yNeovimPackages/start/toggleterm.nvim/lua/toggleterm.lua:79: in function 'toggle_nth_term'
        ...yNeovimPackages/start/toggleterm.nvim/lua/toggleterm.lua:316: in function 'toggle'
        ...yNeovimPackages/start/toggleterm.nvim/lua/toggleterm.lua:282: in function 'toggle_command'
        ...yNeovimPackages/start/toggleterm.nvim/lua/toggleterm.lua:452: in function <...yNeovimPackages/start/toggleterm.nvim/lua/toggleterm.lua:452>
Assertion failed: (fd > STDERR_FILENO), function uv__close, file core.c, line 646.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions