Ошибки в El Capitan. Today notifications, кнопка share и rootless

в 22:51, , рубрики: apple, bug, notifications, OS X, rootless, share button, today notifications

После обновления до El Capitan единственная проблема, которая возникла, была довольно быстро решена. Я радовался обновлённой операционной системе, однако это длилось не долго. Первое, что я заметил: пропали виджеты в панели уведомлений (Notification Center Widgets in Today View).
Ошибки в El Capitan. Today notifications, кнопка share и rootless - 1

Второе: перестала работать кнопка «поделиться» (Share). В сафари, файндере… везде, где она встречалась. После того, как вы решили, например, поделиться по почте фотографией из Photos, то после этого переставали работать все кнопки в тулбаре это окна. Кроме того: приложение приходилось убивать вручную (quit переставал работать тоже), что бы восстановить его работоспособность. Если с первым я был готов хоть как-то смириться, то мириться с потерей кнопки «поделиться» и радоваться приобретению кнопки «сделай глючное приложение» я был не намерен.

В интернете попадались похожие проблемы: раз, два, три, четыре. Но всё так или иначе не подходило под мою проблему. Во первых: проблемы, в большинстве, касались OX X 10.10, а во вторых: решения типа «перезагрузить компьютер» или сменить UUID пользователя мне сразу казались либо странными, либо они не работали.

Было много всего: был и мозговой штурм, и переустановка чистой ОС, надежды и разочарования… ошибка опять давала о себе знать. Тогда было решено опять пустить в ход тяжёлую артиллерию: system.log ;) Ооо! Сколько я бы сэкономил времени, если бы слушал внутренний голос: «загляни в логи». И не слушал бы другой: «да там чёрт ногу сломит!»

Oct  8 02:31:19 vega kernel[0]: Sandbox: coresymbolicatio(540) System Policy: deny(1) file-write-create /System/Library/Caches/com.apple.coresymbolicationd
Oct  8 02:31:19 vega coresymbolicationd[540]: /System/Library/Caches/com.apple.coresymbolicationd/data does not exist, resetting cache
Oct  8 02:31:19 vega coresymbolicationd[540]: Attempt to create [/System/Library/Caches/com.apple.coresymbolicationd/data] failed. No such file or directory
Oct  8 02:31:19 vega coresymbolicationd[540]: Unable to open storage at /System/Library/Caches/com.apple.coresymbolicationd/data
Oct  8 02:31:19 vega com.apple.xpc.launchd[1] (com.apple.coresymbolicationd): Service only ran for 0 seconds. Pushing respawn out by 10 seconds.

Служба com.apple.coresymbolicationd не может открыть папку /System/Library/Caches/com.apple.coresymbolicationd/data, которая не существует и сама пытается её создать, но получает отлуп. Так почему же служба com.apple.coresymbolicationd, которая, по идее, запущена от имени рута не может создать необходимую папку в /System/Library/Caches/? Потому что, в El Capitan ничто не может модифицировать папку /System. По умолчанию в ОС включен режим «rootless» или по другому: работает System Integrity Protection (SIP), которая не даёт никому, даже руту модифицировать системные файлы.

Выключаем rootless. Перезагружаемся в recovery mode (reboot & Cmd+R). Идём в терминал:


#csrutil disable

Перезагружаемся. Теперь защита снята и com.apple.coresymbolicationd создаст всё, что ей необходимо. После чего заведутся и уведомления и кнопка share.
После чего я вернулся обратно в recovery mode и на всякий случай включил «rootless».


#csrutil enable

Скорее всего, Apple поправит эту ошибку в ближайших обновлениях к OS X. Кроме того, есть файл
/System/Library/Sandbox/rootless.conf, но документации на него я, пока, не нашёл. Если, кто-то разберётся и сможет решить сию проблему используя его, то мне это будет очень любопытно.

Замечу, что после включения «rootless» служба продолжает «гадить» в system.log


Oct 12 01:24:49 vega kernel[0]: Sandbox: coresymbolicatio(6994) System Policy: deny(1) file-write-data /System/Library/Caches/com.apple.coresymbolicationd/data
Oct 12 01:24:49 vega kernel[0]: Sandbox: coresymbolicatio(6994) System Policy: deny(1) file-write-unlink /System/Library/Caches/com.apple.coresymbolicationd/data
Oct 12 01:24:49 vega kernel[0]: Sandbox: coresymbolicatio(6994) System Policy: deny(1) file-write-data /System/Library/Caches/com.apple.coresymbolicationd/data
Oct 12 01:24:49 vega coresymbolicationd[6994]: /System/Library/Caches/com.apple.coresymbolicationd/data did not validate, resetting cache
Oct 12 01:24:49 vega coresymbolicationd[6994]: Attempt to create [/System/Library/Caches/com.apple.coresymbolicationd/data] failed. Operation not permitted
Oct 12 01:24:49 vega coresymbolicationd[6994]: Unable to open storage at /System/Library/Caches/com.apple.coresymbolicationd/data
Oct 12 01:24:49 vega com.apple.xpc.launchd[1] (com.apple.coresymbolicationd): Service only ran for 0 seconds. Pushing respawn out by 10 seconds.

Что несколько настораживает, но тем не менее всё работает.

Напоследок: так и осталось неясным, после чего возникает данная проблема. Мне кажется, что она возникает после установки Xcode. Но опять повторять всё мне не хочется.

Надеюсь эта статья сбережёт кому-то нервы и время.
Желаю всем успешной рабочей недели.
Спасибо за внимание!

Автор: tony_ru

Источник

  1. miky:

    Дружище, реально помог) Благодарю.

  2. Ру:

    Спасибо за статью!
    Сэкономил время, помогло в поездке.

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js