chxuan / vimplus

:rocket:An automatic configuration program for vim
https://github.com/chxuan/vimplus
MIT License
3.9k stars 1.13k forks source link

在MacOS 10.14.5 中, 由采用anaconda自带的python编译YouCompleteMe引发的段错误 Vim: Caught deadly signal SEGV #286

Closed MarcusNerva closed 4 years ago

MarcusNerva commented 4 years ago

Vim: Caught deadly signal SEGV

Error detected while processing function 112_PollServerReady[7]..112_Pyeval:Vim: Finished.

line 4: Exception MemoryError: MemoryError() in <module 'threading' from '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/threading.pyc'> ignored Segmentation fault: 11

您好,在安装完之后,出现了以上的段错误,请问您是怎么解决的呢?

chxuan commented 4 years ago

@MarcusNerva 你好,请问你用的是什么系统呢?编译ycm的时候报错没有呢?

MarcusNerva commented 4 years ago

(base) bismarck@xiehanhuadeMBP2 .vimplus$ ./install.sh Platform type: Darwin Find /Users/bismarck/.vimrc already exists,backup /Users/bismarck/.vimrc to /Users/bismarck/.vimrc_bak_20200802215417? [Y/N] N Find /Users/bismarck/.vimrc.custom.plugins already exists,backup /Users/bismarck/.vimrc.custom.plugins to /Users/bismarck/.vimrc.custom.plugins_bak_20200802215419? [Y/N] N Find /Users/bismarck/.vimrc.custom.config already exists,backup /Users/bismarck/.vimrc.custom.config to /Users/bismarck/.vimrc.custom.config_bak_20200802215420? [Y/N] N Find /Users/bismarck/.vim already exists,backup /Users/bismarck/.vim to /Users/bismarck/.vim_bak_20200802215421? [Y/N] N xcode-select: error: command line tools are already installed, use "Software Update" to install updates Warning: vim 8.2.0850 is already installed and up-to-date To reinstall 8.2.0850, runbrew reinstall vim Warning: ctags 5.8_1 is already installed and up-to-date To reinstall 5.8_1, runbrew reinstall ctags ==> Downloading https://mirrors.ustc.edu.cn/homebrew-bottles/bottles/gmp-6.2.0.mojave.bottle.tar.gz Already downloaded: /Users/bismarck/Library/Caches/Homebrew/downloads/3c651a65c777317ba1980355a0c302d57d42db28924c7a471cd8f5b50294376d--gmp-6.2.0.mojave.bottle.tar.gz ==> Downloading https://mirrors.ustc.edu.cn/homebrew-bottles/bottles/isl-0.22.1.mojave.bottle.tar.gz Already downloaded: /Users/bismarck/Library/Caches/Homebrew/downloads/14b6edf98e4be7ce4b767ed1e525f23ef164fd2d898882bc1e23f5f2e5554ab6--isl-0.22.1.mojave.bottle.tar.gz ==> Downloading https://mirrors.ustc.edu.cn/homebrew-bottles/bottles/gcc-9.3.0_1.mojave.bottle.tar.gz Already downloaded: /Users/bismarck/Library/Caches/Homebrew/downloads/584679ce1d8f39829cbf68fbe1f5957656523e05d9ad8f35388bbe1866527aa1--gcc-9.3.0_1.mojave.bottle.tar.gz Error: gcc 9.2.0_3 is already installed To upgrade to 9.3.0_1, runbrew upgrade gcc. ==> Downloading https://mirrors.ustc.edu.cn/homebrew-bottles/bottles/cmake-3.17.3.mojave.bottle.tar.gz Already downloaded: /Users/bismarck/Library/Caches/Homebrew/downloads/d6e7c12c3d161b0617f1cecd191d4f0619f4ab5146d52b05d829b83f2e882492--cmake-3.17.3.mojave.bottle.tar.gz Error: cmake 3.16.2 is already installed To upgrade to 3.17.3, runbrew upgrade cmake. ==> Downloading https://beyondgrep.com/ack-v3.3.1 Already downloaded: /Users/bismarck/Library/Caches/Homebrew/downloads/e2eb0cdbad3035791e95d763143cd83170f5871125bf10c7311b33e4fab3fb8e--ack-v3.3.1 Error: ack 3.2.0 is already installed To upgrade to 3.3.1, runbrew upgrade ack`. mkdir: /Users/bismarck/.vim: File exists fatal: destination path '/Users/bismarck/.vim/plugged/YouCompleteMe' already exists and is not an empty directory. Please choose to compile ycm with python2 or python3, if there is a problem with the current selection, please choose another one. [2/3] 2 Compile ycm with python2. Searching Python 2.7 libraries... #######library_dirs############ ['/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/config', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib64', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib'] #######library_dirs############ filename:libpython2.7.dylib Found Python library: /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/config/libpython2.7.dylib Found Python headers folder: /System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -- The C compiler identification is AppleClang 10.0.1.10010046 -- The CXX compiler identification is AppleClang 10.0.1.10010046 -- Check for working C compiler: /Library/Developer/CommandLineTools/usr/bin/cc -- Check for working C compiler: /Library/Developer/CommandLineTools/usr/bin/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done -- Check for working CXX compiler: /Library/Developer/CommandLineTools/usr/bin/c++ -- Check for working CXX compiler: /Library/Developer/CommandLineTools/usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- Found PythonLibs: /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/config/libpython2.7.dylib (found suitable version "2.7.10", minimum required is "2.7") -- Using libclang archive: /Users/bismarck/.vim/plugged/YouCompleteMe/third_party/ycmd/cpp/../clang_archives/libclang-8.0.0-x86_64-apple-darwin.tar.bz2 -- Using libclang to provide semantic completion for C/C++/ObjC -- Using external libclang: /private/var/folders/gz/l_dvw9kn6wx00lv6cn8drrth0000gn/T/ycm_build_5X12dJ/lib/libclang.dylib -- NOT using clang-tidy for static analysis. -- Configuring done -- Generating done -- Build files have been written to: /private/var/folders/gz/l_dvw9kn6wx00lv6cn8drrth0000gn/T/ycm_build_5X12dJ Scanning dependencies of target BoostParts [ 1%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/filesystem/src/codecvt_error_category.cpp.o [ 11%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/filesystem/src/utf8_codecvt_facet.cpp.o [ 11%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/filesystem/src/operations.cpp.o [ 13%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/filesystem/src/unique_path.cpp.o [ 13%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/filesystem/src/path_traits.cpp.o [ 13%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/filesystem/src/path.cpp.o [ 13%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/filesystem/src/portability.cpp.o [ 15%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/filesystem/src/windows_file_codecvt.cpp.o [ 17%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/regex/src/c_regex_traits.cpp.o [ 19%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/regex/src/cpp_regex_traits.cpp.o [ 21%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/regex/src/cregex.cpp.o [ 23%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/regex/src/fileiter.cpp.o [ 25%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/regex/src/icu.cpp.o [ 27%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/regex/src/instances.cpp.o [ 29%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/regex/src/posix_api.cpp.o [ 31%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/regex/src/regex.cpp.o [ 33%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/regex/src/regex_debug.cpp.o [ 37%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/regex/src/regex_traits_defaults.cpp.o [ 37%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/regex/src/regex_raw_buffer.cpp.o [ 39%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/regex/src/static_mutex.cpp.o [ 41%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/regex/src/usinstances.cpp.o [ 43%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/regex/src/w32_regex_traits.cpp.o [ 45%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/regex/src/wc_regex_traits.cpp.o [ 47%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/regex/src/wide_posix_api.cpp.o [ 49%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/regex/src/winstances.cpp.o [ 50%] Linking CXX static library libBoostParts.a /Library/Developer/CommandLineTools/usr/bin/ranlib: file: libBoostParts.a(windows_file_codecvt.cpp.o) has no symbols /Library/Developer/CommandLineTools/usr/bin/ranlib: file: libBoostParts.a(icu.cpp.o) has no symbols /Library/Developer/CommandLineTools/usr/bin/ranlib: file: libBoostParts.a(instances.cpp.o) has no symbols /Library/Developer/CommandLineTools/usr/bin/ranlib: file: libBoostParts.a(regex_debug.cpp.o) has no symbols /Library/Developer/CommandLineTools/usr/bin/ranlib: file: libBoostParts.a(usinstances.cpp.o) has no symbols /Library/Developer/CommandLineTools/usr/bin/ranlib: file: libBoostParts.a(w32_regex_traits.cpp.o) has no symbols /Library/Developer/CommandLineTools/usr/bin/ranlib: file: libBoostParts.a(winstances.cpp.o) has no symbols /Library/Developer/CommandLineTools/usr/bin/ranlib: file: libBoostParts.a(windows_file_codecvt.cpp.o) has no symbols /Library/Developer/CommandLineTools/usr/bin/ranlib: file: libBoostParts.a(icu.cpp.o) has no symbols /Library/Developer/CommandLineTools/usr/bin/ranlib: file: libBoostParts.a(instances.cpp.o) has no symbols /Library/Developer/CommandLineTools/usr/bin/ranlib: file: libBoostParts.a(regex_debug.cpp.o) has no symbols /Library/Developer/CommandLineTools/usr/bin/ranlib: file: libBoostParts.a(usinstances.cpp.o) has no symbols /Library/Developer/CommandLineTools/usr/bin/ranlib: file: libBoostParts.a(w32_regex_traits.cpp.o) has no symbols /Library/Developer/CommandLineTools/usr/bin/ranlib: file: libBoostParts.a(winstances.cpp.o) has no symbols [ 50%] Built target BoostParts Scanning dependencies of target ycm_core [ 52%] Building CXX object ycm/CMakeFiles/ycm_core.dir/Candidate.cpp.o [ 58%] Building CXX object ycm/CMakeFiles/ycm_core.dir/Character.cpp.o [ 58%] Building CXX object ycm/CMakeFiles/ycm_core.dir/CandidateRepository.cpp.o [ 58%] Building CXX object ycm/CMakeFiles/ycm_core.dir/CharacterRepository.cpp.o [ 60%] Building CXX object ycm/CMakeFiles/ycm_core.dir/ClangCompleter/ClangCompleter.cpp.o [ 66%] Building CXX object ycm/CMakeFiles/ycm_core.dir/ClangCompleter/ClangUtils.cpp.o [ 66%] Building CXX object ycm/CMakeFiles/ycm_core.dir/ClangCompleter/ClangHelpers.cpp.o [ 66%] Building CXX object ycm/CMakeFiles/ycm_core.dir/ClangCompleter/CompilationDatabase.cpp.o [ 68%] Building CXX object ycm/CMakeFiles/ycm_core.dir/ClangCompleter/CompletionData.cpp.o [ 70%] Building CXX object ycm/CMakeFiles/ycm_core.dir/ClangCompleter/Documentation.cpp.o [ 72%] Building CXX object ycm/CMakeFiles/ycm_core.dir/ClangCompleter/Range.cpp.o [ 74%] Building CXX object ycm/CMakeFiles/ycm_core.dir/ClangCompleter/TranslationUnit.cpp.o [ 76%] Building CXX object ycm/CMakeFiles/ycm_core.dir/ClangCompleter/TranslationUnitStore.cpp.o [ 78%] Building CXX object ycm/CMakeFiles/ycm_core.dir/CodePoint.cpp.o [ 80%] Building CXX object ycm/CMakeFiles/ycm_core.dir/CodePointRepository.cpp.o [ 82%] Building CXX object ycm/CMakeFiles/ycm_core.dir/IdentifierCompleter.cpp.o [ 84%] Building CXX object ycm/CMakeFiles/ycm_core.dir/IdentifierDatabase.cpp.o [ 86%] Building CXX object ycm/CMakeFiles/ycm_core.dir/IdentifierUtils.cpp.o [ 88%] Building CXX object ycm/CMakeFiles/ycm_core.dir/PythonSupport.cpp.o [ 90%] Building CXX object ycm/CMakeFiles/ycm_core.dir/Result.cpp.o [ 92%] Building CXX object ycm/CMakeFiles/ycm_core.dir/Utils.cpp.o [ 94%] Building CXX object ycm/CMakeFiles/ycm_core.dir/Word.cpp.o [ 96%] Building CXX object ycm/CMakeFiles/ycm_core.dir/versioning.cpp.o [ 98%] Building CXX object ycm/CMakeFiles/ycm_core.dir/ycm_core.cpp.o [100%] Linking CXX shared library /Users/bismarck/.vim/plugged/YouCompleteMe/third_party/ycmd/ycm_core.so [100%] Built target ycm_core -- The C compiler identification is AppleClang 10.0.1.10010046 -- Check for working C compiler: /Library/Developer/CommandLineTools/usr/bin/cc -- Check for working C compiler: /Library/Developer/CommandLineTools/usr/bin/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done -- Found PythonLibs: /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/config/libpython2.7.dylib (found version "2.7.10") -- Configuring done -- Generating done -- Build files have been written to: /private/var/folders/gz/l_dvw9kn6wx00lv6cn8drrth0000gn/T/regex_build_gY5Y6C Scanning dependencies of target _regex [ 66%] Building C object CMakeFiles/_regex.dir/regex_2/_regex.c.o [ 66%] Building C object CMakeFiles/_regex.dir/regex_2/_regex_unicode.c.o [100%] Linking C shared library /Users/bismarck/.vim/plugged/YouCompleteMe/third_party/ycmd/third_party/cregex/regex_2/_regex.so [100%] Built target _regex


/_/ / /_ ___ \ \ / / / ` \/ \/ / / / / / \ V / / / / / / / // / / /_/ ( )
_/// // // ,_
/_/\
/___/
/
/ ...is now installed!

Just enjoy it! p.s. Follow me at https://github.com/chxuan.

It takes 0 minutes. ` 您好我的系统是MacOS 10.14。请问这个问题是由什么引起的呢?我在别的地方看到是因为vim -lua导致的,我重新安装了vim 使它+lua了,但是依然存在这个问题。

MarcusNerva commented 4 years ago

各位,我的问题解决了,是由anaconda自带python编译YouCompleteMe导致的。通过和 @chxuan 的沟通,他建议我使用系统自带的python来编译。 请注意,采用系统自带的python并不用卸载anaconda,我将install.sh脚本中关于ycm下载安装的部分进行了更改,原本是:

function install_ycm() { git clone https://gitee.com/chxuan/YouCompleteMe-clang.git ~/.vim/plugged/YouCompleteMe

cd ~/.vim/plugged/YouCompleteMe

read -p "Please choose to compile ycm with python2 or python3, if there is a problem with the current selection, please choose another one. [2/3] " version
if [[ $version == "2" ]]; then
    echo "Compile ycm with python2."
    python2.7 ./install.py --clang-completer
else
    echo "Compile ycm with python3."
    python3 ./install.py --clang-completer
fi

}

我将

if [[ $version == "2" ]]; then echo "Compile ycm with python2." python2.7 ./install.py --clang-completer

处更改成了(因为我自带的python是2.7版本的,而且path是/usr/bin/python):

if [[ $version == "2" ]]; then echo "Compile ycm with python2." /usr/bin/python ./install.py --clang-completer

之后重新编译了ycm,就解决了问题!

我的系统是MacOS 10.14.5。希望这个issue可以帮助与我有同样问题的人。