Vim, der Editor, stürzt immer wieder auf Sierra ab

Ich liebe es, Vim über Terminal.app zu verwenden. Bis vor drei Tagen war alles in Ordnung, als Vim anfing abzustürzen. Jeder Absturz tritt auf, wenn ich im Bearbeitungsmodus ein Newline( '\n')-Zeichen eingebe, aber nicht jedes eingegebene Newline-Zeichen würde einen Absturz auslösen. Normalerweise geschieht dies ein- bis zweimal am Tag.

Den vollständigen Fehlerbericht finden Sie unter this gist .

Process:               Terminal [23533]
Path:                  /Applications/Utilities/Terminal.app/Contents/MacOS/Terminal
Identifier:            com.apple.Terminal
Version:               2.7.1 (388)
Build Info:            Terminal-388000000000000~2
Code Type:             X86-64 (Native)
Parent Process:        ??? [1]
Responsible:           Terminal [23533]
User ID:               501

Date/Time:             2017-01-19 21:54:30.872 +0800
OS Version:            Mac OS X 10.12.2 (16C67)
Report Version:        12
Anonymous UUID:        FEDD969A-EA4B-329C-0B62-F0C04462CC4D

Sleep/Wake UUID:       C240156F-812D-4924-99DD-AF87AC1F5A65

Time Awake Since Boot: 160000 seconds
Time Since Wake:       10000 seconds

System Integrity Protection: disabled

Crashed Thread:        0  Dispatch queue: com.apple.main-thread

Exception Type:        EXC_BAD_ACCESS (SIGSEGV)
Exception Codes:       KERN_INVALID_ADDRESS at 0x0000000000000000
Exception Note:        EXC_CORPSE_NOTIFY

Termination Signal:    Segmentation fault: 11
Termination Reason:    Namespace SIGNAL, Code 0xb
Terminating Process:   exc handler [0]

VM Regions Near 0:
--> 
    __TEXT                 000000010c37b000-000000010c44b000 [  832K] r-x/rwx SM=COW  /Applications/Utilities/Terminal.app/Contents/MacOS/Terminal

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   libsystem_platform.dylib        0x00007fffe5d2cf56 _platform_memmove$VARIANT$Haswell + 182
1   com.apple.Terminal              0x000000010c3b3c4d 0x10c37b000 + 232525
2   com.apple.Terminal              0x000000010c411bb8 0x10c37b000 + 617400
3   com.apple.UIFoundation          0x00007fffe3136b7f -[NSAttributedString(NSAttributedStringUIFoundationAdditions) doubleClickAtIndex:inRange:] + 337
4   com.apple.AppKit                0x00007fffce6c090e -[NSAttributedString(NSAttributedStringDeprecatedKitAdditions) URLAtIndex:effectiveRange:] + 607
5   com.apple.Terminal              0x000000010c41f625 0x10c37b000 + 673317
6   com.apple.Terminal              0x000000010c3eaf81 0x10c37b000 + 458625
7   com.apple.Terminal              0x000000010c3eb1e9 0x10c37b000 + 459241
8   com.apple.Terminal              0x000000010c3f1c1c 0x10c37b000 + 486428
9   com.apple.Foundation            0x00007fffd2058f7f __NSFireTimer + 83
10  com.apple.CoreFoundation        0x00007fffd05cd244 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 20
11  com.apple.CoreFoundation        0x00007fffd05ccecf __CFRunLoopDoTimer + 1071
12  com.apple.CoreFoundation        0x00007fffd05cca2a __CFRunLoopDoTimers + 298
13  com.apple.CoreFoundation        0x00007fffd05c43e1 __CFRunLoopRun + 2065
14  com.apple.CoreFoundation        0x00007fffd05c3974 CFRunLoopRunSpecific + 420
15  com.apple.HIToolbox             0x00007fffcfb4facc RunCurrentEventLoopInMode + 240
16  com.apple.HIToolbox             0x00007fffcfb4f901 ReceiveNextEventCommon + 432
17  com.apple.HIToolbox             0x00007fffcfb4f736 _BlockUntilNextEventMatchingListInModeWithFilter + 71
18  com.apple.AppKit                0x00007fffce0f5ae4 _DPSNextEvent + 1120
19  com.apple.AppKit                0x00007fffce87021f -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 2789
20  com.apple.AppKit                0x00007fffce0ea465 -[NSApplication run] + 926
21  com.apple.AppKit                0x00007fffce0b4d80 NSApplicationMain + 1237
22  libdyld.dylib                   0x00007fffe5b1c255 start + 1

Thread 1:: com.apple.terminal.low-disk-space-handler
0   libsystem_kernel.dylib          0x00007fffe5c4be2a kevent + 10
1   com.apple.Terminal              0x000000010c37d3df 0x10c37b000 + 9183
2   com.apple.Foundation            0x00007fffd1fe8c6d __NSThread__start__ + 1243
3   libsystem_pthread.dylib         0x00007fffe5d33aab _pthread_body + 180
4   libsystem_pthread.dylib         0x00007fffe5d339f7 _pthread_start + 286
5   libsystem_pthread.dylib         0x00007fffe5d331fd thread_start + 13

Thread 2:: com.apple.terminal.sigchld-handler
0   libsystem_kernel.dylib          0x00007fffe5c4c2da read + 10
1   com.apple.Terminal              0x000000010c387e03 0x10c37b000 + 52739
2   com.apple.Foundation            0x00007fffd1fe8c6d __NSThread__start__ + 1243
3   libsystem_pthread.dylib         0x00007fffe5d33aab _pthread_body + 180
4   libsystem_pthread.dylib         0x00007fffe5d339f7 _pthread_start + 286
5   libsystem_pthread.dylib         0x00007fffe5d331fd thread_start + 13

Thread 3:: com.apple.terminal.tty-io
0   libsystem_kernel.dylib          0x00007fffe5c4af4a __select + 10
1   com.apple.Terminal              0x000000010c38961b 0x10c37b000 + 58907
2   com.apple.Foundation            0x00007fffd1fe8c6d __NSThread__start__ + 1243
3   libsystem_pthread.dylib         0x00007fffe5d33aab _pthread_body + 180
4   libsystem_pthread.dylib         0x00007fffe5d339f7 _pthread_start + 286
5   libsystem_pthread.dylib         0x00007fffe5d331fd thread_start + 13

Thread 4:: com.apple.NSEventThread
0   libsystem_kernel.dylib          0x00007fffe5c4338a mach_msg_trap + 10
1   libsystem_kernel.dylib          0x00007fffe5c427d7 mach_msg + 55
2   com.apple.CoreFoundation        0x00007fffd05c4c94 __CFRunLoopServiceMachPort + 212
3   com.apple.CoreFoundation        0x00007fffd05c4121 __CFRunLoopRun + 1361
4   com.apple.CoreFoundation        0x00007fffd05c3974 CFRunLoopRunSpecific + 420
5   com.apple.AppKit                0x00007fffce242f92 _NSEventThread + 205
6   libsystem_pthread.dylib         0x00007fffe5d33aab _pthread_body + 180
7   libsystem_pthread.dylib         0x00007fffe5d339f7 _pthread_start + 286
8   libsystem_pthread.dylib         0x00007fffe5d331fd thread_start + 13

Thread 5:
0   libsystem_pthread.dylib         0x00007fffe5d331e0 start_wqthread + 0
1   ???                             0x6e69740000000000 0 + 7956017760075513856

Thread 6:
0   libsystem_kernel.dylib          0x00007fffe5c4b4e2 __workq_kernreturn + 10
1   libsystem_pthread.dylib         0x00007fffe5d33791 _pthread_wqthread + 1426
2   libsystem_pthread.dylib         0x00007fffe5d331ed start_wqthread + 13

Thread 7:
0   libsystem_pthread.dylib         0x00007fffe5d331e0 start_wqthread + 0
1   ???                             0x000000010c496000 0 + 4501102592

Thread 8:
0   libsystem_kernel.dylib          0x00007fffe5c4b4e2 __workq_kernreturn + 10
1   libsystem_pthread.dylib         0x00007fffe5d335fe _pthread_wqthread + 1023
2   libsystem_pthread.dylib         0x00007fffe5d331ed start_wqthread + 13

Thread 0 crashed with X86 Thread State (64-bit):
  rax: 0x00007fff53881f0e  rbx: 0x000060000067d440  rcx: 0x000000000000ebb5  rdx: 0x0000000000000002
  rdi: 0x00007fff53881f0e  rsi: 0x0000000000000000  rbp: 0x00007fff53881e70  rsp: 0x00007fff53881e70
   r8: 0x0000000000000000   r9: 0x00007fff53881e5c  r10: 0x00007f82dd284c30  r11: 0x00007fff53881f0e
  r12: 0x0000000000000018  r13: 0x0000000000000010  r14: 0x000000000000e22b  r15: 0x000000000003edb0
  rip: 0x00007fffe5d2cf56  rfl: 0x0000000000010246  cr2: 0x0000000000000000

Logical CPU:     0
Error Code:      0x00000004
Trap Number:     14


Binary Images:
       0x10c37b000 -        0x10c44aff7  com.apple.Terminal (2.7.1 - 388) <3C674CD2-E649-3684-883C-A3A0B01DF572> /Applications/Utilities/Terminal.app/Contents/MacOS/Terminal
       0x110305000 -        0x110325fff  com.apple.CoreNLP (1.0 - 78.2) <D7A0704A-C4EB-3225-9F23-A06EC3318238> /System/Library/PrivateFrameworks/CoreNLP.framework/Versions/A/CoreNLP
       0x11039d000 -        0x1103a1fff  com.apple.audio.AppleHDAHALPlugIn (278.56 - 278.56) <BB9CA0DC-D58F-39C4-91C9-79B74666DF31> 
       ......


External Modification Summary:
  Calls made by other processes targeting this process:
    task_for_pid: 29
    thread_create: 0
    thread_set_state: 0
  Calls made by this process:
    task_for_pid: 0
    thread_create: 0
    thread_set_state: 0
  Calls made by all processes on this machine:
    task_for_pid: 78111
    thread_create: 0
    thread_set_state: 0

VM Region Summary:
ReadOnly portion of Libraries: Total=263.0M resident=0K(0%) swapped_out_or_unallocated=263.0M(100%)
Writable regions: Total=167.3M written=0K(0%) resident=0K(0%) swapped_out=0K(0%) unallocated=167.3M(100%)

                                VIRTUAL   REGION 
REGION TYPE                        SIZE    COUNT (non-coalesced) 
===========                     =======  ======= 
Accelerate framework               256K        3 
Activity Tracing                   256K        2 
CG backing stores                 1172K        4 
CG image                           244K       16 
CoreAnimation                       16K        4 
CoreUI image data                  784K        9 
CoreUI image file                  288K        6 
Foundation                          20K        3 
Image IO                           204K        9 
Kernel Alloc Once                    8K        2 
MALLOC                           136.0M       53 
MALLOC guard page                   48K       10 
Memory Tag 242                      12K        2 
STACK GUARD                       56.0M       10 
Stack                             12.1M       10 
VM_ALLOCATE                        104K       16 
__DATA                            23.8M      231 
__GLSLBUILTINS                    2588K        2 
__IMAGE                            528K        2 
__LINKEDIT                       113.5M        9 
__TEXT                           149.6M      234 
__UNICODE                          556K        2 
mapped file                      160.0M       27 
shared memory                     16.4M       14 
===========                     =======  ======= 
TOTAL                            674.2M      656 

Model: MacBookAir7,2, BootROM MBA71.0166.B12, 2 processors, Intel Core i5, 1.6 GHz, 4 GB, SMC 2.27f2
Graphics: Intel HD Graphics 6000, Intel HD Graphics 6000, Built-In
Memory Module: BANK 0/DIMM0, 2 GB, DDR3, 1600 MHz, 0x80AD, 0x483943434E4E4E384A544D4C41522D4E544D
Memory Module: BANK 1/DIMM0, 2 GB, DDR3, 1600 MHz, 0x80AD, 0x483943434E4E4E384A544D4C41522D4E544D
AirPort: spairport_wireless_card_type_airport_extreme (0x14E4, 0x117), Broadcom BCM43xx 1.0 (7.21.171.68.1a4)
Bluetooth: Version 5.0.2f4, 3 services, 17 devices, 1 incoming serial ports
Network Service: Wi-Fi, AirPort, en0
Serial ATA Device: APPLE SSD SM0128G, 121.33 GB
USB Device: USB 3.0 Bus
USB Device: Ultra
USB Device: BRCM20702 Hub
USB Device: Bluetooth USB Host Controller
Thunderbolt Bus: MacBook Air, Apple Inc., 27.2
Könnten Sie zu Testzwecken iTerm installieren und vim durchlaufen lassen und sehen, ob Sie dasselbe Verhalten erhalten?
Ich habe das gleiche Problem (scheinbar willkürliches Bearbeiten verschiedener Dateien mit vim, das Terminal wird unerwartet beendet) seit etwa einer Woche. Mein Berichtsprofil sieht ähnlich aus. Neustarts und das Löschen der Pref-Datei des Terminals ( ~/Library/Preferences/com.apple.Terminal.plist) halfen nicht. Ich war nicht in der Lage, ein Muster für diese Segfaults zu identifizieren, und da ich mich im Terminal hauptsächlich in vim befinde, war ich mir nicht einmal sicher, ob dies vim-spezifisch ist. Obwohl ich bisher nur gesehen habe, wie Terminal beendet wurde, als ich aktiv in vim bearbeitet habe.
Nicht wirklich eine Antwort, aber die Homebrew-Version von vim könnte stabiler sein, da sie mehr Fehlerkorrekturen erhalten hat.
@Deesbek Ich habe iterm2 bereits installiert, aber ich brauche etwas Zeit, um das Absturzverhalten zu überwachen, das von Zeit zu Zeit auftritt.
Ich hatte ein ähnliches Problem, aber das wurde nach dem letzten Update des Terminals behoben. Ich dachte, das wäre nur ich. Haben Sie Terminal in den letzten Tagen aktualisiert?
@fayazmiraz Wie aktualisiere ich das Terminal? Ich habe in der letzten Woche keine Update-Benachrichtigungen erhalten und der App Store sagt mir „Keine Updates verfügbar“.
Im Grunde habe ich nicht genau das Update für die Terminal App bekommen, ich habe das Update für "Command Line Tools" bekommen, das ich mit Xcode verwende. Ich habe keine Ahnung, wie dieses Update zusammen mit dem macOS 10.12.2-Update mein Vim-Problem behoben hat. Ich nutze auch Homebrew. Aber wie gesagt, ich weiß nur, dass es für mich behoben ist, weiß nicht wie (hatte keine Zeit, nachzuforschen).
@Fayaz Sie sollten diesen Kommentar als Antwort posten, wenn das Problem dadurch behoben wurde. Ich verwende iTerm2, konnte es also nicht replizieren.

Antworten (2)

Bei mir versagt es auch zuverlässig. Bei mir passiert es nur, wenn vim mit ssh auf einem Remote-Rechner läuft. Vim scheint der gemeinsame Faktor zu sein.

Laut diesem Google-Gruppen-Thread kann das Problem reproduziert werden, indem dies in eine Datei eingefügt wird:

/goldbaum2-7.bmv already exists; use -y to recreate 
/des_surveyBuildup_11-7.bmv already exists; use -y to recreate 
/lsst_telescope12-22.bmv 1-2660 /fe0/deslsst/telescope/comps/lsst_obj_12-22_comp4k/lsst_obj_12-22_comp4k.%04d.png 
img2bmv -f 30 -p 3 -N 6 -L 42  -t 512x360 -w 4096x2160  -w 3840x2160 -t 480x540  -o /fraid0/movies/ren400My_vars_grids_labels_11-8.bmv 1-2881 /fe0/deslsst/renaissance/comps/ren400My_vars_grids_labels_3840_11-8/ren400My_vars_grids_labels_3840_11-8.%04d.png 
Don't know how to make these movies:  -f 3 

Dann mit vim bearbeiten und die Befehlsfolge ausführen 3jdfo. Das reproduziert das Problem bei mir.

Dies ist eindeutig ein Fehler im Umgang von Terminal.app mit einer von vim generierten Escape-Sequenz. Hoffentlich gibt es im nächsten OSX-Update eine Lösung.

Update: Ich habe auch das Problem mit der Bearbeitung des Befehlszeilenverlaufs zshim vi-Modus gesehen. Eindeutig ein Problem in Terminal.app.

Update 2: Der Testfall lässt Terminal.app nach dem Update 10.12.4 nicht mehr abstürzen. Lösung: Update auf 10.12.4.

Wenn ich Sierra 10.12.3 und Macvim verwende, die über Macports installiert sind, bekomme ich per se keine Abstürze, wenn ich Macvim über die Terminal.app ausführe, aber es ist unglaublich "träge". Insbesondere das Hin- und Herwechseln des Fokus zwischen dem Macvim-Fenster und einem beliebigen Terminal.app-Fenster kann bis zu einer Minute dauern.

Jemand in einem anderen Thread auf nabble behauptete, dass die Abstürze mit vim vermieden werden könnten, indem Terminal.app als etwas anderes als xterm, xterm-16 oder xterm-256 deklariert wird. Das könnte das Absturzproblem beheben, hilft aber nicht bei der Trägheit, die ich erlebe.