Skip to content

bug: nvim crashes (exit code 137 / SIGKILL) when opening markdown files with bash code blocks #585

@vlcinsky

Description

@vlcinsky

Neovim version (nvim -v)

0.11.5

Neovim distribution

LazyVim

Operating system

MacOS

Terminal emulator / GUI

Ghostty within tmux using zsh

Describe the bug

Environment

  • OS: macOS 26.2 (Build 25C56)
  • Terminal: ghostty tmux (TERM=tmux-256color)
  • Shell: zsh
  • Neovim: v0.11.5 (Release, LuaJIT 2.1.1763318511)
  • LazyVim: 11.17.5
  • render-markdown.nvim: commit ae89236e2389836cf1c3787b2b80d5d8685cc13f (main branch)

Description

When opening a markdown file containing code blocks with the bash language identifier, nvim immediately crashes with exit code 137 (SIGKILL). The same content works fine when using shell instead of bash as the language identifier.

Steps to Reproduce

  1. Create a markdown file with a bash code block:

start of the markdown code block

# Test File

## Section with bash code block

### Subsection
Some text before the code block.

1. First item with code:
   ```bash
   echo "test"
   ```

2. Second item

end of the codeblock

  1. Open the file with nvim:
nvim test.md
  1. nvim immediately exits with code 137 (killed by signal 9)

Actual Behavior

nvim is killed immediately with exit code 137 (SIGKILL). This suggests either:

  • The process is consuming too much memory and being killed by the OS
  • There's an infinite loop or hang causing the OS to terminate it
  • A plugin subprocess is crashing

Workaround

Changing the code block language from bash to shell prevents the crash:

```shell
echo "test"
```

Debug Log

Running with verbose logging (nvim -V9nvim.log test.md) shows the crash occurs after render-markdown.nvim is loaded:

line 1: sourcing "/Users/javl/.local/share/nvim/lazy/render-markdown.nvim/plugin/render-markdown.lua"
finished sourcing /Users/javl/.local/share/nvim/lazy/render-markdown.nvim/plugin/render-markdown.lua

Immediately after this, the process is killed (exit code 137).

Additional Context

  • Opening the same file with nvim --clean (no plugins) works fine
  • Using vi or vim to open the file works fine
  • Other markdown files without bash code blocks work fine
  • The issue is reproducible 100% of the time with the minimal example above
  • File size doesn't seem to matter (crashes on files as small as 15 lines)

Minimal Test Case

To reproduce, create this exact file and open it with nvim:

# Test

1. Item:
   ```bash
   echo "test"
   ```

<- end of the code block

Save as test.md and run nvim test.md - it should crash immediately with exit code 137

Expected behavior

The file should open normally with the bash code block rendered or syntax highlighted.

Healthcheck output

==============================================================================
render-markdown:                                                          1 ⚠️

render-markdown.nvim [versions] ~
- ✅ OK neovim >= 0.11
- ✅ OK tree-sitter ABI: 15
- ✅ OK plugin: 8.11.1

render-markdown.nvim [configuration] ~
- ✅ OK valid

render-markdown.nvim [tree-sitter markdown] ~
- ✅ OK parser: installed
- ✅ OK ABI: 15
- ✅ OK highlights: ~/.local/share/nvim/site/queries/markdown/highlights.scm
- ✅ OK highlighter: enabled

render-markdown.nvim [tree-sitter markdown_inline] ~
- ✅ OK parser: installed
- ✅ OK ABI: 15
- ✅ OK highlights: ~/.local/share/nvim/site/queries/markdown_inline/highlights.scm

render-markdown.nvim [tree-sitter html] ~
- ✅ OK parser: installed
- ✅ OK ABI: 14

render-markdown.nvim [tree-sitter latex] ~
- ✅ OK parser: installed
- ✅ OK ABI: 14

render-markdown.nvim [tree-sitter yaml] ~
- ✅ OK parser: installed
- ✅ OK ABI: 14

render-markdown.nvim [icons] ~
- ✅ OK using: mini.icons

render-markdown.nvim [latex] ~
- ⚠️ WARNING none installed: { "utftex", "latex2text" }
  - ADVICE:
    - disable latex support to avoid this warning
    - require('render-markdown').setup({ latex = { enabled = false } })

render-markdown.nvim [conflicts] ~
- ✅ OK headlines: not installed
- ✅ OK markview: not installed
- ✅ OK obsidian: not installed

Plugin configuration

20:44:20 msg_show.lua_print   RenderMarkdown config {
  checkbox = {
    enabled = false
  },
  code = {
    right_pad = 1,
    sign = false,
    width = "block"
  },
  file_types = {
    [2] = "norg",
    [3] = "rmd",
    [4] = "org",
    [5] = "codecompanion"
  },
  heading = {
    icons = { vim.NIL, vim.NIL, vim.NIL, vim.NIL, vim.NIL, vim.NIL },
    sign = false
  }
}

Plugin error log

N/A, no recent log records

Confirmations

  • I have updated this plugin to the latest version using my plugin manager
  • I have updated all treesitter parsers (:TSUpdate)
  • I have provided the text contained in all screenshots as raw text in this issue. This means if there is a screenshot below it is the copy pasted contents of the file in the screenshot. I understand that my issue will be closed if I have not.

Additional information

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions