День критических багов в PHP и мелких неудач
День сегодня был очень неудачный. Началось всё с подъёма с телефонного звонка. Из-за этого забыл утром замерить показатели с помощью Welltory. А ещё сразу же возникло ощущение «только встал, уже ничего не успеваю». Отчасти из-за того, что в день изначально попадало слишком много: три события в Tiles Survive, настолки и ещё вечером собирался прийти отец — починить развалившийся диван в большой комнате.
Вышел в Интернет и тут увидел, что в чате IndieWeb обсуждают, что возникли какие-то серьёзные проблемы с PHP. Оказывается, в самом интерпретаторе обнаружилось целых две критических уязвимости, дающих RCE (remote command execution, одни из самых неприятных уязвимостей, позволяющие делать что угодно под тем пользователем, под которым запущен PHP), и вот-вот выйдет обновление, которое их закроет, поэтому нужно срочно обновляться. Но не всё так просто: обновление должно ещё попасть в дистрибутив Debian, на что тоже требуется время. Поэтому пару часов я сидел, тупо выполняя apt update && apt upgrade каждые 15-20 минут.
Из-за этого не поел вовремя, потом пришлось срочно сходить на ПВЗ, и как раз в это время умудрился прийти отец. К счастью, с диваном решили всё быстро, за час с небольшим, но отец стал выносить мозг на тему того, что за диваном тоже надо иногда подметать и пылесосить. За это время как раз появилось обновление PHP. Я установил его и на всякий случай решил перезапустить сервер. Сервер перезагрузился, основной сайт вроде бы доступен, и я уже приготовился было бежать на игры (куда уже опаздывал минут на 40), но тут вдруг мой бот начал сообщать, что все сайты недоступны. Хотя по SSH сервер был доступен. Причина нашлась довольно быстро: не запустился nginx из-за того, что один из сетевых интерфейсов, на котором он должен висеть, — это виртуальный интерфейс yggdrasil, а тот запускался позже самого nginx и не был прописан в зависимостях systemd-unit. После запуска вручную всё заработало как надо.
После этого я зашёл в Tiles Survive и пару раз запустил рейды на Зльва, чтобы набрать нужное количество очков, и поехал на игры. В дороге пропустил ещё одно событие — осаду заражённых. К счастью, там личное присутствие не обязательно, достаточно, чтобы главная ударка в этот момент была в поселении. Но из-за того, что не отправлял остальные отряды в помощь другим игрокам, получил меньше очков, чем мог бы. А вот третье и самое важное событие — защиту центра альянса — пришлось пропустить.
Игры прошли весьма средне. Вроде поиграл нормально, но из-за всей этой беготни был в каком-то сильно расфокусированном состоянии. Да ещё не успел перед играми посидеть на Клавогонках (не знаю, как это работает, но заметил, что после Клавогонок проще сфокусироваться, и голова реально лучше соображает.) В самом конце встречи согласился сыграть в Codenames (который я недолюбливаю). Первый раз мы шли с хорошим отрывом, но нарвались на стоп-слово: Ал.С. загадала «операционное-2», мы с К.Ш. выбрали «больница» и «стол» как самые очевидные варианты, а оказалось, что вместо «стол» Ал.С. имела в виду «блок», а «стол» был как раз стоп-словом. Второй раз, наоборот, начали проигрывать сразу, потом кое-как догнали, но тоже нарвались на стоп-слово. Но тут уже сказалась спешка из-за того, что пытались доиграть до закрытия заведения. А ещё у меня сегодня просто день микротравм какой-то: сначала прищемил палец между столом и стулом, а потом, когда уже собирался домой, ощутимо ударился спиной о выступ стены. Из-за всего этого злился, когда уходил, но спустившись в метро, быстро успокоился.
Ещё снова принёс фотоаппарат и попытался сделать групповые фото. На этот раз результаты оказались вполне приемлемыми, но всё равно, остаётся впечатление, что XQ-2 снимал в таких условиях лучше. И даже мобильник, до того, как я побил на нём камеру, — тоже.
Пока ехал в метро, зашёл в Tiles Survive и закрыл ускорителями уже запущенное исследование, и запустил следующий этап. Только вот обнаружил, что длиться он будет аж 98 дней (предыдущий был всего 23). Такого количества ускорений у меня просто нет, всё, на что можно надеяться — это бафы от альянса. Только их дождаться ещё надо, там очередь почти на неделю. А потом будет ещё третий этап, который, говорят, вообще, 110 дней, и только после этого получится запустить то, ради чего вообще всё это затевалось — исследование 10 уровня войск. А я-то думал, что уж на следующей неделе точно их открою…