2012-03-27 23 views
4

Kürzlich wollte ich das gvim7.2 für seine wunderbare Unterstützung von CSCOPE ausprobieren und installierte es aus dem Installationsverzeichnis meines Unternehmens. Allerdings, wenn ich es durchführen - ich erhalte einen Segmentation Fault und die Nachricht sieht soGVIM - Absturz beim Start

Vim: Caught deadly signal SEGV 
Vim: Finished. 
Segmentation fault (core dumped) 

Als ich in den Online-Foren für dieses Problem suchen, ich allgemeine Beschwerden über die Reproduzierbarkeit des Problems gefunden. Alle Einsichten dazu würden sehr geschätzt werden.

+0

Sie sollten die neueste stabile Version Vim 7.3 versuchen. –

+2

Ich bekomme genau das gleiche Verhalten auf einigen Versionen von vim-7.2 auf meinem ubuntu arm Netbook von einem meiner Plugins aufgrund seiner erweiterbaren Verwendung von "Scope Dictionary" -Feature. Es passiert nicht mit den letzten (nicht mehr als ein paar Monate alt) vim-7.3. Sie haben also grundsätzlich zwei Möglichkeiten: 1. (bevorzugtes) Update auf vim-7.3. 2. Führen Sie vim ohne Plugins aus. Wenn es richtig läuft, mache 'vim -D' (gehe in den Debugging-Modus), drücke' s 'und drücke so lange '' bis du herausfindest, welches Plugin das Problem ist, dann lösche es. Wenn es Ihrem Administrator nicht gelingt, kaputte Software zu behalten, kann ich Ihnen nicht weiterhelfen. – ZyX

Antwort

1

ausführliche Protokollierung Versuchen,

vim -V10/tmp/vim.log 

Sie auch Strace versuchen können laufen, um zu sehen, wo es Bombardierung ist,

strace vim 

Es ist möglich, dass es ein Problem mit den Berechtigungen ist, aber das ist eine Vermutung.

+0

Diese Protokollierung kann in anderen Fällen hilfreich sein, aber aufgrund der Pufferung erhalten Sie nicht den sinnvollsten Teil: Auf welchen Befehl vim abgestürzt ist. Ich weiß nicht, wann Pufferung passiert (es kann OS-Funktion oder vim sein), aber ich weiß, dass die letzten Zeilen nicht auf die Festplatte geschrieben werden, wenn vim abstürzt. – ZyX

+1

Wenigstens half mir das nicht, wenn ich herausfinden wollte, warum 'frawor' alte vim abstürzt, ohne einen Debugger wie gdb an Bord zu haben. Trick mit 'vim -D', der in meinem Kommentar zu der Frage beschrieben wurde, half jedoch. – ZyX

1

try Vim starten wie folgt:

$ vim -u NONE

, die alle Plugins deaktivieren, um zu sehen, ob das Problem weiterhin besteht.

Wenn es OK beginnt, bewegen sich alle Plugins von Vims Laufzeitverzeichnis (in der Regel):

~/.vim/

auf Linux sie von einem wieder ein Add & bis der seg Fehler auftritt.

Kann ein langwieriger Prozess sein, vor allem da es einen Konflikt zwischen zwei oder mehr Plugins gibt & In diesem Fall ist es schwer zu ermitteln, wann genau sie kollidieren, aber neun von zehn, es bringt Sie normalerweise zur Wurzel von das Problem.

+0

Vielen Dank für all Ihre Antworten, ich werde sie ausarbeiten und über die Ergebnisse für die zukünftige Verwendung berichten. – Prando

2

Ich habe mit inkompatiblen gemeinsam genutzten Bibliotheken für Python3 IIRC abgestürzt.

Ich habe nie Ultisnips auf Ubuntu Natty 64 aus genau diesem Grund arbeiten.

Entfernen des Plugins gemacht Vim starten normal (wahrscheinlich nicht durch Laden der inkompatiblen Bibliothek an erster Stelle).

Sie können Ihre Plugins deaktivieren und reaktivieren Sie sie eins nach dem anderen, um zu sehen, ob Python der Schuldige ist, oder Test direkt:

gvim -u NONE +'python3 print "test"' 

Auf dem Feld:

Fatal Python error: take_gil: NULL tstate 
Vim: Caught deadly signal ABRT 
Vim: Finished. 

Umgekehrt

gvim -u NONE +'python2 print "test"' 

Funktioniert einwandfrei

+0

Danke @sehe! Das Entfernen von UtiliSnips hat mein Problem "gvim crashing ohne eine Spur" behoben. – bentayloruk

1

Das hat mich sicherlich lange Zeit zum Debuggen gekostet, ich habe tatsächlich den schmerzhaften Prozess durchlaufen, jedes Plugin manuell zu deaktivieren, das ich installiert hatte, und doch tauchte immer wieder der gleiche Fehler auf.

[Lösung]: Es stellte sich heraus, dass der gvim fest an die verwendeten Grafikeinstellungen gebunden ist.Wir verwenden einen Citrix-Client, um sich remote bei UNIX-Servern anzumelden und von dort zu entwickeln. Wie von meinem Kollegen vorgeschlagen - ich habe die Farbeinstellungen auf "True Color 24 Bit" geändert und voila !!, die Dinge haben perfekt funktioniert.

Eines der klassischen Beispiele für die Zeit, in der wir von einer völlig ahnungslosen Bugquelle getroffen werden!

Wie auch immer, vielen Dank für all Ihre Vorschläge - ich habe viel gelernt :).