Вим поймал смертельный сигнал SEGV - PullRequest
3 голосов
/ 31 августа 2011

При использовании vim с pathogen и rails.vim иногда происходит сбой vim.Это мой файл журнала консоли для сбоя.Как я могу предотвратить это?

Process:         vim [16620]
Path:            /usr/bin/vim
Identifier:      vim
Version:         ??? (???)
Code Type:       X86-64 (Native)
Parent Process:  zsh [961]

Date/Time:       2011-08-31 08:20:25.727 +0800
OS Version:      Mac OS X 10.6.7 (10J869)
Report Version:  6

Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: 0x000000000000000d, 0x0000000000000000
Crashed Thread:  0  Dispatch queue: com.apple.main-thread

Thread 0 Crashed:  Dispatch queue: com.apple.main-thread
0   libSystem.B.dylib               0x00007fff832af5d6 __kill + 10
1   vim                             0x0000000100118943 0x100000000 + 1149251
2   libSystem.B.dylib               0x00007fff832c166a _sigtramp + 26
3   vim                             0x00000001000249a2 0x100000000 + 149922
4   vim                             0x00000001000249ef 0x100000000 + 149999
5   vim                             0x00000001000249ef 0x100000000 + 149999
6   vim                             0x0000000100024a1c 0x100000000 + 150044
7   vim                             0x00000001000249ef 0x100000000 + 149999
8   vim                             0x000000010002554c 0x100000000 + 152908
9   vim                             0x0000000100118b75 0x100000000 + 1149813
10  vim                             0x000000010010c138 0x100000000 + 1098040
11  vim                             0x0000000100069900 0x100000000 + 432384
12  vim                             0x000000010006cf45 0x100000000 + 446277
13  vim                             0x000000010006d1a3 0x100000000 + 446883
14  vim                             0x000000010006d5d6 0x100000000 + 447958
15  vim                             0x00000001000a475c 0x100000000 + 673628
16  vim                             0x0000000100075bb8 0x100000000 + 482232
17  vim                             0x0000000100077e22 0x100000000 + 491042
18  vim                             0x0000000100000978 0x100000000 + 2424

Thread 0 crashed with X86 Thread State (64-bit):
  rax: 0x0000000000000000  rbx: 0x0000000000000002  rcx: 0x00000001001cdbc8  rdx: 0x0000000000000000
  rdi: 0x00000000000040ec  rsi: 0x000000000000000b  rbp: 0x00000001001cdbe0  rsp: 0x00000001001cdbc8
   r8: 0x0000000000000000   r9: 0x00007fff7073fbc0  r10: 0x00007fff832b1552  r11: 0x0000000000000206
  r12: 0x0000000000000029  r13: 0x000000000000007c  r14: 0x000000000000007c  r15: 0x0000000000000044
  rip: 0x00007fff832af5d6  rfl: 0x0000000000000206  cr2: 0x0000000101185000

Binary Images:
       0x100000000 -        0x100155fef +vim ??? (???) <F8247F1F-4D43-963A-D218-3D0E8ECFF899> /usr/bin/vim
    0x7fff5fc00000 -     0x7fff5fc3bdef  dyld 132.1 (???) <B536F2F1-9DF1-3B6C-1C2C-9075EA219A06> /usr/lib/dyld
    0x7fff83260000 -     0x7fff83421fff  libSystem.B.dylib 125.2.10 (compatibility 1.0.0) <9BAEB2F2-B485-6349-E1AB-637FE12EE770> /usr/lib/libSystem.B.dylib
    0x7fff85845000 -     0x7fff85849ff7  libmathCommon.A.dylib 315.0.0 (compatibility 1.0.0) <95718673-FEEE-B6ED-B127-BCDBDB60D4E5> /usr/lib/system/libmathCommon.A.dylib
    0x7fff85dcb000 -     0x7fff85e0afef  libncurses.5.4.dylib 5.4.0 (compatibility 5.4.0) <E1F34D53-3D62-78C0-CAD8-8AD22C110A9E> /usr/lib/libncurses.5.4.dylib
    0x7fff87ca5000 -     0x7fff87d9dff7  libiconv.2.dylib 7.0.0 (compatibility 7.0.0) <E0683DF0-8180-58A2-BA49-511111D4F36E> /usr/lib/libiconv.2.dylib
    0x7fffffe00000 -     0x7fffffe01fff  libSystem.B.dylib ??? (???) <9BAEB2F2-B485-6349-E1AB-637FE12EE770> /usr/lib/libSystem.B.dylib

Ответы [ 4 ]

3 голосов
/ 31 августа 2011

Попросите brew скомпилировать macvim с установленным флагом отладки, затем запустите его под отладчиком, чтобы в случае сбоя вы могли попросить отладчик напечатать трассировку стека, чтобы вы могли увидеть, какая строка исходного кода пытается получить доступ к выделенной области памяти.что вызывает исключение SIGSEGV.

Если вам удалось пройти так далеко, то посмотрите, сможете ли вы исправить ошибку и отправьте патч в список vim-dev, и будете чувствовать себя хорошо об этом в течение недели :) удачи!

1 голос
/ 15 ноября 2013

Vim когда-нибудь потерпит крах. Если ваш код рубина не очень хорошо отформатировать.

process(:hello => 'world', :foo => 'bar')

Вы не должны писать как:

process(:hello => 'world', 
                         :foo => 'bar')
0 голосов
/ 18 декабря 2018

После нескольких часов изучения различных потоков выясняется, что может быть масса причин, приводящих к сбою vim и получающему это сообщение об ошибке (не удивительно!).Но в моем конкретном случае после запуска в подробном режиме я понял, что в моем файле ~ / .vimrc есть вещи, из-за которых vim потерпел крах.Так что очень легко после удаления моего ~ / .vimrc все вернулось в норму и больше не зависало.Просто убедитесь, что у вас есть резервная копия перед удалением на случай, если вы настроили vim.

0 голосов
/ 24 сентября 2014

В моем случае vim перестал работать после установки mavericks. Я отследил это до проблемы с rvm, который также был в моей системе. 'vim -u NONE' работал нормально. Было много предложений по перекомпиляции command-T, плагина vim, но это не решило проблему для меня. Я закончил использовать ' rvm implode ' для полного удаления rvm. Затем ' brew uninstall vim && brew install vim '. Это исправило vim, а также исправило macvim, который не открывал открытые окна, запущенные из консоли с помощью mvim. Следовательно, существует некоторая несовместимость с mavericks и rvm, что вызывает проблемы с vim.

...