It turns out that uv_write() doesn't queue the write if there are no pending writes, so vim.uv.run() isn't needed to reproduce the crash. (cherry picked from commit 0bd4d3f779)
0bd4d3f779