Иногда приложения выдают нам очень странные сообщения об ошибках и приходится изрядно поломать голову, чтобы понять в чем именно проблема и как ее исправить.
Мы решили, что подобные случаи достойны серии небольших статей под общим названием «Работа над ошибками».
И сегодня у нас подарок от всеми любимой программы git.
В очередной раз сделав git pull на тестовый сервер клиент увидел вот такое сообщение:
fatal: write failure on ‘stdout’: No space left on device
И обратился к нам с просьбой разобраться, почему это он не может на stdout писать
Место на диске и свободных inode было досточно.
Клонирование того же репозитория на этот же сервер в другой каталог проходило без проблем.
Гугление по данной фразе ни к чему не привело.
То что клонирование проходит настойчиво подвигает нас к выводу, что поломалась локальная копия тестового сервера. Начали поиск инструментов для починки git-репозитория, но тут заметили странную вещь:
df -h Filesystem Size Used Avail Use% Mounted on /dev/simfs 535G 364G 144G 72% / none 2.9G 2.9G 0 100% /dev none 583M 1.1M 582M 1% /run none 5.0M 0 5.0M 0% /run/lock none 1.2G 0 1.2G 0% /run/shm none 100M 0 100M 0% /run/user
на разделе /dev занято 100% места. все 2.9G — странно.
заходим в /dev и видим файл /dev/null размером как-раз с эти 2.9 гигабайта.
Видимо кто-то, когда-то удалил устройство /dev/null, а сервисы так и продолжили писать в /dev/null, создав обычный файл и потихоньку забивая место.
Удалили файл, создали устройство, перестартовали сервисы, которые писали в /dev/null — освободилось место на /dev и git pull отработал без проблем и ошибок.
ссылка на оригинал статьи http://habrahabr.ru/post/256001/
Добавить комментарий