Ошибка Phabricator — Attempting to construct a query using a non-utf8 string when utf8 is expected

Заметил однажды в Phabricator, что один из репозиториев постоянно со статусом Importing (99.93%)… А в логах обнаружил следующие ошибки:

Error while executing Task ID 89228. (AphrontCharacterSetQueryException) Attempting to construct a query using a non-utf8 string when utf8 is expected. Use the `%B` conversion to escape binary strings data.
Process exited with error 255.
Waiting 180 second(s) to restart process.

Приведу пример просмотра логов:

./bin/phd log
./bin/phd log --id 642158

Также их можно посмотреть в директории /var/log/phd/.

Посмотрел статус процессов на странице, например https://hg.ixnfo.com/daemon/

Попробовал очистить кэш, но это не помогло, смотрите мою статью:
Phabricator. Очистка кэша

Перезапустил службу phd (это тоже не помогло):

cd /home/phd/phabricator
./bin/phd restart
service phd status

Можно временно включить более детальные логи:

./bin/config set phd.trace true
./bin/config set phd.verbose true
./bin/config set phd.trace false
./bin/config set phd.verbose false

Попробовал вручную запустить импорт репозитория R31:

cd /home/phd/phabricator
./bin/repository reparse --importing --trace R31

./bin/repository --help
./bin/repository list
./bin/repository list-paths

./bin/repository importing R31
R31:bd4323c86bde Change, Publish
R31:f861f1c95994 Change, Publish
R31:aac0378b0f57 Change, Publish

Посмотрев эти коммиты, которые не могут импортироваться, оказалось что файлы имеют кириллические имена, поэтому во время импорта возникает ошибка, так как удалить коммит нельзя, то я просто пометил репозиторий как импортированный:

./bin/repository mark-imported R31

Замечу что ошибка и дальше будет отображаться каждые 5 минут, но зато будут работать процессы, которые ранее не запускались из-за того, что выполнялся импорт репозитория, например один из сотрудников говорил что не срабатывает правило, которое должно мониторить коммиты и дёргать билд-сервер.

Смотрите также мои статьи:
Ротация логов Phabricator
Установка Phabricator в Ubuntu
Настройка Phabricator

Оставьте комментарий

Добавить комментарий

Больше на IT Blog

Оформите подписку, чтобы продолжить чтение и получить доступ к полному архиву.

Continue reading