Ultisnips: UltiSnips crashes macvim with new update

Created on 5 Oct 2017  路  12Comments  路  Source: SirVer/ultisnips

I just updated to macvim 8.0.1175, and after launching I found that vim would crash after every time I pushed any buttons in insert mode.

The error I got was this in the gui version of macvim:

Fatal Python error: Py_Initialize: unable to load the file system codec
ModuleNotFoundError: No module named 'encodings'
Vim: Caught deadly signal ABRT
Vim: Finished.

And this from the terminal version of macvim:

Vim: Caught deadly signal ABRT
Vim: Finished.
Abort trap: 6

Wondering what's causing this, but finding out that it was ultisnips took me long enough. Maybe I'll dig into the debug it a bit later but for now I just wanted to bring attention to it. Thanks!

Most helpful comment

Hi all, I got it working again for me this weekend, it looks like it's only broken in Python 3 so all I did was add this to my .vimrc:

let g:UltiSnipsUsePythonVersion=2

Note that you'll need to have vim compiled with +python (distinct from +python3) which you can check with vim --version.

I'll also note that I've continued to update macvim (currently on version 8.0.1257), but every time I checked Ultisnips was still broken, so I think the python version is really the only thing messing things up here.

Since this doesn't actually resolve the issue and is only a hotfix, I'll leave this ticket open, but I hope this helps you guys get this working again for now!

All 12 comments

Ultisnips is definitely crashing macvim the second i upgraded to 8.0.1175. Except, I was using the gui version of macvim which just crashes without saying anything. E.g. the second I type 'o' to insert a newline. As soon as I uninstall ultisnips it stops happening.

I have the same problem. How to solve the issue ? @rkulla

@kaich Ultisnips master hasn't been updated in 4 months, so it was the newer macvim that was causing it. Until the Ultisnips developers can figure that out you have to revert your version of Macvim, e.g. get the .dmg from https://github.com/macvim-dev/macvim/releases/tag/snapshot-137

Older versions of ultisnips still have this issue with the latest macvim.

Thanks for the link @rkulla. I'm not a python developer or else I would have tried to debug this issue. I wonder whether there is a similar project which is well maintained?

@giladno idk, I originally turned to ultisnips because it was more maintained than snipmate and because I use vim-go. If I get some time I will look into it if no one else does, but that's the problem with open source: finding free time :)

Hi all, I got it working again for me this weekend, it looks like it's only broken in Python 3 so all I did was add this to my .vimrc:

let g:UltiSnipsUsePythonVersion=2

Note that you'll need to have vim compiled with +python (distinct from +python3) which you can check with vim --version.

I'll also note that I've continued to update macvim (currently on version 8.0.1257), but every time I checked Ultisnips was still broken, so I think the python version is really the only thing messing things up here.

Since this doesn't actually resolve the issue and is only a hotfix, I'll leave this ticket open, but I hope this helps you guys get this working again for now!

@ckarnell MacVim can update to Custom Version 8.0.1272 (142). It works fine now. Thank you very much! 馃憤

@kaich did you get it working with version 142? It still crashes for me...

@giladno Yes, I have upgrade macvim to version 142. It works fine. I have test. It crash when I remove let g:UltiSnipsUsePythonVersion=2. It works fine when I add this line.

@giladno refer:https://github.com/macvim-dev/macvim/issues/573#issuecomment-342416433. It also works fine. please have a try!

@kaich updating Python to 3.6.3 did solve the problem, cheers mate!!

This crash is likely caused by one of the following two issues:

  1. Either you try to dynamically load Python 3 and Python 2 into your Vim instance, most probably because UltiSnips defaults to Python 3 while another plugin later tries to load Python 2. You can force UltiSnips to only one using let g:UltiSnipsUsePythonVersion = 2 (or 3) in your .vimrc.
  2. You have updated your Python version, but MacVim still links against the wrong one. See #711 for the proper fix, and https://github.com/SirVer/ultisnips/issues/771#issuecomment-377815616 as explanation.
Was this page helpful?
0 / 5 - 0 ratings

Related issues

LinArcX picture LinArcX  路  3Comments

jonathf picture jonathf  路  6Comments

vanabel picture vanabel  路  7Comments

lx93uv picture lx93uv  路  6Comments

raorm picture raorm  路  4Comments