Мне удалось решить проблему в моем случае.
После обновления до последней версии SublimeText (3176)plugin_host зависал каждый раз, когда я переключался на вкладку, содержащую файл PHP.*
У меня не было подробностей об ошибке или трассировке стека, поэтому я мог только догадываться.
В моем случае проблема была с PHP-CS (Code Sniffer) расширением SublimeLinter, которое вылетало . Удаление было предотвращением аварии.
Не удалось найти ни одной связанной проблемы в репозитории github, поэтому я предположил, что ошибка была связана с моей локальной конфигурацией, а не с ошибкой в коде.
Я проверил конфигурацию SublimeLinter и увидел, что в phpcs
есть запись, задающая конкретный путь для executable
, а не полагаясь на системную переменную среды PATH , чтобы найти ее.
Я попытался запустить настроенный путь (в моем случае это был /usr/local/opt/php/bin/phpcs) и убедился, что (настроенный) исполняемый файл был одним из аварий (используя echo $?
показал мне код выхода 133).
Поэтому я попытался удалить конфигурацию SublimeLinter относительно phpcs
(чтобы она находилась в конфигурации системы), сохранил, перезапустил Sublime и вуаля, она работала без нареканий, без сбоев plugin_host !
Указанный phpcs
был неправильным, и мне нужно было использовать тот, который был найден в PATH env.
Я полагаю, что либо _plugin_host_, либо SublimeLinter предполагают, что вызываемые исполняемые файлы будут работать правильно, если найдены в их расположении, или что они неправильно обрабатывают состояние выхода из процессов и вызывают больший сбой в некоторой области действия / контексте, где ошибка не перехватывается и трассировка стека не генерируется (следовательно, никакой полезной информации в журнале через консоль).
Возможно, я ошибаюсь в диагнозе, но, возможно, это поможет кому-то другому отследить проблему и выяснить, почему происходят эти сбои вместо того, чтобы перехватить исключение.
В общем, я бы предложил:
- ищите виновника среди плагинов, которые вызывают внешние исполняемые файлы
- убедитесь, что пути указаны правильно, указывая на правильную версию исполняемого файла
- убедитесь, что исполняемый файл действительно работает за пределами Sublime