Обновил libclang до 3.9.1 и внезапно обнаружил, что youcompleteme больше не работает. Подробности сообщений об ошибке, как всегда, можно только позавидовать:
POST /semantic_completion_available HTTP/1.1
Host: 127.0.0.1:36270
Content-Length: 231
x-ycm-hmac: shutHbEv/Usi+MC3rzkNTxqIuuthtFO870iPBu0YZXs=
Accept-Encoding: gzip, deflate
Accept: */*
User-Agent: python-requests/2.9.1
Connection: keep-alive
content-type: application/json
{"file_data": {"/tmp/1.c": {"filetypes": ["c"], "contents": "struct A {\n int field;\n};\n\nint main()\n{\n struct A a;\n a.\n return 0;\n}\n"}}, "line_num": 8, "filetypes": "c", "column_num": 7, "filepath": "/tmp/1.c"}
HTTP/1.1 500 INTERNAL SERVER ERROR
Content-Length: 80
Content-Type: text/html; charset=UTF-8
Date: Tue, 14 Feb 2017 08:01:07 GMT
Server: waitress
<h1>Critical error while processing request: /semantic_completion_available</h1>
Ну и в логе
2017-02-14 11:04:39,676 - ERROR - Error while handling server response
Traceback (most recent call last):
File "/usr/share/vim/vimfiles/autoload/../python/ycm/client/base_request.py", line 196, in HandleServerException
yield
File "/usr/share/vim/vimfiles/autoload/../python/ycm/client/ycmd_keepalive.py", line 50, in _ThreadMain
BaseRequest.GetDataFromHandler( 'healthy' )
File "/usr/share/vim/vimfiles/autoload/../python/ycm/client/base_request.py", line 74, in GetDataFromHandler
timeout ) )
File "/usr/share/vim/vimfiles/autoload/../python/ycm/client/base_request.py", line 163, in JsonFromFuture
_ValidateResponseObject( response )
File "/usr/share/vim/vimfiles/autoload/../python/ycm/client/base_request.py", line 239, in _ValidateResponseObject
their_hmac = ToBytes( b64decode( response.headers[ _HMAC_HEADER ] ) )
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/requests/requests/structures.py", line 54, in __getitem__
return self._store[key.lower()][1]
KeyError: u'x-ycm-hmac'